ORA-07445错误解决一例
测试人员反映说在一台测试库上跑SQL报错了(具体的SQL这里就不说了,总之是很复杂的一个SQL,有9百多行。),错误是:ORA-03113: e
测试人员反映说在一台测试库上跑SQL报错了(具体的SQL这里就不说了,总之是很复杂的一个SQL,有9百多行。),错误是:
ORA-03113: end-of-file on communication channel
一开始怀疑是不是SQL过于复杂,库不堪重负挂掉了,我们的测试库机器都不怎么好,而且很多都是虚机,而且是一个物理机上跑十几个虚机的那种。。。所以没有理由不怀疑库挂掉的可能性。
连接服务器查看,数据库跑的好好的,监听也正常,没报任何错误。好吧,接下来查看alert log,有错误了:
ORA-07445: exception encountered: core dump [kkqudhus()+756] [SIGSEGV] [Address not mapped to object] [0x000000068] [] []
7445的错误,原因也挺多的,坏块、内存错误、还有Oracle本身的BUG。而且BUG的可能性很大。Oracle也提供了ORA-600/ORA-7445/ORA-700 Error Look-up Tool,这是个很好的工具,输入第一个错误码,系统就会帮你去查找相关的文档:
果不其然,,错误是由Oracle的BUG(BUG:4664788)引起的,同时Oracle提供了两种解决方案:
1、修该隐藏参数_optimizer_cbqt_no_size_restriction为false
2、应用相关补丁。
由于测试人员说有点急,而且也只是测试库,所以这里采用了第一种修改隐藏参数的方法。查看当前隐藏参数的信息:
SQL> select x.ksppinm name,
y.ksppstvl value,
y.ksppstdf isdefault,
decode(bitand(y.ksppstvf, 7),
1,
\'MODIFIED\',
4,
\'SYSTEM_MOD\',
\'FALSE\') ismod,
decode(bitand(y.ksppstvf, 2), 2, \'TRUE\', \'FALSE\') isadj
from sys.x$ksppi x, sys.x$ksppcv y
where x.inst_id = userenv(\'Instance\')
and y.inst_id = userenv(\'Instance\')
and x.indx = y.indx
and x.ksppinm like \'%_optimizer_cbqt_no_size_restriction%\'
order by translate(x.ksppinm, \' _\', \' \');
NAME
--------------------------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
ISDEFAULT ISMOD ISADJ
--------- ---------- -----
_optimizer_cbqt_no_size_restriction
TRUE
TRUE FALSE FALSE
修改隐藏参数:
SQL> alter system set \"_optimizer_cbqt_no_size_restriction\"=false scope=both;
System altered.
让测试人员重新跑SQL,这次正常执行了。至此问题解决。
上一篇: Tiny Tiny RSS–Google Reader的替代
下一篇: Smarty前端模板引擎
推荐阅读
-
ORA-07445错误解决一例
-
PHP正则的Unknown Modifier错误解决方法
-
pyinstaller打包错误解决:gensim错误,ImportError: DLL load failed: 找不到指定的模块。
-
php Notice: Undefined index 错误提示解决方法
-
访问编码后的中文URL返回404错误的解决方法_PHP
-
ORA-27090 错误解决实例
-
系统提示“内存不能为read 内存读写错误"的解决办法
-
ORA-12853和ORA-04031 large pool 不足错误解决
-
php提示PHP Warning: date(): It is not safe to rely on the......错误的解决办法
-
phpMyAdmin链接MySql错误 个人解决方案_PHP教程