我的编程空间,编程开发者的网络收藏夹
学习永远不晚

bbed 修复数据文件头

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

bbed 修复数据文件头

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

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,一个查看好的数据文件头,一个用于修改,先做对比,然后再修改,减少误操作。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

bbed 修复数据文件头

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

sqlite数据库文件修复的方法是什么

要修复SQLite数据库文件,可以尝试以下方法:使用SQLite官方提供的工具进行修复。SQLite官方提供了一个名为sqlite3.exe的命令行工具,可以用于对数据库文件进行修复。可以通过命令行运行以下命令来修复数据库文件:sqlite
sqlite数据库文件修复的方法是什么
2024-04-09

修改Oracle数据文件名及数据文件存放路径

更改Oracle数据文件名及数据文件存放路径
2023-06-06

java怎么修改文件数据

在Java中,可以使用FileInputStream和FileOutputStream来读取和写入文件数据。下面是一个简单的示例代码,用来将文件中的数据进行修改:import java.io.*;public class ModifyFi
java怎么修改文件数据
2024-03-01

oracle 修改数据文件路径

一、关库修改文件位置 1.连接到数据库  [oracle@linux]$ ./sqlplus /nolog  SQL> conn / as sysdba   2. 查看数据文件位置 SQL> select name from v$datafile; FILE_
oracle 修改数据文件路径
2017-11-21

Oracle数据库使用DMP文件恢复数据

要使用DMP文件恢复Oracle数据库中的数据,可以按照以下步骤进行操作:1. 在Oracle数据库服务器上找到DMP文件,并确保数据库版本与DMP文件版本匹配。如果版本不匹配,需要使用相应版本的Oracle数据库工具进行数据导入。2. 登
2023-09-17

Linux下修改MySQL数据库数据文件路径

使用rpm安装方式安装完MySQL数据库后,数据文件的默认路径为/var/lib/mysql,然而根目录并不适合用于存储数据文件。原路径:/var/lib/mysql目标路径:/home/mysql_data/mysqlLinux系统版本:centos7.6M
2017-01-04

编程热搜

目录