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的提 ...
随机推荐
- jupyter 中markdown使用
jupyter使用还是很方便的,尤其是喜欢MarkDown功能,在安装插件后可以非常清晰的看到整个文档的基本结构,下面介绍下MarkDownd的使用: 1.MarkDown必须是在命令模式是下使用的, ...
- 利用arcgis和envi对卫星图像按城市进行拼接,分割
1.首先在envi中打开多波段原素材,右键点击另存为TIFF,输入保存的路径将原素材转换为tif格式图片. 2.之后打开arcgis,导入全国地区界数据,点击工具栏中的筛选工具. 输入查找的范围以及匹 ...
- Deepest left leaf node in a binary tree
Recursion selfcontained recursion global variables outside of recursion Recursion Design Whenever r ...
- java变量的自动提升与强制转换
所有的byte型.short型和char的值将被提升到int型 一个字节可以提升为4个字节 4个字节不可以降为一个字节 强制转换4个字节转换为一个字节 [丢失精度] byte b = 3; b = ( ...
- SpringJPA主键生成采用自定义ID,自定义ID采用年月日时间格式
自定义主键生成策略 在entity类上添加注解 @Id @GeneratedValue(strategy = GenerationType.AUTO, generator = "custom ...
- [转]JAVA 根据经纬度算出附近的正方形的四个角的经纬度
csv文件转化为geojson文件中,涉及到路测图的打点生成,打点是由一个个正方形组成,而正方形是由四个点组成的,这四个点根据经纬度和范围生成,具体的实现代码是从网上找来的: /** * * @par ...
- Skynet服务热点火焰图分析
最近花了一周时间对场景服务进行热点分析,利用以前的火焰图工具做了一点微小的贡献,分享下心得(仓库地址在https://github.com/spin6lock/skynet_systemtap_set ...
- Python学习之路基础篇--07Python基础+编码、集合 和 深浅Copy
1 小数据池(节省内存) 只有数字和字符串中内存,储存在同一个内存地址中 数字的范围在-5~256中,字符串有以下两个特点:不能含有特殊字符,还有就s*20 不是同一个地址,而要*21就不是了 2 编 ...
- Spring Security框架下Restful Token的验证方案
项目使用Restful的规范,权限内容的访问,考虑使用Token验证的权限解决方案. 验证方案(简要概括): 首先,用户需要登陆,成功登陆后返回一个Token串: 然后用户访问有权限的内容时需要上传T ...
- 1px和backgroudImage
https://blog.csdn.net/leadn/article/details/78560786 .setTopLine(@c: #C7C7C7) { & { position: re ...