先说一下来龙去脉 环境:windows server 2008 + oracle 11..2.0.1
没有备份(不是我的锅,这个不是我安装管理的)1、首先发现数据库SYSAUX数据块损坏2、查找后发现一个索引以及WRH$_SQL_BIND_METADATA表的数据块损坏;3、索引重建了,没问题。。4、表WRH$_SQL_BIND_METADATA用dbms_repair修复
先用DBMS_REPAIR.CHECK_OBJECT
再用DBMS_REPAIR.FIX_CORRUPT_BLOCKS因为这个表是查询语句参数表,对系统来说不重要,即使丢失数据也没问题
所以直接 DBMS_REPAIR.SKIP_CORRUPT_BLOCKS5、dbv检查表空间任然发现有坏快,
于是把WRH$_SQL_BIND_METADATA重命名为WRH$_SQL_BIND_METADATA_BAK
并新建表WRH$_SQL_BIND_METADATA,并且把历史数据插入尝试删除表DROP TABLE SYS.WRH$_SQL_BIND_METADATA_BAK  PURGE
报错
ORA-00600: 内部错误代码, 参数: [13011], [420], [4283125], [1], [4283125], [3], [], [], [], [], [], []
6、无奈之下truncate table WRH$_SQL_BIND_METADATA_BAK,并且限制表空间自动增长
随意创建表填满数据把坏的数据块冲掉7、再次尝试删除表
DROP TABLE SYS.WRH$_SQL_BIND_METADATA_BAK  PURGE
任然报错
ORA-00600: 内部错误代码, 参数: [13011], [420], [4283125], [1], [4283125], [3], [], [], [], [], [], []于是不知道该怎么整了,数据库运行没问题,但是会一直报错,没几天错误日志就能把磁盘占满了