分类: Oracle
2010-07-07 22:39:19
Ora-600 故障处理
今日某网管系统出现报错。没半小时报一次错误,错误如下:
Errors in file /opt/oracle/admin/*/udump/gsmdb_ora_5910.trc:
ORA-07445: 出现异常: 核心转储 [000000010169EA7C] [SIGSEGV] [Address not mapped to object] [0x000000008] [] []
ORA-00600: 内部错误代码,参数: [qerrmObnd1], [932], [ORA-00932: 不一致的数据类型: 要求 得到的却是 ], [], [], [], [], []
首先我查看相应 trc 文件:发现以下信息:
ORA-00600: 内部错误代码,参数: [qerrmObnd1], [932], [ORA-00932: 不一致的数据类型: 要求 得到的却是
], [], [], [], [], []
Current SQL statement for this session:
insert into perf.PERF_nodeb_utrancell_x
select start_time,stop_time,related_nodeb,f0137
from w_perf.w_perf_utrancell_0621@lnk_w
where start_time =to_char(sysdate-:"SYS_B_0"/:"SYS_B_1",:"SYS_B_2")||:"SYS_B_3"
问题就出在条语句上。perf.PERF_nodeb_utrancell_x ,和
发现 这两张表相同字段所对应的数据类型一致,stat_time 的数据类型为data,所以where条件里to_char 转换后和date类型不一致,dbms也不能进行模糊转换。所以报错。
但是改语句to_date 后语句仍然没有执行成功,当把sysdate参数改成常数时,执行成功,数据可以插入。
ALTER SYSTEM SET cursor_sharing='EXACT' SCOPE=BOTH
后系统正常。