bbed 修复数据文件头

发布时间:2020-07-14 12:31:05 作者:qhd2004
来源:网络 阅读:1083

把同一表空间下的好的数据文件头拷贝到有问题的数据文件头,例如:

copy file x block 1 to file y block 1,然后按如下offset来确认并修改。

  1. rdba_kcbh (offset  4)  即使文件头block的rdba地址

2. kccfhfsz (offset  44) 即文件大小

3. kccfhfno (offset  52) 即datafile文件号

4. kscnbas  (offset 100) 即v$datafile.create_change#

5. kcvfhcrt (offset 108) 即v$datafile.create_time

6. kcvfhtsn (offset 332) 即v$datafile.ts#,表示表空间号

7. kcvfhrfn (offset 368) 即v$datafile.rfile#, 表示相对文件号

8. kcvfhtnm (offset 338) 即v$tablespace.name,表示表空间名称(根据实际情况,可能还会需要修改kcvfhtln,表示表空间名称字符长度)

9. kscnbas  (offset 484) 即checkpoint scn

10.kcvcptim (offset 492) 即last checkpoint time.


用来修复非system表空间的数据文件头。

select file#,to_char(creation_time,'yyyy-mm-dd hh34:mi:ss') creation_time_file,

       (to_char(creation_time,'yyyy')-1988)*12*31*24*3600+

       (to_char(creation_time,'mm')-1)*31*24*3600+

       (to_char(creation_time,'dd')-1)*24*3600+

       to_char(creation_time,'hh34')*3600+

       to_char(creation_time,'mi')*60+

       to_char(creation_time,'ss') creation_name_scn

from v$datafile order by 1;


select file#,to_char(CHECKPOINT_TIME,'yyyy-mm-dd hh34:mi:ss') CHECKPOINT_TIME_file,

   (to_char(CHECKPOINT_TIME,'yyyy')-1988)*12*31*24*3600+

   (to_char(CHECKPOINT_TIME,'mm')-1)*31*24*3600

   +(to_char(CHECKPOINT_TIME,'dd')-1)*24*3600

   +to_char(CHECKPOINT_TIME,'hh34')*3600

   +to_char(CHECKPOINT_TIME,'mi')*60

   +to_char(CHECKPOINT_TIME,'ss') CHECKPOINT_TIME_scn

   from v$datafile order by 1;


在修复过程中开两个session,一个查看好的数据文件头,一个用于修改,先做对比,然后再修改,减少误操作。

推荐阅读:
  1. bbed与od的配合使用恢复被删除的数据文件
  2. 【BBED】BBED模拟并修复ORA-08102错误

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

system offset bbed

上一篇:综合架构搭建过程中不可缺少的部分——全网备份

下一篇:[Csharp入门经典(第四版)].(美)沃森,(美)内格尔.扫描版

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》