li
  当前位置:主页 > 性能优化 > 文章内容
li
如何解决ora-600 12700错误
来源: www.ixdba.net  作者: IXDBA.NET官方    时间:2008-03-14   阅读:10  
本文章共1596字,分2页,当前第1页,快速翻页:
 
简单描述了解决过程.对类似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
))

IXDBA.NET社区论坛


    三、问题分析: 
    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事件,问题依旧 
 

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表删除,



阅读更多内容1 · 2 · 下一页>>


  上一篇: ORA-00600: internal error code...   下一篇: ora-12638:身份证明检索失败的解...
li
 §相关评论  
 热点文章

·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 编辑推荐
·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 相关篇章
·ORA-00600: internal error code...
·Oracle中ORA-01599错误的解决方法
·ORA-12154: TNS: 无法解析指定的...
·ORA-01562 和 ORA-01628 问题解决...
·ora-02069 错误解决方法
·ORA-00600: 内部错误代码,参数:...
·streams流复制ORA-01403错误解决...
·Oracle10gR2 ORA-3136 错误解决方...
·Oracle中ORA-01599错误的解决方法
·Oracle10gR2 Dataguard 环境ORA-...
·ora-12638:身份证明检索失败的解...
·ORA-04098错误解决方法
·ORA-600 [2103]错误解决过程
·ORA-00701 warmstarting对象的另...
·ORACLE ORA-1693错误以及表和索...
·oracle ora-01861文字与格式字符...
·ORA-00904 invalid column name案...
·oracle ORA-01991错误--重建密码...
·oracle中ora-0100错误打开游标过...
·ORA-25153: 临时表空间为空
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接