标签归档:ORA-00701

ORA-00604和ORA-04024错误的处理方法

一般Oracle的bootstrap index(引导表的索引和一些核心对象)都可以尝试类似方法处理,比如下面查询语句中的I_OBJxxxxx。 . 测试环境 11.2.0.3数据库: 在数据库中长开启时,不能操作一些bootstrap index,例如: 有些bootstrap索引在upgrade模式下也不可以修改,有些可以: 可以启动到升级模式,这模式数据库会自动增加一些类似屏蔽system trigger等的操作 可以执行部分bootstrage对象的操作,例如: 升级模式自动添加的参数如下: 此时,数据字典因为遭到破坏,很多相关查询等功能都失效了: 且启动时会报错ORA-00604 ORA-04024: 正常关闭数据库也关闭不了,应该是需要执行某些核心递归SQL时遇到问题了,只能shutdown abort: 然后以升级模式启动数据库,修复这些索引:. 执行迷你升级脚本进行修复: 这里我们看到SYS.I_OBJ#_INTCOL#索引为unusable,不能在升级模式下被修复 但是,10g以后,这个索引是可以通过event 38003屏蔽的: 这里我们已经修复了损坏的索引。 在此基础上,我们重新执行迷你升级脚本: 然后正常启动数据库: 删除第一次执行迷你升级脚本因为异常而中断残留在数据库中的临时索引: 至此,完美恢复!

发表在 ORA-600 or ORA-7445 | 标签为 , | 留下评论