Hi,

I've problem with doing change based incomplete recovery,can anyone explain me how to do it.

In my database,these are all the things i did after connected as sys,

SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM
1 1 0 104857600 1 YES UNUSED 0
2 1 0 104857600 1 YES UNUSED 0
3 1 1 104857600 1 NO CURRENT 450829 17-MAR-06


SQL> select * from emp;
ID
9
SQL> alter system switch logfile;
System altered.

SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM
1 1 2 104857600 1 NO CURRENT 472676 28-MAR-06
2 1 0 104857600 1 YES UNUSED 0
3 1 1 104857600 1 YES ACTIVE 450829 17-MAR-06


SQL>insert into emp values(10);

SQL> commit

SQL> select * from emp;

ID
----------
9
10

SQL>shutdown

Then,i restarted the database to do incomplete recovery such that the newly inserted row shouldn't be there,

SQL>startup mount

SQL> recover database until change 472676;
Media recovery complete.
SQL> alter database open resetlogs;

Database altered.

SQL> select * from emp;

ID
----------
9
10


But the newly inserted row(10) still exists.

My questions,

1) What is wrong with my way of doing change based incomplete recovery?

2) What I've to do such that newly inserted row shouldn't be there?


Please anyone help me to get out of this problem