现象:
The database will not startup, and gives errors like:
ORA-38737: Expected sequence number 2483 doesn't match 2304
ORA-38701: Flashback database log 143 seq 2483 thread 1:
These errors can be seen in the Alert.log file.
Note, you may also see ORA-38760, This database instance failed to turn on flashback database.
原因:
$ oerr ora 38737
38737, 00000, "Expected sequence number %s doesn't match %s"
// *Cause: The flashback database log is corrupted or is an old version.
// *Action: If you are doing a FLASHBACK DATABASE, then the flashback
// cannot be performed because of the corrupted log. A restore
// and an incomplete recovery must be performed instead.
$ oerr ora 38701
38701, 00000, "Flashback database log %s seq %s thread %s: \"%s\""
// *Cause: This message reports the filename for details of another message.
// *Action: Other messages will accompany this message. See the associated
// messages for the appropriate action to take.
These errors prevent the database from starting up because, at some point prior, we were not able to write to the flashback area.
Review the alert.log file prior to these errors on startup. You may see other information indicating an issue writing to the flashback area. For example, you may see something like:
ORA-38701: Flashback database log 36 seq 2305 thread 1.....
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) The system cannot find the file specified.
处理方法:
To get the database open, temporarily disable flashback database like:
-- 1. Mount the database:
SQL> startup mount;
-- 2. Turn off flashback.
SQL> alter database flashback off;
-- 3. Open the database:
SQL> alter database open;
-- 4. Shutdown
SQL> Shutdown immediate;
-- 5. Mount the database:
SQL> Startup mount;
-- 6. Turn flashback back on:
SQL> alter database flashback on;
-- 7. Open the database:
SQL> alter database open;
|