联系:手机/微信(+86 17813235971) QQ(107644445)
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
oracle 12c数据库启动报ORA-600 2131错误
Mon Nov 26 09:43:57 2018 starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'... starting up 1 shared server(s) ... ORACLE_BASE from environment = D:\app\Administrator alter database mount exclusive Mon Nov 26 09:44:00 2018 Using default pga_aggregate_limit of 2048 MB Errors in file D:\APP\ADMINISTRATOR\diag\rdbms\orcl12c\orcl12c\trace\orcl12c_ora_3040.trc (incident=375524): ORA-00600: ??????, ??: [2131], [9], [8], [], [], [], [], [], [], [], [], [] Incident details in: D:\APP\ADMINISTRATOR\diag\rdbms\orcl12c\orcl12c\incident\incdir_375524\orcl12c_ora_3040_i375524.trc Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. ORA-600 signalled during: alter database mount exclusive...
这个日志比较明显,数据库无法mount,在mount操作的时候报ORA-600 2131错误.
trace文件报错
Error: kccpb_sanity_check_2 Control file sequence number mismatch! fhcsq: 497844 bhcsq: 497849 cfn 0 rpbn 16 ----- Call Stack Trace ----- calling call entry argument values in hex location type point (? means dubious value) -------------------- -------- -------------------- ---------------------------- ksedst1()+92 CALL??? skdstdst() 000000001 000004000 000030000 016301338 kccpb_sanity_check( CALL??? ksedst1() 1492761E0 0000798B4 0000798B9 )+834 000000000 kccbmp_get()+275 CALL??? kccpb_sanity_check( 000000000 000000000 000000000 ) 000004000 kccsed_rbl()+174 CALL??? kccbmp_get() 000017E28 015A67E14 015592200 000000001 kccocx()+1399 CALL??? kccsed_rbl() 100000010 100000001 0000354D8 000035508 kccocf()+167 CALL??? kccocx()+528 016303990 000000000 7FF00000001 000000000 kcfcmb()+1254 CALL??? kccocf() 000000000 000000000 000000000 000000000 kcfmdb()+69 CALL??? kcfcmb() 000000000 7FF59FFF856 000000007 7FE00000000 adbdrv_options()+43 CALL??? kcfmdb() 0163083E0 14903FF2C 000000005 724 000000000 adbdrv()+149 CALL??? adbdrv_options() 000000000 000000000 0163084A0 851F2CC90B75 opiexe()+22668 CALL??? adbdrv() 7FF00000023 000000003 000000000 016309380 opiosq0()+6009 CALL??? opiexe() 000000000 000000000 016309990 000000000 kpooprx()+410 CALL??? opiosq0() 000000003 000000000 000000000 0000000A4 kpoal8()+994 CALL??? kpooprx() 0146A57FC 000000001 0146A5820 000000001 opiodr()+1601 CALL??? kpoal8() 000000000 015523288 015523270 0159FCDD0 ttcpip()+1223 CALL??? opiodr() 7FE0000005E 00000001F 01630DA20 7FE00000000 opitsk()+2160 CALL??? ttcpip() 0146C0690 000000000 000000000 000000000 opiino()+1079 CALL??? opitsk() 000000007 000000000 01630F200 01630E970 opiodr()+1601 CALL??? opiino() 00000003C 000000000 01630F470 000000000 opidrv()+842 CALL??? opiodr() 00000003C 000000004 01630F470 000000000 sou2o()+94 CALL??? opidrv()+156 10000003C 7FE00000004 01630F470 0154E6A30 opimai_real()+276 CALL??? sou2o() 1D4851F4C467583 00A9D55E0 8001A000B07E2 1004B0039001E opimai()+170 CALL??? opimai_real() 000000000 851F2CB1B179 00A9D55E0 01630F628 OracleThreadStart() CALL??? opimai() 000000000 149031F90 000000050 +713 0000005C8 00000000775259CD CALL??? OracleThreadStart() 000000000 000000000 000000000 000000000 000000007765A561 CALL??? 00000000775259C0 000000000 000000000 000000000 000000000 --------------------- Binary Stack Dump ---------------------
这个错误和以往版本中的kccpb_sanity_check_2比较类似,由于数据库异常关闭导致ctl写丢失导致
ORA-600 2131/kccpb_sanity_check_2解释
DESCRIPTION: This internal error is raised when the sequence number (seq#) of the current block of the controlfile is greater than the seq# in the controlfile header. The header value should always be equal to, or greater than the value held in the control file block(s). This extra check was introduced in Oracle 10gR2 to detect lost writes or stale reads to the header. ARGUMENTS: Arg [a] seq# in control block header. Arg [b] seq# in the control file header. Arg FUNCTIONALITY: Kernel Cache layer Control file component.