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

从去年开始就一直被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;    没有报错

接着执行几个表的关联语句 , 果然不再报错了。但是依然不清楚这其中有什么原理。希望以后可以能解决掉这个问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值