ITPUX技术网

交流 . 资讯 . 分享
Make progress together!
Oracle数据库DBA高级工程师培训视频
Oracle数据库培训-备份恢复-性能优化-集群容灾
mysql数据库视频教程

Oracle数据库报错ORA-00600 [kddummy_blkchk] 处理过程

内容发布:风哥| 发布时间:2014-1-13 12:04:35
ORA-00600 [kddummy_blkchk]故障现象介绍
在对某个用户或某个表进行删除时,出现ORA-00600: internal error code, arguments: [kddummy_blkchk]错误,详细报表如下:
SQL> drop user CS_SERVICES cascade ;
drop user CS_SERVICES cascade
*
ERROR at line 1:
ORA-00607: Internal error occurred while making a change to a data block
ORA-00600: internal error code, arguments: [kddummy_blkchk], [45], [3],
[18018], [], [], [], []


关于ORA-00600[kddummy_blkchk]这个报错的解释如下:
Oracle进程在读取数据块时会做一系列逻辑检测,当发现块当中存在逻辑讹误就会触发该ORA-00600 [kddummy_blkchk]等内部错误;
[kddummy_blkchk]内部函数的功能大致与[kdBlkCheckError]相仿,它们都有3个参数argument
ORA-600 [kddummy_blkchk] [file#] [block#] [check code]
ORA-600 [kdBlkCheckError] [file#] [block#] [check code]


file#即问题块所在datafile的文件号,block#即问题块的块号,check code为发现逻辑讹误时的检测种类代码;我们也可以通过file#block#查找到存在问题的对象,我们这个报错中的file#45,block#3,检查种类代码为18018:
select segment_name,segment_type,owner from dba_extents where file_id = 45 and 3 between block_id and block_id + blocks -1;


在我们能够打开数据库的情况下,针对由ORA-600[[kddummy_blkchk][kdBlkCheckError]引起的实例意外终止及启动实例失败等现象,

我们可以通过修改db_block_checkingdb_block_checksum 2个参数为false,来阻止Oracle进程对数据块的一些逻辑检测工作:
SQL> alter system set db_block_checking=false;
System altered.
SQL> alter system set db_block_checksum=false;
System altered.


再次删除这个用户或表,成功。
SQL> drop user CS_SERVICES cascade ;

10g中默认参数db_block_checksumTRUE,所以建议你在解决这个问题后,将该参数还原。


如果以上报错是在数据库无法打开的情况下,如遇此类argument[a]对应为system表空间的ORA-600[kddummy_blkchk]内部错误,可以尝试使用10513来进一步阻止数据库打开后smon进程的事务恢复(transaction recovery)行为:
SQL> alter system set event='10513 trace name context forever,level 2' scope=spfile;
重启数据库,并进一步对存在问题块的表执行了导出导入的工作,最终解决了问题。


上一篇:Oracle数据库RAC 3节点15TB数据量故障恢复过程_ORA-00600[4097]
下一篇:如何停止ORACLE数据库Expdp与impdp备份任务的后台进程
189070296,150201289

专业提供Oracle数据库服务、主机、存储、备份、中间件等相关技术支持服务,QQ号:176140749
关注ITPUX技术网微信公众号itpux_com  ,了解本站最新技术资料的分享.

欢迎加QQ群,提供超多高质量Oracle/Unix/Linux技术文档与视频教程的下载。

Oracle/MySQL/Linux群4-5:189070296  150201289  
Oracle/MySQL/Linux群6-8:244609803   522261684   522651731
备注:请勿重复加群,另请注明 from itpux

加群分享视频教程部分如下:

1、公开课视频:Oracle/MySQL数据库工程师职业发展前景讲解(免费)
http://edu.51cto.com/course/7015.html

2、51CTO学院Oracle数据库高级工程师培训(高薪就业.课程介绍)
http://edu.51cto.com/px/train/131?xiaotu

3、Oracle DBA数据库高级工程师培训视频课程1.1(系列78套+七大阶段+上千案例)
套餐视频地址: http://edu.51cto.com/topic/1121.html

4、MySQL数据库(终身门徒)套餐:http://edu.51cto.com/sd/1e1a6

回复

使用道具 举报

1框架
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表