ORA-00600: internal error code, arguments: [ktrgcm_3]

部署运行你感兴趣的模型镜像

ORA-00600: internal error code, arguments: [ktrgcm_3]

本来今天晚上我打算进行oracle数据字典深入研究的,但是在我马上要研究完的时候收到在北京的一个朋友的消息,说是 他们的生成库出问题了,让我看一下帮忙解决一下,我是非常高兴的,帮助别人是我的快乐,同样也提高了自己,特此在此时此刻记录一下,写完这篇日志在继续我的研究。

trace日志信息如下:

dbfs/oradata/admin/htdb/udump/htdb_ora_704518.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORACLE_HOME = /oracle/product/10.2.0.5
System name: AIX
Node name: ECMora01
Release: 3
Version: 5
Machine: 00C05BB64C00
Instance name: htdb
Redo thread mounted by this instance: 1
Oracle process number: 206
Unix process pid: 704518, image: oracle@ECMora01

*** SERVICE NAME:(SYS$USERS) 2013-06-17 08:43:14.002
*** SESSION ID:(1473.41629) 2013-06-17 08:43:14.002
*** 2013-06-17 08:43:14.001
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [ktrgcm_3], [], [], [], [], [], [], []
Current SQL statement for this session:
select count(distinct id) from (   select ve.workflowid||'' as id   from v_executableworktask   ve left join T_DATA_ITEM appt on appt.value=ve.BUSSINESSTYPE and appt.deleted=0 and appt.cataid = 1101       where 1 = 1       and    ve.globalID in ('P{2266580}','O{411001700}','O{4110}','G{201111992}')                      and    ve.BUSINESSID in (                         SELECT C.id FROM T_CONTRACT_CONTENT C                  WHERE INSTR(C.GLOBALSN,:1) >0                               UNION              SELECT E.ID                       FROM T_CONTRACT_CONTENT C, CUECM.T_CONTRACT_DONE E                      WHERE E.AFFAIRID = C.AFFAIRID                                              AND INSTR(C.GLOBALSN,:2) >0             UNION                SELECT L.RELATIONID                       FROM T_CONTRACT_CONTENT C, T_APPROVE_LIST L                      WHERE L.DENYSIGN = 0                        AND L.TARGETID = C.ID                        AND INSTR(C.GLOBALSN,:3) >0                                   UNION                SELECT F.id FROM t_contract_file f,T_CONTRACT_CONTENT C                      WHERE f.contractId = C.ID                        AND INSTR(C.GLOBALSN,:4) >0                                   UNION                SELECT d.id FROM t_contract_dissension d,T_CONTRACT_CONTENT C                      WHERE c.id=d.contractid AND INSTR(C.GLOBALSN,:5) >0                                   )                          union      select t.pendingcode as id    from (                   select tab1.pendingcode, tab1.type as businessTypeId,tab2.name businessTypeName,                     tab1.senddate as starttime ,tab1.seandername,tab1.title             from t_approve_notify tab1             left join t_data_item tab2 on tab1.type = tab2.value and tab2.cataid = 1101 and tab2.deleted = 0            where tab1.flag=0    and     tab1.recieverid = :6             and     TAB1.BUSSINESSID in (                          SELECT C.id FROM T_CONTRACT_CONTENT C                  WHERE INSTR(C.GLOBALSN,:7) >0                               UNION              SELECT E.ID                       FROM T_CONTRACT_CONTENT C, CUECM.T_CONTRACT_DONE E                      WHERE E.AFFAIRID = C.AFFAIRID                                              AND INSTR(C.GLOBALSN,:8) >0             UNION                SELECT L.RELATIONID                       FROM T_CONTRACT_CONTENT C, T_APPROVE_LIST L                      WHERE L.DENYSIGN = 0                        AND L.TARGETID = C.ID                        AND INSTR(C.GLOBALSN,:9) >0                                   UNION                SELECT F.id FROM t_contract_file f,T_CONTRACT_CONTENT C                      WHERE f.contractId = C.ID                        AND INSTR(C.GLOBALSN,:10) >0                                   UNION                SELECT d.id FROM t_contract_dissension d,T_CONTRACT_CONTENT C                      WHERE c.id=d.contractid AND INSTR(C.GLOBALSN,:11) >0                                    )                                 )t where 1=1                  ) 
----- Call Stack Trace -----
calling              call     entry                argument values in hex     
location             type     point                (? means dubious value)    
-------------------- -------- -------------------- ----------------------------
ksedst+001c          bl       ksedst1              0FFFF5A20 ?
                                                   28844220058552A4 ?
ksedmp+0290          bl       ksedst               104C2B3D8 ?
ksfdmp+02d8          bl       03F4D8AC            
kgerinv+00dc         bl       _ptrgl              
kgeasnmierr+004c     bl       kgerinv              FFFFFFFFFFF6330 ? 1100096D8 ?
                                                   356A9A350C2D0000 ?
                                                   356A9B920C2D3E80 ?
                                                   356A9B920C2D3E80 ?
ktrgcm+1c44          bl       kgeasnmierr          11019C288 ? 1103F0040 ?
                                                   104F34564 ? 000000000 ?
                                                   000000C2D ?
                                                   356A9A350C2D96D8 ?
                                                   000000000 ? 1100096D8 ?
ktrget+05c0          bl       ktrgcm               110481450 ?
kdirfrs+09fc         bl       ktrget               1058540E0 ? 0000001C2 ?
                                                   09E370001 ?
