tab$被删除恢复指南
by 蔡建良 2019-2-25
经过长时间摸索,参考网上各类文章。今天终于让我成功恢复了oracle的sys.tab$表,并成功打开了数据库。
将此过程记录下来,与大家共享。如有疑问可联系我QQ: 304125648
sys.tab$表的恢复要点如下:
1) Tab$表删除后在行记录头部会标记0x7c,没删除前是0x6c。因此只要将找到所有tab$行记录将第一个字节改为0x6c就成功一大半的。
此处建议在linux中恢复数据。可采用虚拟机来创建oracle环境。
Oracle VM VirtualBox6.0+Centos7+oracle11g
安装涉及问题有:
(1) Xshell 5+Xftp 6组合,用来远程控制linux和传输文件。
(2) oracle 11g for linux bbed - Oracle BBED工具安装
l 将三个文件移到$ORACLE_HOME/rdbms/lib/ 目录下。
l $ mv bbedus.msb $ORACLE_HOME/rdbms/mesg/
l $ cd $ORACLE_HOME/rdbms/lib
l $ make -f $ORACLE_HOME/rdbms/lib/ins_rdbms.mk BBED=$ORACLE_HOME/bin/bbed $ORACLE_HOME/bin/bbed
l 安装成功登陆如下:
[oracle@bys3 ~]$ bbed
Password: 默认密码是:blockedit
l BBED> exit
oracle11g for linuxx64编译bbed需要的三个文件
删除tab$记录的恢复脚本文件
2) 禁用sys.tab$的索引I_TAB1:
//这样恢复,索引与表存在不一致情况,要禁用sys.tab$的索引I_TAB1.
BBED> assign /x dba 1,523 offset 4910= 0x3c
BBED> sum apply dba 1,523
BBED> verify dba 1,523
3) 由于Oracle数据库被注入触发器,因此必须禁用数据库的触发器。
所以总结解决办法如下(处理前最好进行备份):
1、 关闭数据库 shutdown immediate
2、 启动数据库到mount状态下 startup mount 执行以下语句
alter system set "_system_trig_enabled"=false scope=both;
4) Tab$表恢复后将SYSTEM01.dbf文件复制到原来的数据目录覆盖原有文件。
5) 重建控制文件。
6) Open数据库。
具体可参考:
https://www.cnblogs.com/lfree/p/10368150.html
https://www.cnblogs.com/lfree/p/10368158.html
https://www.cnblogs.com/lfree/p/10368167.html
tab$被删除恢复指南的更多相关文章
- HDFS副本机制&负载均衡&机架感知&访问方式&健壮性&删除恢复机制&HDFS缺点
副本机制 1.副本摆放策略 第一副本:放置在上传文件的DataNode上:如果是集群外提交,则随机挑选一台磁盘不太慢.CPU不太忙的节点上:第二副本:放置在于第一个副本不同的机架的节点上:第三副本:与 ...
- Linux操作系统启动故障排错之"/sbin/init"文件被删除恢复案例
Linux操作系统启动故障排错之"/sbin/init"文件被删除恢复案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.删除"/sbin/ini ...
- Linux操作系统启动故障排错之"/etc/fstab"文件被删除恢复案例
Linux操作系统启动故障排错之"/etc/fstab"文件被删除恢复案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.模拟故障 [root@yinzhe ...
- Linux操作系统启动故障排错之/boot目录被删除恢复案例
Linux操作系统启动故障排错之"/boot"目录被删除恢复案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.模拟删除/boot分区 1>.查看/b ...
- Recuva ——天下第一的删除恢复应用
天下第一的删除恢复应用 下载地址 http://www.onlinedown.net/soft/66224.htm 实名diss那个垃圾 易得恢复 98一年,真是趁火打劫(跟个老鼠一样, ...
- truncate 命令删除恢复
truncate命令可以一次性删除当前表中所有记录并且不留任何日志,同时这个表的ID就自动初化从1开始,今天我就来给大家尝试一个利用truncate清除记录之后恢复过程. 实际线上的场景比较复杂,当时 ...
- MYSQL管理----数据库删除恢复
(1) 如果备份了,就好解决了.略. (2)如果日志打开,使用mysqlbinlog来恢复. mysqlbinlog工具的使用,大家可以看MySQL的帮助手册.里面有详细的用, 在这个例子中,重点是- ...
- 跟我学SharePoint 2013视频培训课程——删除恢复、文档离线工作(11)
课程简介 第11天,怎样在SharePoint 2013中删除.恢复文档.文档离线工作. 视频 SharePoint 2013 交流群 41032413
- git 学习(3)文件删除恢复
git学习(3) 撤销编辑 如果我们在编辑版本a的时候,如果在没有add之前,发现需要重新编辑版本a怎么办呢,可以通过git reset --hard comm_id, commit_id是版本a的提 ...
随机推荐
- ORACLE11G R2 RAC的进程启动流程
简要说明ORACLE11GR2 RAC的进程启动流程: 1.启动流程概览图: 二.RAC启动流程的梳理: 第一层:OHASD 启动:(OHASD派生) 1.CSSDAGENT负责启动CSSD的AGEN ...
- c++ complie link error 2019/2001
1:没有将需要的文件添加到项目中,只是考到项目所在的目录了 2:没有添加 类导出 宏
- java程序初体验
示例代码 class Demo { public static void main(String[] args) { System.out.print("hello world") ...
- TypeScript 类型定义文件(*.d.ts)自动生成工具
在开发ts时,有时会遇到没有d.ts文件的库,同时在老项目迁移到ts项目时也会遇到一些文件需要自己编写声明文件,但是在需要的声明文件比较多的情况,就需要自动生产声明文件.用过几个库.今天简单记录一下. ...
- #20175120彭宇辰-实验一《Java开发环境的熟悉》实验报告
Java开发环境的熟悉-1 实验要求:1 .建立“自己学号exp1”的目录2 .在“自己学号exp1”目录下建立src,bin等目录3 .javac,java的执行在“自己学号exp1”目录4 .提交 ...
- 修改hots指向
C:\Windows\System32\drivers\etc hots文件 IP 服务器名称
- 计算机网络实验 UDP套接字编程
这是个傻瓜式操作教程 西科大计算机网络实验 UDP套接字编程 我用自己的Ubuntu16.04来举例,实验室的是虚拟机,差不多 只针对第三个题目,修改服务器来通过响应客户端发送的GetTime并发送给 ...
- Build up java environment(配置java环境)
1,配置环境变量 我的电脑,右键计算机图标,点击“属性” 点击“高级系统设置” 点击“环境变量” “系统变量”一栏,点击“新建” 弹出输入“变量名”.“变量值”窗口 “变量名”输入“JAVA_HOME ...
- Charles 注册码/破解/激活
Charles 注册码 软件去官网下载安装即可. 适用于Charles任意版本的注册码 Charles 4.2.7 目前是最新版,可用. Registered Name: https://zhil ...
- leetcode中的python学习
list.extend() list1.extend(list2(or string)) 将list2(or string)的所有元素添加到list1中: list1.append(list2(or ...