ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 恼人的bug 无效的rowid&对象不再存在

恼人的bug 无效的rowid&对象不再存在

原创 Linux操作系统 作者:lnwxzyp 时间:2008-12-14 17:53:36 0 删除 编辑

        从去年开始就一直被oracle8i/9i的 "无效rowid"和"对象不再存在"错误所困扰.局方也请oracle的专家来看过,但是人家也解决不了,一句这是oracle8i/9i以下版本的错误,建议升级为10g.就把我们给打发了.
        于是也就开始了我们长达两个多月的夜班,虽然之后开发出来了全自动的监控程序,不再需要值夜班了,但是这两个错误也一直在困扰这我们
       最近局方的一个地市的数据库开始频繁的报错,奇怪的是执行分析语句
       analyze table table_name validate strucutre; 并不会报错
       select count(*) from table_name;也很正常
但是多个表关联还是会报错,百思不得其解的情况下,只能给客户回复:"这个问题..厄..科学无法解释"
        一个偶然的机会 再给一个表作分析统计的时候,
        analyze table table_name compute statistics;         
        报错: 对象不再存在.
但是之前索引都建好的,同时count(*)进行了一次全表扫描也不报错.最后使用分析语句analyze table table_name validate structure; 还是不报错 但是根据客户的回馈 多个表一关联就会报错. 对数据量比较大的表进行了小事务的划分 先根据关联的条件临时创建一个表temp_1、temp_2、temp_3,对表进行分析 analyze table temp_1 validate structure; 不报错,另外两个表也一样,但是关联之后又报错 无效的rowid. 继续用分析统计语句进行分析,
analyze table temp_1 compute statistics;不报错;
analyze table temp_2 compute statistics;终于出现了错误“对象不再存在”
drop table temp_2;
重新创建temp_2,指定另外一个表空间,
analyze table temp_2 compute statistics;    没有报错
接着执行几个表的关联语句 , 果然不再报错了。但是依然不清楚这其中有什么原理。希望以后可以能解决掉这个问题。    
      

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12216142/viewspace-511828/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-04-25

  • 博文量
    129
  • 访问量
    679063