oracle无备份修复坏块

无备份坏块处理 数据库版本:9.2.0.5.0 平台:windows2003、 下午接到通知以数据库出现坏块现象,无备份,应用无法正常使用,要予以解决  由于没有备份,无法恢复,只能采用跳过坏块方法,然后通过业务补数据。 首先要通知业务需要停服务,其次用PL/SQL登录把OPTCABLE表的sql导出来。   首先要查出坏块中的对象是
摘要由CSDN通过智能技术生成

无备份坏块处理

数据库版本:9.2.0.5.0
 
平台:windows2003


 
下午接到通知以数据库出现坏块现象,无备份,应用无法正常使用,要予以解决
 

 

由于没有备份,无法恢复,只能采用跳过坏块方法,然后通过业务补数据。
 
首先要通知业务需要停服务,其次用PL/SQL登录把OPTCABLE表的sql导出来。
 
 
 
首先要查出坏块中的对象是什么 file_id为截图中文件号,and 为数据库的块号。
 
 
 
SQL> SELECT tablespace_name,segment_type, owner, segment_name FROM dba_extents WHERE file_id =82 AND 326677between block_id AND block_id + blocks - 1;
 
 
 
TABLESPACE_NAME    SEGME   OWNER  SEGMENT_NAME
 
------------------------------ ---------------------------
 
USERS               TABLE    GISTAR    OPTCABLE
 
 
 
然后需要查询数据对象的id(用于查询rowid的参数)
 
 
 
SQL> SELECT data_object_id FROMdba_objects WHERE object_name = 'OPTCABLE' and owner='GISTAR';
 
 
 
DATA_OBJECT_ID
 
--------------
 
        97248
 
 
 
找出坏块最小的rowid  (1, DATA_OBJECT_ID ,file_id,数据库的块号,0)
 
 
 
SQL> select dbms_rowid.rowid_create(1,97248,82,326677,0) from dual;
 
 
 
DBMS_ROW

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值