今天是2013-03-24,在晚上打牌的时候,突然有个哥们“重庆-M*Red”遇到了这么一个oracle错误,自己想了一下解决方案,然后又百度了一下,发现差别不是很大。贴出来看一下。
alert日志内容如下:
Sun Mar 24 19:47:11 2013
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)
(PROTOCOL=TCP))'...
starting up 1 shared server(s) ...
Sun Mar 24 19:47:12 2013
ALTER DATABASE MOUNT
Sun Mar 24 19:47:16 2013
Setting recovery target incarnation to 3
Sun Mar 24 19:47:16 2013
Errors in file c:\oracle\product\10.2.0\admin\his\udump\his_ora_3904.trc:
ORA-00600: ??????, ??: [kccpb_sanity_check_2], [494207], [493984], [0x0], [],
starting up 1 shared server(s) ...
Sun Mar 24 19:47:12 2013
ALTER DATABASE MOUNT
Sun Mar 24 19:47:16 2013
Setting recovery target incarnation to 3
Sun Mar 24 19:47:16 2013
Errors in file c:\oracle\product\10.2.0\admin\his\udump\his_ora_3904.trc:
ORA-00600: ??????, ??: [kccpb_sanity_check_2], [494207], [493984], [0x0], [],
[], [], []
ORA-600 signalled during: ALTER DATABASE MOUNT...
Sun Mar 24 19:47:45 2013
ALTER DATABASE RECOVER database
Sun Mar 24 19:47:45 2013
ORA-1507 signalled during: ALTER DATABASE RECOVER database ...
Sun Mar 24 19:49:26 2013
alter database open
case:
[kccpb_sanity_check_2] indicates that the seq# of the last read block is
Sun Mar 24 19:47:45 2013
ALTER DATABASE RECOVER database
Sun Mar 24 19:47:45 2013
ORA-1507 signalled during: ALTER DATABASE RECOVER database ...
Sun Mar 24 19:49:26 2013
alter database open
case:
[kccpb_sanity_check_2] indicates that the seq# of the last read block is
higher than the seq# of the control file header block. This is indication of
the lost write of the header block during commit of the previous cf
transaction.
Solution
1) restore a backup of a controlfile and recover
1) restore a backup of a controlfile and recover
OR
2) recreate the controlfile
OR
3) restore the database from last good backup and recover