Incomplete recovery failed - ORA-00279 [message #464487] |
Thu, 08 July 2010 03:22 |
chetanaZ
Messages: 132 Registered: October 2009 Location: UK
|
Senior Member |
|
|
Hi,
we have database db1 on Server1 and database db2 on Server2
db1 is live system database and db2 is test database
we refresh db2 database from db1 database using rman backup recovery method
backup location of db1 is /u05/oradata/backup and archivelog location is /u05/oradata/archive on Server1
we have mapped these locations on Server2 such that db2 can be restored and recovered from db1 backup and archivelogs
thus many times while archivelogs are generated on db1, simultaneously those are recovered to refresh db2 using shared location
Here I am referring database on Server2 as db2 for reference purpose only in fact it has the same name(& intasnce id) i.e. db1 and thus making above restore and recovery easy
I am trying to find actual reason for the following error I got during recovery of db2
full database backup of db1 started at 21:30 of 06/07/10 and completed at 03:00 of 07/07/10
which I started restoring for db2 from 03:30 (of 07/07) and completed the restore at 05:30
now I started recovering db2 from archivelogs of db1 which were being generated simultaneously
at 05:35 (07/07/10) I issued the following command (to apply archivelog from 21:30 of 06/06)
SQL> RECOVER automatic DATABASE until time '2010-07-07:06:00:00' USING BACKUP CONTROLFILE;
at 07:30 the position of archivelogs was as following
-rw-r----- 1 oracle dba 121838592 Jul 7 03:03 DB1_0003_0000044533.arc
-rw-r----- 1 oracle dba 152358912 Jul 7 03:03 DB1_0004_0000048564.arc
-rw-r----- 1 oracle dba 171919360 Jul 7 03:03 DB1_0002_0000044620.arc
-rw-r----- 1 oracle dba 209714176 Jul 7 05:05 DB1_0004_0000048565.arc
-rw-r----- 1 oracle dba 40004608 Jul 7 05:29 DB1_0001_0000038446.arc
-rw-r----- 1 oracle dba 209714176 Jul 7 05:30 DB1_0004_0000048566.arc
-rw-r----- 1 oracle dba 209714176 Jul 7 07:02 DB1_0003_0000044534.arc
-rw-r----- 1 oracle dba 184211456 Jul 7 07:06 DB1_0002_0000044621.arc
-rw-r----- 1 oracle dba 209714176 Jul 7 07:06 DB1_0003_0000044535.arc
and at 07:30 the recovery failed producing following error
ORA-00279: change 5824279595799 generated at 07/07/2010 05:29:46 needed for
thread 4
ORA-00289: suggestion : /u05/oradata/archive/DB1_0004_0000048567.arc
ORA-00280: change 5824279595799 for thread 4 is in sequence #48567
ORA-00278: log file '/u05/oradata/archive/DB1_0004_0000048567.arc' no
longer needed for this recovery
ORA-00308: cannot open archived log
'/u05/oradata/archive/DB1_0004_0000048567.arc'
ORA-27037: unable to obtain file status
HPUX-ia64 Error: 2: No such file or directory
Additional information: 3
Is the recovery process looking to apply all changes between 05:29 till 06:00 for thread 4 which are not available in 'DB1_0004_0000048566.arc'?
Or it is the checkpoint information which was available in archivelog of thread 1,2,3 but not in thread 4?
Many times I have seen that even though archivelogs generation time is before recovery time for some threads the incomplete recovery went successful
for ex.
if I issue command like following (to refresh db2 from db1)
SQL> RECOVER automatic DATABASE until time '2010-05-07:05:00:00' USING BACKUP CONTROLFILE;
and last archivelog position is as following
-rw-r----- 1 oracle dba 121838592 Jul 5 03:03 DB1_0003_0000044533.arc
-rw-r----- 1 oracle dba 171919360 Jul 5 03:03 DB1_0002_0000044620.arc
-rw-r----- 1 oracle dba 209714176 Jul 5 05:05 DB1_0004_0000048565.arc
-rw-r----- 1 oracle dba 40004608 Jul 5 05:29 DB1_0001_0000038446.arc
still recovey was successful in similar cases
So what is the difference in the case I have described which is producing an error?
Thanks and Regards,
Chetana
|
|
|
|
Re: Incomplete recovery failed - ORA-00279 [message #464556 is a reply to message #464549] |
Thu, 08 July 2010 06:39 |
chetanaZ
Messages: 132 Registered: October 2009 Location: UK
|
Senior Member |
|
|
Many Thanks Mahesh
So considering both the examples in my post
RECOVER automatic DATABASE until time '2010-07-07:06:00:00' USING BACKUP CONTROLFILE;
and
RECOVER automatic DATABASE until time '2010-05-07:05:00:00' USING BACKUP CONTROLFILE;
can we say that sometimes the information may be available with the archivelogs generated prior to actual timestamp mentioned in the recovery and sometimes not?
Also suppose if I were to start the recovery at 09:00 for "until time '2010-07-07:06:00:00'", was there any chance that i would have found out if DB1_0004_0000048567.arc was be required for such recovery?
Lastly what would have happned if I would have issued 'cancel' option after i got the error?
Anyway database needed DB1_0004_0000048567.arc file to recover / sync the database. So how 'cancel' would have maintained integrity of the database while the archive log file is missing?
Please help me understand this
I hope I am not clubbing ny questions here
Thanks and Regards,
Chetana
|
|
|