网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Red Hat Enterprise Linux AS 3上.
.Oracle中PL/SQL单行函数和组函数.
.Oracle企业管理器(OEM)常见问题解.
.ORACLE ERP导数据(BOM清单).
.多个数据库时 如何设置默认数据库.
.OracleAS 论坛程序输入验证漏洞.
.Oracle 常用SQL查询列表.
.DBA必须熟悉的、最有用的DBA视图.
.oracle的毛病!!.
.DBA的工作列表上写了些什么.
.Oracle数据库删除两表中相同数据.
.Oracle7.X 回滚表空间数据文件误.
.深入了解Oracle 10g新型层次查询.
.Oracle 11g 500种新功能 着重商业.
.Weblogic访问oracle的三种JDBC方.
.防范黑客攻击Oracle系统的八大常.
.Function怎么返回一个数据集?.
.Oracle中屏蔽英文提示信息的两个.
.Oracle sql 語句分析.
.为什么ODBC不是Linux的一个标准特.

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

发表日期:2008-2-9


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

    一、问题现象:
   在报警文件中从早上9:30开始,一直到处理问题时,出现大量的ORA-600 12700错误。通过TRC文件,发现是执行以下语句,就会报这个错误:
如何解决ora-600 12700错误问题 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
     重建索引后,问题依旧。 

    4.根据METALINK上的说明,设置10078事件,问题依旧 
  如何解决ora-600 12700错误问题Set event 10078 如何解决ora-600 12700错误问题At session level 如何解决ora-600 12700错误问题SQL> Alter session set events '10078 trace name context forever' 如何解决ora-600 12700错误问题SQL> alter system flush shared_pool; 如何解决ora-600 12700错误问题Run the select query failing with ORA-00600[12700] 如何解决ora-600 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表删除,
再改名改表即可,问题解决,后续权限交给相关开发人员解决。
上一篇:Oracle 10g列掩码与关系视图比较 人气:583
下一篇:ORACLE ORA-1693错误以及表和索引的表空间的移动 人气:1287
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