Oracle非常规恢复方法:使用BBED跳过归档

一、BBED工具

1.BBED的安装

oracle 11g中缺bbed包,oracle11g bbed install and example

1.上传(sbbdpt.o ssbbded.o bbedus.msb,该三个文件拷贝oracle的linux64版本的)文件

$ORACLE_HOME/rdbms/lib/ssbbded.o

$ORACLE_HOME/rdbms/lib/sbbdpt.o

$ORACLE_HOME/rdbms/mesg/bbedus.msb

执行如下命令:

cd $ORACLE_HOME/rdbms/lib

make -f $ORACLE_HOME/rdbms/lib/ins_rdbms.mk BBED=$ORACLE_HOME/bin/bbed $ORACLE_HOME/bin/bbed

2.进入BBED

bbed

blockedit

$vi par.txt

blocksize=8192

listfile=filelist.txt

mode=edit

$vi filelist.txt

select file#||chr(9)||name||chr(9)||bytes from v$datafile;

 1 /u01/app/oracle/oradata/ocp/system01.dbf  512000000

 2 /u01/app/oracle/oradata/ocp/sysaux01.dbf  412000000

 3 /u01/app/oracle/oradata/ocp/users01.dbf   215000000

bbed parfile=par.txt

blockedit

3.常用命令:set、 find、 dump、 modify 、sum apply、examine、map 、print、 verity

(1)set file 3 block 32

set dba 0x01000020

set offset 0           --0表示第一个字节开始

set block  1           --1表示第一个块开始

set count 8192         --默认是显示512字节

(2)find /x 05d67g         --查指定的字符串在指定数据块中的具体位置

f                      --find的简写,表示继续从当前位置开始往下查询字符串05d67g

(3)dump                   --十六进制查看block

dump /v                --查看十六进制内容的同时以文本方式“翻译”十六进制显示的内容,相当于对当前block执行strings命令

(4)modify /x d43          --修改指定block,指定offset的数据块块内记录的内容

(5)sum apply              --计算修改后的数据块的checksum值,然后写入数据块的offset为16-17的位置

(6) map

 map /v

 p kcbh

 p ktbbh

 p kdbh

 p kdbt

 p kcvfh

 p kcvfh.kcvfhrfn

 p kcvfh.kcvfhckp

 p *kdbr[0]  --第一行记录

 x /rnc      -examine /read number char  用16进制翻译成我们能看懂的文件

时间: 2024-11-02 06:44:21

Oracle非常规恢复方法:使用BBED跳过归档的相关文章

Oracle损坏数据文件的恢复方法

一:非归档模式下丢失或者损坏数据文件 在非归档模式下损坏或者丢失数据文件,如果有相应的备份,在一定程度上是可以恢复的,但是如果oracle过多的读写操作记录信息而导致redo重写的时候,恢复就会停滞,非归档下系统能自动恢复的仅仅限于redo中存在的记录. 可以成功恢复案例 SQL> startup ORACLE instance started. Total System Global Area  235999352 bytes Fixed Size                   4506

Oracle实例恢复和介质恢复

Oracle恢复基础概述  一.恢复解决方案 错误类型及解决方案 错误分类 恢复解决方案 介质失败 如果是少量的块损坏,使用块介质恢复:如果是大量的块.数据文件.表空间的损坏,可能需要对损坏的数据文件或者表空间执行完全恢复:如果是归档Redo日志文件或者联机Redo日志文件的丢失,那么只需要不完全恢复方式. 逻辑损坏 如果是程序员错误导致出现的问题,可通过补丁应用修复问题.对于无法修复的问题,也可采用介质恢复手段来恢复数据. 用户错误 根据不同用户错误,选择不同的Flashback技术恢复,使用

truncate表后恢复方法总结

truncate表后恢复方法总结   1.1  BLOG文档结构图   1.2  前言部分   1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① truncate操作后的恢复方法(重点)     Tips:        ① 若文章代码格式有错乱,推荐使用QQ.搜狗或360浏览器,也可以下载pdf格式的文档来查看,pdf文档下载地址:http://yunpan.cn/cdEQedhCs2kFz (提取码:

联机日志文件损坏后的恢复方法

恢复 昨天遇到一个Oracle数据库的问题,环境是:Windows2000+Oracle9i.使用windows关机重启后,oracle无法连接,当用startup启动时总是报ORA-00333错误,检查Oracle文档对此问题的描述,如下:ORA-00333 redo log read error block string count stringCause: An I/O error occurred while reading the log described in theaccompa

网站首页被K的原因及其恢复方法

最近在推一把上面回答朋友问题发现最近提问询问"首页被K"的人比较多,学朋自己的站也有几个首页被干掉了.具体是什么原因及其怎么恢复首页收录呢请往下看. 首页被K症状: 1.首页从百度消失. 2.首页排名消失 3.内页收录不变(或有小量下降) 4.内页排名不变(或有所下降 或 全站排名下降) 以上问题均是站长遇到的问题,遇到以上问题学朋想说的是 (1.)平常心对待. 急也没用,急了反而会急功近利帮倒忙.学朋之前一朋友网站首页被K了后急了,一天就给自己网站添加了7个友情链接,想让其快速恢复,

linux rm误删除数据库文件的恢复方法

1.首先测试rm 误删除数据库文件 [oracle@primary dbwdn]$ ll total 2153164 -rw-r----- 1 oracle dba 8536064 Nov 27 21:50 control01.ctl -rw-r----- 1 oracle dba 8536064 Nov 27 21:50 control02.ctl -rw-r----- 1 oracle dba 8536064 Nov 27 21:50 control03.ctl -rw-r----- 1 o

细谈 oracle备份的方法

细谈 oracle备份的方法 [内容导航] 第1页:了解ORACLE的运行方式 第2页:ORACLE备份的分类 第3页:定制恰当的备份策略 [IT168 服务器学院]一.了解备份的重要性  可以说,从计算机系统出世的那天起,就有了备份这个概念,计算机以其强大的速度处理能力,取代了很多人为的工作,但是,往往很多时候,它又是那么弱不禁风,主板上的芯片.主板电路.内存.电源等任何一项不能正常工作,都会导致计算机系统不能正常工作.当然,这些损坏可以修复,不会导致应用和数据的损坏.但是,如果计算机的硬盘损

Oracle 备份恢复概念

--====================== -- Oracle 备份恢复概念 --======================       数据库维护中,备份或恢复是重中之重的问题.尽管很多时候数据库系统运行缓慢,但对数据库数据的丢失而言,显然后者损失的代价是 不言而喻的.因此DBA至少在保证数据不丢失的情况下来提高系统的性能是最起码的要求.关于什么是备份与恢复,在此不做赘言.   一.物理备份与逻辑备份     物理备份         是所有物理文件的一个副本,比如数据文件,控制文件,

MySQL数据库的root口令恢复方法总结

MySQL数据库的root口令恢复方法总结 方法一 1. 下载MySQL源码分发包,不用区分操作系统,我们需要的东西是一样的: 2. 重命名自己的mysql的data目录下的mysql文件夹为oldmysql: 3. 将源码包中data目录下的mysql目录复制到你的mysql的data目录下: 4. 重新启动mysql,现在mysql的授权关系同全新安装的一样,空密码登陆,然后自行调整授权: 5. 打开oldmysql这个库检查到底出现了什么问题 : 6. 如果有备份对系统中原有的数据库进行完