The customer recently encountered a ORA-600 kclchkblk_4 error while restoring the database, which has an official explanation and solution on the MOS.
Under the following error message:
The code is as follows |
Copy Code |
Errors in FILE/U01/APP/ORACLE/ADMIN/ORCL/BDUMP/ORCL_SMON_7493.TRC: Ora-600:internal error code, arguments: [Kclchkblk_4], [1904],[18446744073431179384], [1904],18446744073403569507], [ ], [], [] Starting background Process QMNC QMNC started with pid=24, OS id=8329 Errors in FILE/U01/APP/ORACLE/ADMIN/ORCL/BDUMP/ORCL_SMON_7493.TRC: Ora-600:internal error code, arguments: [2662], [1904], [3988985522],[1904], [4016595064], [8388610], [], [] Errors in FILE/U01/APP/ORACLE/ADMIN/ORCL/BDUMP/ORCL_SMON_7493.TRC: Ora-600:internal error code, arguments: [2662], [1904], [3988985525],[1904], [4016595064], [8388610], [], [] Smon:terminating instance due to error 474 Instance terminated by Smon, PID = 7493 |
The problem may be caused by the SCN problem in the temporary tablespace, you can try to delete all the temporary files, start the database, and usually start normally.
The possible steps are to identify and delete temporary files in the Mount state:
The code is as follows |
Copy Code |
Sql>select file_name, file_id from Dba_temp_files; Sql>alter database Tempfile_name drop; Sql>alter tablespace add tempfile size N; |
If the database can be successfully started, you can rebuild the temporary file.
Problem Description:
The server crashed unexpectedly, causing the database to fail to drive, and the redo current group was corrupted. Oracle 10g RAC Environment, ASM Disk Group, Redhat Linux system. A member of each group this is the key that the group is destroyed and cannot be repaired.
No archive, no backup. Using ASM, data files cannot be cold backed up.
The code is as follows |
Copy Code |
Ora-00368:checksum Error in redo log block Ora-00353:log corruption near block 254606 change 12131176305969 time 03/08/2011 01:03:00 Ora-00312:online Log 2 thread 1: ' +dg1/police/onlinelog/group_2.258.657430669 '
|
View the log group file information, and the error log group is current mode.
The code is as follows |
Copy Code |
Sql> select Group#,sequence#,archived,status from V$log; group# sequence# ARC STATUS ---------- ---------- --- ---------------- 1 17495 NO INACTIVE 2 17496 NO Current 3 17365 NO INACTIVE 4 17366 NO Current
|
There is only one member of the group.
The code is as follows |
Copy Code |
Sql> Group Instance member STATUS Size (MB) ---------- ---------- ------------------------------ ---------------- ---------- 1 1 +dg1/police/onlinelog/group_1. INACTIVE 500 257.657430665 2 1 +dg1/police/onlinelog/group_2. Current 500 258.657430669 3 2 +dg1/police/onlinelog/group_3. INACTIVE 500 265.657431819 4 2 +dg1/police/onlinelog/group_4. Current 500 266.657431825
|
Cannot use clear command to clearly redo information
The code is as follows |
Copy Code |
Sql> ALTER DATABASE Clear unarchived logfile Group 2 2; ALTER DATABASE clear unarchived logfile Group 2 * ERROR at line 1: Ora-01624:log 2 needed for crash recovery of Instance Police1 (thread 1) Ora-00312:online Log 2 thread 1: ' +dg1/police/onlinelog/group_2.258.657430669 ' Sql> ALTER DATABASE clear logfile Group 2; ALTER DATABASE clear logfile Group 2 * ERROR at line 1: Ora-01624:log 2 needed for crash recovery of Instance Police1 (thread 1) Ora-00312:online Log 2 thread 1: ' +dg1/police/onlinelog/group_2.258.657430669 ' |
Processing steps
Put the database down.
The code is as follows |
Copy Code |
Sql>shutdown Immediate
|
5, add the following parameters in the Init<sid>.ora
The code is as follows |
Copy Code |
_allow_resetlogs_corruption=true |
6, restart the database, using until cancel recovery
Sql>recover database until cancel;
Cancel
If you make a mistake, stop ignoring it and send out
The code is as follows |
Copy Code |
Sql>alter database open resetlogs; |
If you're lucky you can start the database normally, you can export the data. But it's a bit of an accident. I don't know if it's a little back or a RAC environment is very special to restore. There are the following errors in the Alert.log:
The code is as follows |
Copy Code |
Errors in FILE/U01/APP/ORACLE/ADMIN/POLICE/BDUMP/POLICE2_J003_17720.TRC: Ora-00600:internal error code, arguments: [4194], [9], [8], [], [], [], [], [] Wed Mar 9 18:08:06 2011 Errors in FILE/U01/APP/ORACLE/ADMIN/POLICE/BDUMP/POLICE2_J004_17722.TRC: Ora-00600:internal error code, arguments: [4193], [55749], [55753], [], [], [], [], [] Wed Mar 9 18:08:08 2011 Errors in FILE/U01/APP/ORACLE/ADMIN/POLICE/BDUMP/POLICE2_MMON_11328.TRC: Ora-00600:internal error code, arguments: [4194], [12], [17], [], [], [], [], [] Wed Mar 9 18:08:08 2011 Errors in FILE/U01/APP/ORACLE/ADMIN/POLICE/BDUMP/POLICE2_J002_17718.TRC: Ora-00600:internal error code, arguments: [Kcbz_check_objd_typ_3], [0], [0], [1], [], [], [], []
|