ORA-00600错误,凭感觉的解决方法,原创
金蝶云社区-福寿双全
福寿双全
33人赞赏了该文章 715次浏览 未经作者许可,禁止转载编辑于2023年03月08日 19:45:13
summary-icon摘要由AI智能服务提供

文本描述了解决Oracle数据库ORA-00600错误的过程。首先,遇到未知特征值的ORA-00600错误,通过对比错误发生前后的环境变化,猜测是已知但文档未匹配的BUG。尝试该BUG的workaround成功解决初步问题。随后,通过对比错误跟踪文件和Oracle官网的BUG文档,尽管未找到完全匹配的文档,但怀疑与特定表结构变更引发的BUG 16086769相似。由于无法打补丁,使用该BUG的workaround进行尝试,最终成功解决数据同步问题,尽管过程中遇到不同的ORA-00600错误代码。

前言:ORA-00600是比较偏门的错误,大部分和BUG有关。前两天,某客户环境遇上了ORA-00600错误中,此前未曾见过的特征值;分析错误后,在官网上没找到匹配该错误特征码的文档,,,最后是根据错误发生前后,运行环境的变化,猜测可能是此前曾见过的BUG,尝试用了该BUG对应的 workaround,没想到蒙中了,


1  机构同事反馈,产品的银行数据同步,遇上了个数据库的问题,

Mon Mar 06 23:47:59 2023
Dumping diagnostic data in directory=[cdmp_20230306234759], requested by (instance=1, osid=192615), summary=[incident=828392].
Mon Mar 06 23:48:08 2023
Thread 1 advanced to log sequence 712544 (LGWR switch)
  Current log# 73 seq# 712544 mem# 0: /oradata_log/redo7301.log
Mon Mar 06 23:49:00 2023
Exception [type: SIGSEGV, Invalid permissions for mapped object] [ADDR:0x7FC50ACD8FF8] [PC:0x317568A152, _wordcopy_bwd_dest_aligned()+210] [flags: 0x0, count: 1]
Errors in file /app/oracle/diag/rdbms/xxxdb/xxxdb/trace/xxxdb_ora_192625.trc  (incident=828832):
ORA-07445: exception encountered: core dump [_wordcopy_bwd_dest_aligned()+210] [SIGSEGV] [ADDR:0x7FC50ACD8FF8] [PC:0x317568A152] [Invalid permissions for mapped object] []
Incident details in: /app/oracle/diag/rdbms/xxxdb/xxxdb/incident/incdir_828832/xxxdb_ora_192625_i828832.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Errors in file /app/oracle/diag/rdbms/xxxdb/xxxdb/trace/xxxdb_ora_192625.trc  (incident=828833):
ORA-00600: internal error code, arguments: [kghfrempty:ds], [0x7FC50ACD9010], [], [], [], [], [], [], [], [], [], []
ORA-07445: exception encountered: core dump [_wordcopy_bwd_dest_aligned()+210] [SIGSEGV] [ADDR:0x7FC50ACD8FF8] [PC:0x317568A152] [Invalid permissions for mapped object] []
Incident details in: /app/oracle/diag/rdbms/xxxdb/xxxdb/incident/incdir_828833/xxxdb_ora_192625_i828833.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Exception [type: SIGSEGV, SI_KERNEL(general_protection)] [ADDR:0x0] [PC:0x87F86F9, dbgexDumpErrDesc()+63] [flags: 0x0, count: 2]
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.

核心信息这是个:
ORA-00600: internal error code, arguments: [kghfrempty:ds], [0x7FC50ACD9010],
ORA-07445: exception encountered: core dump [_wordcopy_bwd_dest_aligned()+210]

2  查看两错误对应的跟踪文件,都涉及到同一个语句

/app/oracle/diag/rdbms/xxxdb/xxxdb/incident/incdir_828832/xxxdb_ora_192625_i828832.trc
/app/oracle/diag/rdbms/xxxdb/xxxdb/incident/incdir_828833/xxxdb_ora_192625_i828833.trc

dbkedDefDump(): Starting incident default dumps (flags=0x2, level=3, mask=0x80)
----- Current SQL Statement for this session (sql_id=amc4jkf9xwutt) -----
UPDATE T_CN_BANKXXXXX_B
SET FSUBMITSTATUS = 'B', FBANKSTATUS = :Param0, FEBMSG = :Param1, FBANKCODE = :Param2, FBANKMSG = :Param3, FCHECKCODE = :Param4
WHERE ((FSUBMITSTATUS <> 'C') AND FENTRYID IN (SELECT DISTINCT t1.FSID FROM T_WB_BANKXXXXX_LK T1
INNER JOIN T_WB_BankPayXXXXX T2 ON t1.FENTRYID = t2.FENTRYID WHERE ((t2.FID = :Param5 AND FSEQ = :Param6) AND (t2.FSUBMITSTATUS <> 'C'))))
/

3  按照这两错误的提示信息,到官网上搜索与错误可能相关的文档,

4  怀疑这两错误是BUG,于是挨个打开标识为BUG的文档,然后拿文档和跟踪文件里的内容对比匹配,但没一个对得上,,, 大部分是版本对应不上,少量是特征码不匹配,无法确认是哪个BUG。

5  但隐约感觉,这跟踪文件里的信息,和官网文档:Bug 16086769  ORA-600 [13011] ORA-600 [13013] when executing a DML if the WHERE clause includes an added column
   with a default value (Doc ID 16086769.8),有点相似:机构同事反馈,错误是产品版本升级后,才遇上的,我查了上面语句中的3个表,3月5号凌晨,这3个表都发生过DDL操作,而这个BUG,正是表结构新增字段后才引发的错误,,,我怀疑是同样的原因,但因为没有完全匹配这个BUG 16086769的特征码,无法确定,

6  因为当时的情况也无法打补丁,于是打算用这个BUG的 workaround 来尝试,看看能否绕开故障?

7  重整了相关表,完后叫机构同事重现故障,,,10分钟后,又报错,

8  查看数据库日志,发现还是ORA-00600的错误,但不是上面那两错误,而是:ORA-00600: internal error code, arguments: [13013], [5001], [125274],
   这错误此前也曾在警告日志里出现过。这说明,上面的猜测是对的,解决了上面的两错误,现在剩下这错误,因此,语句也变成了另外一条:语句结构类似,但关键表变了。
   
9  花了3-4小时,再次重整这些表,完后,再找同事重现故障,这次,他反馈,数据同步成功,,,蒙对了,



赞 33