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

轨迹887

轨迹887

2016-02-19 14:38

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

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

    一、问题现象:

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

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

 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))

    三、问题分析:

    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

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

     重建索引后,问题依旧。

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

  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偷钱流符文搭配推荐

如何解决失眠问题

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

如何解决安全证书错误

电脑入门
如何解决安全证书错误

lolAD刺客新符文搭配推荐

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

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

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

巧用办公小技巧 word转flash

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