重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3326|回复: 1
打印 上一主题 下一主题

[Oracle] ORA-00600 [25027] [x]报错

[复制链接]
跳转到指定楼层
楼主
发表于 2020-7-24 19:01:16 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 郑全 于 2020-7-24 19:06 编辑

问题现象:

在用到LOB大对象的业务中,进行数据的插入,失败了,在报警文件中报错:

ORA-00600: 内部错误代码, 参数: [25027], [10], [0], [], [], [], [], [], [], [], [], []   at System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle, Int32 rc)   at System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciRowidDescriptor& rowidDescriptor, ArrayList& resultParameterOrdinals)   at System.Data.OracleClient.OracleCommand.ExecuteNonQueryInternal(Boolean needRowid, OciRowidDescriptor& rowidDescriptor)   at System.Data.OracleClient.OracleCommand.ExecuteNonQuery()

环境:
       ORACLE 11.2.0.4+REDHAT LINUX 6.4

问题原因:
      该问题是由于Oracle的一个bug导致(参考文档 ID 1608861.1),是由于含有LOB字段的表在插入数据时,一个块(Block)在ASSM metadata L1 bitmap block中被标示为格式化的,但是在LOB段中被标识为未格式化的。
      ORA-00600[25027][x][0] 中的x表示的是该LOB字段所在的表空间的ts#,即表空间号,第三个参数[0]可能并不总是0 (zero).
      可以使用DBMS_SPACE_ADMIN.ASSM_SEGMENT_VERIFY 存储过程,使用verify_option=>DBMS_SPACE_ADMIN.SEGMENT_VERIFY_SPECIFIC and attrib=>DBMS_SPACE_ADMIN.BITMAPS_CHECK来验证。
解决方法:
      1.将表export导出,drop表,再imp进去
      2.对lob段做move到新的表空间
           Alter table tbName move lob(&lob_column) store as (tablespace &tbsp);
      3.patch 18024115 & alter system set "_fix_control"='18024115:ON';


由于表太大,上100G以上,通过打补丁18024115解决。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

沙发
 楼主| 发表于 2020-7-24 19:04:48 | 只看该作者
参考 :ORA-00600 [25027] [x] [0] Raised by Insert into LOB (Doc ID 1608861.1)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-27 00:18 , Processed in 0.096011 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

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