Today a user and we contact, database problems, so remote guidance to the other party, found errors for ora-00600. The solution is as follows.
Http://space.itpub.net/8102208/viewspace-442899
The reason may be caused by an illegal shutdown or power failure. The following are the problems and solutions:
C: \ Documents ents and Settings \ Administrator> sqlplus
SQL * Plus: Release 9.2.0.1.0-production on Sunday May 13 09:23:23 2007
Copyright (c) 1982,200 2, oraclecorporation. All rights reserved.
Enter the username:/As sysdba
Connect:
Oracle9i Enterprise Edition Release 9.2.0.1.0-Production
With the partitioning, OLAP and Oracle Data Mining options
Jserver release 9.2.0.1.0-Production
SQL> startup
ORA-01081: unable to start Oracle that is already running --- Close first
SQL> shutdown abort
The Oracle routine has been disabled.
SQL> startup
The Oracle routine has been started.
Total system global area 135338868 bytes
Fixed size 453492 bytes
Variable Size 109051904 bytes
Database buffers 25165824 bytes
Redo buffers 667648 bytes
The database has been loaded.
ORA-00600: Internal errorCode, Parameter: [kcratr1_lostwrt], [], [], [], [], [], [], []
SQL> shutdown immediate
ORA-01109:DatabaseNot opened
The database has been detached.
The Oracle routine has been disabled.
SQL> startup Mount
The Oracle routine has been started.
Total system global area 135338868 bytes
Fixed size 453492 bytes
Variable Size 109051904 bytes
Database buffers 25165824 bytes
Redo buffers 667648 bytes
The database has been loaded.
SQL> recover database;
Media recovery is completed.
SQL> alter database open;
The database has been changed.
SQL> exit;
---------------------------------------------------------
The cause of the problem is described as follows:
Post address: http://www.eygle.com/archives/2010/05/ora-00600_kcratr1_lostwrt.html
A customer's database failed to start because of the ORA-600 kcratr1_lostwrt error.
The error message is similar:
Ksedmp: internal or fatal error
ORA-00600: Internal error code, arguments: [kcratr1_lostwrt], [], [], [], [], [], [], [], []
Current SQL statement for this session:
Alter database open
This error is not difficult to solve, but the specific cause is a bit interesting.
Metalink has only one key explanation for this error:
When an instance is restarted following an instance crash, Oracle carries out some checks against the last block that was written to disk prior to the instance crash.
If Oracle finds an old block, then this suggests a lost write and the error is raised.
This statement means that when the instance is started after the crash, Oracle will check the last data block written before the crash and check whether it is consistent through the control file. If the block is old, the Final write operation is lost.
This is a very quick and clever judgment. If there is a write loss, it is necessary to introduce restoration.
Detailed information is recorded in the trace file:
Last bwr afn: 6 rdba: 0x18f9590 (BLK 1021328) Ver: 0x0001.5c21fd6e. 01 flg: 0x04
Disk version: 0x0001.5c1ec4f0. 04 flag: 0x04
Note: The last data block written to the control file is file6 block 1021328, the SCN version is 5c21fd6e, And the SCN recorded on the data file is 5c1ec4f0, the latter is old, less than the former, which indicates that the write operation is lost.
Can it be restored? The following information is also recorded in the trace file:
Thread checkpoint RBA: 0x00dfeb. 00000002.0010 SCN: 0x0001.5c1ee5b7
On-disk RBA: 0x00dfeb. 0001_1f. 0000 SCN: 0x0001.5c2266d6
The SCN of the thread checkpoint is 5c1ee5b7, And the SCN of on-disk RBA is 5c2266d6, which can be deduced to exceed 5c21fd6e and can be recovered.
So the problem is:
SQL> startup Mount;
SQL> recover database;
SQL> alter database open;
Generally, the recovery can be completed. if, unfortunately, your on-disk RBA is insufficient to restore the lost write operation, the problem will be serious.