ORA-07445错误修正
来源:互联网 发布:php修改上传文件大小 编辑:程序博客网 时间:2024/05/18 09:08
今天早上,在客户现场接到一个请求,说日常使用的一个功能无法使用,界面上报错:
处理SQL出错
java.sql.SQLException: 无法从套接字读取更多的数据
把相应的sql语句拿出来看了下,是个insert...select语句,把这个语句放到sqlplus客户端执行报错:
ORA-03113:通信通道的文件结束
ORA-02114:未连接到ORACLE
觉得非常诡异,看这个语句没什么特殊的,虽然写的不怎么样还N长,直觉后台发生了其他情况,语句去看了alert日志,果然:
Fri Feb 25 12:53:11 2011
Errors in file /oracle/admin/CRMII/udump/crmii_ora_11278.trc:
ORA-07445: 出现异常错误: 核心转储 [kkfies()+99] [SIGSEGV] [Address not mapped to object] [0x000000004] [] []
再去检查相关的trace文件,截取如下:
/oracle/admin/CRMII/udump/crmii_ora_11278.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
ORACLE_HOME = /oracle/ora10g
System name: Linux
Node name: crmdb2
Release: 2.6.9-55.ELlargesmp
Version: #1 SMP Fri Apr 20 16:46:56 EDT 2007
Machine: x86_64
Instance name: CRMII
Redo thread mounted by this instance: 1
Oracle process number: 30
Unix process pid: 11278, image: oracleCRMII@crmdb2
*** ACTION NAME:(SQL 窗口 - Insert Into Tkhqkh (I) 2011-02-25 12:53:11.334
*** MODULE NAME:(PL/SQL Developer) 2011-02-25 12:53:11.334
*** SERVICE NAME:(CRMII) 2011-02-25 12:53:11.334
*** SESSION ID:(1569.9051) 2011-02-25 12:53:11.334
Exception signal: 11 (SIGSEGV), code: 1 (Address not mapped to object), addr: 0x4, PC: [0x2179077, kkfies()+99]
*** 2011-02-25 12:53:11.341
ksedmp: internal or fatal error
ORA-07445: 出现异常错误: 核心转储 [kkfies()+99] [SIGSEGV] [Address not mapped to object] [0x000000004] [] []
Current SQL statement for this session:
Insert Into Tkhqkh
(Id, Khq, Tjfs, Tjr, Tjrq, Khh)
Select Func_Nextid('tKHQKH'),
7204,
1,
3123,
。。。
。。。
。。。
----- Call Stack Trace -----
这个ORA-07445才是真正的内鬼,这个错误号和ORA-00600一样,应该是有bug。
于是上google搜索相关信息,都没有找到有效的解决办法,询问dba,告知修改_optimizer_cost_based_transformation为off,这是个隐含参数,检查下这个参数:
SQL> conn /as sysdba
Connected.
SQL> set linesize 132
SQL> column name format a30
SQL> column value format a25
SQL> select
2 x.ksppinm name,
3 y.ksppstvl value,
4 y.ksppstdf isdefault,
5 decode(bitand(y.ksppstvf,7),1,'MODIFIED',4,'SYSTEM_MOD','FALSE') ismod,
6 decode(bitand(y.ksppstvf,2),2,'TRUE','FALSE') isadj
7 from
8 sys.x$ksppi x,
9 sys.x$ksppcv y
10 where
11 x.inst_id = userenv('Instance') and
12 y.inst_id = userenv('Instance') and
13 x.indx = y.indx and
14 x.ksppinm like '%_&par%'
15 order by
16 translate(x.ksppinm, ' _', ' ')
17 /
Enter value for par: optimizer_cost_based_transformation
old 14: x.ksppinm like '%_&par%'
new 14: x.ksppinm like '%_optimizer_cost_based_transformation%'
NAME VALUE ISDEFAULT ISMOD ISADJ
------------------------------ ------------------------- --------- ---------- -----
_optimizer_cost_based_transfor LINEAR TRUE FALSE FALSE
mation
接下来修改这个参数:
SQL> alter system set "_optimizer_cost_based_transformation"=off scope=both;
System altered
再执行这个语句,问题得到解决,应用层面也没有问题了。
但是,还是怕怕的,修改隐含参数很少干过,不知道有什么附带症状没有,待观察。
-The End-
- ORA-07445错误修正
- 错误修正
- ORA-07445 ORA-24324 ORA-01041错误
- ora-07445错误相关内容
- ora-07445错误处理
- ORA-07445与ORA-00108错误
- GM_Close错误修正
- Link2001错误修正草案
- 错误与修正
- udp 10054错误修正
- 作业错误修正
- ajaxFileUpload中的错误修正
- ubuntu 错误修正
- 【ORA错误】ORA-12528
- 如何查询ORA-07445 ORA-00600错误相关信息
- ExtJs gridView CheckboxSelectionModel 错误修正
- Xoops URL Rewrite 错误修正
- win7 安装 ubuntu 修正错误
- 用扑克、纽扣、筷子开启数学大门
- C#反射实例讲解
- 软件需求分析摸板
- 工具收集齐全
- #define?const?还是enum?
- ORA-07445错误修正
- oracle触发器高级教程
- 新浪博客启用了国际标准的Metaweblog API,可以使用firefox的scribefire和微软的Live Writer
- apache + mercurial + LDAP环境搭建
- Guide to write a mplayer codec
- java中的内存分配 堆和栈
- Linux下automake软件编译与发布之多级目录结构的处理
- 高性能服务器设计
- [USACO] Milking Cows