如何解决ora-600 12700错误问题

轨迹887

轨迹887

2016-02-19 14:38

最近很多朋友喜欢上设计,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。

    简单描述了解决过程.对类似12700错误起一个抛砖引玉的作用.

    一、问题现象:

  在报警文件中从早上9:30开始,一直到处理问题时,出现大量的ORA-600 12700错误。通过TRC文件,发现是执行以下语句,就会报这个错误:

 select ID,AVERTEXID,AVERTEXTYPE,ZVERTEXID,ZVERTEXTYPE from PHYSICALCONNECTION
where (AVERTEXTYPE='C' and AVERTEXID in (840402))
or (ZVERTEXTYPE='C' and ZVERTEXID in (840402))

    二、问题还原:

    再次执行下面的语句,不能返回结果,直接报600 12700错误。

Select Id, Avertexid, Avertextype, Zvertexid, Zvertextype From cq.Physicalconnection Where (Avertextype = 'C' And Avertexid In (840402))
Or (Zvertextype = 'C' And Zvertexid In (840402))

    三、问题分析:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

    1、使用下面的SQL语句,都不会报错: Select Id, Avertexid, Avertextype, Zvertexid, Zvertextype From cq.Physicalconnection Where (Avertextype = 'C' And Avertexid In (840402)); Select Id, Avertexid, Avertextype, Zvertexid, Zvertextype From cq.Physicalconnection Where (Zvertextype = 'C' And Zvertexid In (840402)); Select Id, Avertexid, Avertextype, Zvertexid, Zvertextype From cq.Physicalconnection Where (Zvertextype = 'C' And Zvertexid In (840402)) Union All Select Id, Avertexid, Avertextype, Zvertexid, Zvertextype From cq.Physicalconnection Where (Avertextype = 'C' And Avertexid In (840402)) ;

    2.分析表

    执行下面的分析语句,也没有报任何错误。

    ANALYZE TABLE cq.Physicalconnection VALIDATE STRUCTURE CASCADE

    看来表数据是好的

    3.重建这个表的索引 Alter index CQ.IDX_AVERTEXID Rebuild / Alter index CQ.IDX_PHYCONN_ACONNECTPOINT Rebuild / Alter index CQ.IDX_PHYCONN_OLDID Rebuild / Alter index CQ.IDX_PHYCONN_OWNERTYPE Rebuild / Alter index CQ.IDX_PHYCONN_ZCONNECTPOINT Rebuild / Alter index CQ.IDX_ZVERTEXID Rebuild / Alter index CQ.sys_c0011311 Rebuild

     重建索引后,问题依旧。

    4.根据METALINK上的说明,设置10078事件,问题依旧

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  Set event 10078 At session level SQL Alter session set events '10078 trace name context forever' SQL alter system flush shared_pool; Run the select query failing with ORA-00600[12700] 

    具体参见Note:337631.1

    5.根据Note:155933.1的说法,应该是ROWID找不到了,因此,我想到重建建立一个表来测试一下。

    Create Table cq.Physicalconnection_bak As Select * From cq.Physicalconnection
再执行: Select Id, Avertexid, Avertextype, Zvertexid, Zvertextype From cq.Physicalconnection_bak Where (Avertextype = 'C' And Avertexid In (840402))
Or (Zvertextype = 'C' And Zvertexid In (840402))

    执行以上语句无问题。

  因此,决定通过重新创建表语句来解决这个问题。

    四、解决问题

    通过Create Table cq.Physicalconnection_bak As Select * From cq.Physicalconnection,再把这个cq.Physicalconnection表删除, 再改名改表即可,问题解决,后续权限交给相关开发人员解决。

展开更多 50%)
分享

猜你喜欢

如何解决ora-600 12700错误问题

编程语言 网络编程
如何解决ora-600 12700错误问题

如何解决肌肤问题

问题肌肤
如何解决肌肤问题

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

如何解决睡眠问题

电脑网络
如何解决睡眠问题

如何解决眼袋问题

电脑网络
如何解决眼袋问题

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

如何解决失眠问题

电脑网络
如何解决失眠问题

oraclestartup时ORA-00600错误解决

电脑网络
oraclestartup时ORA-00600错误解决

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

把html页面的部分内容保存成新的html文件的jquery代码

把html页面的部分内容保存成新的html文件的jquery代码

巧用办公小技巧 word转flash

巧用办公小技巧 word转flash
下拉加载更多内容 ↓