资讯专栏INFORMATION COLUMN

Oracle19C ORA-700 ORA-600报错处理

IT那活儿 / 2912人阅读
Oracle19C ORA-700 ORA-600报错处理

大家好!

惯例先介绍环境:

操作系统:Redhat7.6

数据库版本:19.7

是否RAC:是

ASM或文件系统:ASM


最近巡检发现某库DBalert日志报ORA-600,ORA-700错误。详细如下:


继续分析相关trace如下:


如图显示,用户触发SQL如下:

createtable tab_20200813_2_5_1011 nologging as select * from tab_20200813where mod(serv_id,10)=2

从调用堆栈信息来看,kqrReadFromDBcache读取触发的报错。


继续查看trace:

从上两图显示,ORA-600,ORA-700触发均发生在drop回收站对象时。


总结:

从错误发生时的函数调用信息来看,问题发生在创建新表时,表空间的剩余空间不够,内部通过递归调用来清除recycleBin的对象释放空间时,发生了内存上的临时错误。MOS上无法找到在该版本类似的案例。


临时解决方法:

  1. 确保表空间有足够的剩余空间,使其不会自动触发回收站对象清除。

  2. 手动清除回收站对象,并将其添加至crontab中。

purgerecyclebin;


19C使用过程中会碰到越来越多的坑,有些MOS上可以找到补丁或者workaroud,但目前看,大部分是无解决方案,这个时候,我们应该秉承,不管白猫黑猫,能让系统稳定健康运行的就是好猫的原则来进行相关的填坑动作。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/130100.html

相关文章

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<