qerixFetchFastFullS  bl       kdirfrs              FFFFFFFFFFF7E50 ?
can+0958                                          
qergiFetch+02a8      bl       03F4D2BC            
rwsfcd+0054          bl       _ptrgl              
qerhjFetch+00d0      bl       01FC340C            
rwsfcd+0054          bl       _ptrgl              
qeruaFetch+013c      bl       03F4D2BC            
qersoFetch+0110      bl       01FC340C            
qervwFetch+0088      bl       03F4D2BC            
rwsfcd+0054          bl       _ptrgl              
qerhjFetch+0674      bl       01FC340C            
rwsfcd+0054          bl       _ptrgl              
qerhjFetch+00d0      bl       01FC340C            
rwsfcd+0054          bl       _ptrgl              
qeruaFetch+013c      bl       03F4D2BC            
qersoFetch+0110      bl       01FC340C            
qervwFetch+0088      bl       03F4D2BC            
qergsFetch+0324      bl       03F4D2BC            
kpofrws+019c         bl       _ptrgl              
opifch2+13a4         bl       01FC633C            
opifch+003c          bl       opifch2              700000CB426AC6C ? 000000000 ?
                                                   FFFFFFFFFFF9E40 ?
opiodr+0b2c          bl       _ptrgl              
ttcpip+1020          bl       _ptrgl              
opitsk+117c          bl       01FC5F7C            
opiino+09d0          bl       opitsk               0FFFFD8F0 ? 000000000 ?
opiodr+0b2c          bl       _ptrgl              
opidrv+04a4          bl       opiodr               3C102B1A18 ? 404C7E2A8 ?
                                                   FFFFFFFFFFFF8B0 ? 0102B1A10 ?
sou2o+0090           bl       opidrv               3C02A0E6BC ? 440663000 ?
                                                   FFFFFFFFFFFF8B0 ?
opimai_real+01bc     bl       01FC1F54            
main+0098            bl       opimai_real          000000000 ? 000000000 ?
__start+0098         bl       main                 000000000 ? 000000000 ?

解决如下:
1)
Bug 14076510  ORA-600 [ktrgcm_3] in 10.2.0.5.3 - 10.2.0.5.7 This note gives a brief overview of bug 14076510.
The content was last updated on: 08-MAR-2013
Click here for details of each of the sections below.

Affects:

Product (Component)Oracle Server  (Rdbms)
Range of versions believed to be affectedVersions >= 10.2.0.5 but BELOW 11.1
Versions confirmed as being affected
Platforms affectedGeneric (all / most platforms affected)

Fixed:

This issue is fixed in
2)

Description

This problem is introduced in Database PSU version 10.2.0.5.3and can affect 10.2.0.5.3 through 10.2.0.5.7 inclusive. The problem can also occur with interim patch 6157713 installedon top of 10.2.0.5.3 through 10.2.0.5.5 inclusive. ORA-600 [ktrgcm_3] can occur in the above releases. Workaround  Disabling rowCR (which is an optimization to reduce consistent-read   rollbacks during queries) by setting "_row_cr"=FALSE in the   initialization files in one workaround. However, this could cause  performance degradation of queries - the statistics "RowCR hits" /   "RowCR attempts" can help show if this workaround may be detrimental  to performance. Note:  This issue was previously incorrectly listed as fixed in Windows 10.2.0.5 bundle 17  but the fix did not get included until bundle 19.
因此我们可以设置_row_cr这个隐含参数。如和设置该参数可以参考我写的《oracle之参数文件深入探究》

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

### ORA-00600错误代码参数为-4019的解决方案 ORA-00600Oracle数据库中的一种内部错误,通常表示数据库遇到了一个不可预期的情况。当参数为`-4019`时,该错误可能与索引块损坏或索引结构不一致相关[^1]。以下是关于ORA-00600 internal error code arguments -4019的具体分析和解决方案: #### 1. 错误原因 ORA-00600 [-4019]通常发生在对索引进行操作时,例如插入、更新或删除数据。这种错误可能是由于以下原因之一引起的: - 索引块损坏。 - 索引结构不一致。 - 数据库文件(如数据文件或重做日志文件)存在物理损坏。 - 使用了隐藏参数或不当的数据库恢复方法。 #### 2. 解决方案 以下是针对ORA-00600 [-4019]的常见解决步骤: ##### 2.1 检查告警日志和跟踪文件 首先需要检查数据库的告警日志和相关的跟踪文件,以获取更多关于错误的详细信息。这些文件通常位于`$ORACLE_BASE/diag/rdbms/<dbname>/<instance>/trace/`目录下。通过分析这些文件,可以确定具体的索引对象及其相关问题[^3]。 ##### 2.2 验证索引完整性 使用`ANALYZE INDEX`命令验证受影响的索引是否存在逻辑损坏: ```sql ANALYZE INDEX <index_name> VALIDATE STRUCTURE; ``` 如果发现索引损坏,可以通过重建索引来修复问题: ```sql ALTER INDEX <index_name> REBUILD; ``` ##### 2.3 检查数据文件一致性 如果索引重建无法解决问题,可能需要进一步检查数据文件的一致性。可以使用`DBVERIFY`工具验证数据文件的物理和逻辑结构: ```bash dbv file=<datafile_path> blocksize=<block_size> ``` ##### 2.4 恢复受影响的对象 如果上述方法无效,可以尝试从备份中恢复受影响的表空间或数据文件。在恢复之前,请确保已启用归档模式并备份了所有必要的归档日志。 ##### 2.5 联系Oracle支持 如果以上方法均无法解决问题,建议收集相关诊断信息(如告警日志、跟踪文件等),并联系Oracle官方支持以获取进一步帮助。 #### 3. 示例代码 以下是一个示例脚本,用于验证和重建索引: ```sql -- 验证索引结构 ANALYZE INDEX my_index VALIDATE STRUCTURE; -- 如果发现损坏,重建索引 ALTER INDEX my_index REBUILD; ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值