环境
数据库版本: 10.2.0.4
操作系统版本:LINUX 5.2
现象
数据库实例宕机,alert中发现有下面报错,手动启来数据库后,过一会数据库又挂了
ORA-07445: exception encountered: core dump [kghstack_err()+119] [SIGSEGV] [Address not mapped to object] [0xFFFFFF071E440ACC] [] []
ORA-00607: Internal error occurred while making a change to a data block
ORA-00602: internal programming exception
ORA-07445: exception encountered: core dump [kghstack_err()+119] [SIGSEGV] [Address not mapped to object] [0xFFFFFF071E440ACC] [] []
ORA-00607: Internal error occurred while making a change to a data block
ORA-00602: internal programming exception
ORA-07445: exception encountered: core dump [kghstack_err()+119] [SIGSEGV] [Address not mapped to object] [0xFFFFFF071E440ACC] [] []
ORA-00600: internal error code, arguments: [kghstack_free2], [], [], [], [], [], [], []
Wed Dec 7 20:18:43 2011
Doing block recovery for file 89 block 593641
Doing block recovery for file 89 block 593641
Doing block recovery for file 89 block 593641
Doing block recovery for file 89 block 593641
Wed Dec 7 20:18:43 2011
Errors in file /opt/oracle/software/oracle/admin/o46g1/bdump/o46g1_p009_10994.trc:
ORA-10388: parallel query server interrupt (failure)
Doing block recovery for file 89 block 593641
ORA-00602: internal programming exception
ORA-07445: exception encountered: core dump [kghstack_err()+119] [SIGSEGV] [Address not mapped to object] [0xFFFFFF071E440ACC] [] []
ORA-00607: Internal error occurred while making a change to a data block
ORA-00602: internal programming exception
ORA-07445: exception encountered: core dump [kghstack_err()+119] [SIGSEGV] [Address not mapped to object] [0xFFFFFF071E440ACC] [] []
ORA-00600: internal error code, arguments: [kghstack_free2], [], [], [], [], [], [], []
Wed Dec 7 20:18:43 2011
Doing block recovery for file 89 block 593641
Doing block recovery for file 89 block 593641
Doing block recovery for file 89 block 593641
Doing block recovery for file 89 block 593641
Wed Dec 7 20:18:43 2011
Errors in file /opt/oracle/software/oracle/admin/o46g1/bdump/o46g1_p009_10994.trc:
ORA-10388: parallel query server interrupt (failure)
Doing block recovery for file 89 block 593641
Doing block recovery for file 89 block 593641
Doing block recovery for file 89 block 593641
Doing block recovery for file 89 block 593641
解决方案
经分析为数据库中存在坏块,这个坏块引起oracle BUG 8223165 -,这个bug会导致整个数据库实例启来之后又挂掉,目前oracle没有提供这个bug的10.2.0.4的下载补丁,我们暂时把这个数据文件offline掉,经确认这个用户暂时不用,后续再进行修复
SQL> select name from v$datafile where file#=89;
NAME
--------------------------------------------------------------------------------------------------------------------------
/oradata/o46g1/aaaaa_tbs01.dbf
把数据文件offline
SQL> alter database datafile 89 offline drop;
Database altered.
打开数据库
SQL> alter database open;
Database altered.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21605631/viewspace-712899/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21605631/viewspace-712899/