设为首页 加入收藏

TOP

ORA-600[17182],ORA-07445[kghrst()+1567](二)
2014-11-24 02:01:04 来源: 作者: 【 】 浏览:4
Tags:ORA-600 17182 ORA-07445 kghrst 1567
jects WHERE object_id = 75050;
2) SQL> select segment_type,owner,segment_name from dba_extents where file_id = &file_id and &block between block_id and block_id+blocks -1;
根据上面反馈的信息,把对象类型查出来
第二步、恢复数据库 这个错误是坏块错误,如果我们要恢复数据库,将坏块解决即可 我们根据所查对象类型的不同,对应有不同的解决方案
1、索引(index)类型的对象 如果是索引(index)类型的对象,问题就好办了: 1) 查询定义 SQL>select index_owner,index_name,table_name,column_name,column_position from dba_ind_columns where index_name='XXX' -查询的定义 或者SQL>set long 50000 SQL>select dbms_metadata.get_ddl('INDEX','索引名字','所属用户') from dual;将定义直接查出来 2) 删除索引 SQL>drop index xxx 3) 重新创建 SQL>create index xxx on xxx(xxx); 4) 关闭数据库,使用之前的spfile进行启动
2、表(table)类型的对象 表,有很多种情况去恢复
有备份的情况: 1)、通过 rman的blockrecover 进行恢复 SQL>startup mount; RMAN > Blockrecover datafile 12 block 470173; 如恢复成功 SQL>Alter database open 2)、通过RMAN的block recover 没有成功(这种情况可以判断是磁盘物理出现了坏块) 操作步骤如下: SQL> Drop table xxx(删除掉坏块对象以后,其实已经可正常open库了) 使用已有备份,到其他机器上 异机恢复(我会在之后写一篇关于异机恢复的博客) 从异机恢复好的数据库,将XXX表 导出, 然后导入到 当前生产库 (导出导入的手段随便,我之后也会总结一篇文档[可能跟在异机恢复文档里]) 使用之前的SPFILE启动库!
to be continue--
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇ORACLE中极易混淆的几个NAME的分.. 下一篇oracle中常用的对象

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: