利用PRM-DUL工具恢复oracle dbf文件中的数据

在使用oracle过程中如果一直没有有效的逻辑或物理RMAN备份则可能出现数据库损坏或丢失文件而没有任何备份可用的情况,例如丢失了CONTROL.CTL控制文件和SPFILE/PFILE参数文件的同时丢失了部分的数据文件.DBF文件。

此时可以通过异常恢复手段使用隐藏参数来尝试打开Oracle数据库,但存在一定的概率无法打开数据库。也可以尝试利用PRM-DUL软件来直接抽取数据库中的有用数据。

  • Oracle Database 9i/10g/11g/12c
  • PRM-DUL ORACLE数据恢复工具
  • JAVA JDK 1.6以上版本

方法/步骤

  1. 1

    将手头还剩下的ORACLE数据文件即扩展名一般为.DBF或.ORA的文件复制一份到恢复使用的环境操作系统上,推荐使用的操作系统为Windows或Linux。 并在Windows或Linux上安装JAVA JDK 1.6以上版本。

    Oracle数据库恢复软件使用经验
  2. 2

    启动PRM-DUL 点击恢复向导  字典模式

    Oracle数据库恢复软件使用经验
    Oracle数据库恢复软件使用经验
    Oracle数据库恢复软件使用经验
    Oracle数据库恢复软件使用经验
  3. 3

    加入所有oracle数据文件,不需要加入临时文件TEMPFILE、UNDO数据文件、控制文件、日志文件

    Oracle数据库恢复软件使用经验
    Oracle数据库恢复软件使用经验
  4. 4

    点击load 按钮,PRM会自动加载数据字典 即bootstrap动作

    Oracle数据库恢复软件使用经验
  5. 5

    Load完成后会在后台输出数据库 字符集和国家字符集等信息:

    Oracle数据库恢复软件使用经验
  6. 6

    Load完成后 PRM-DUL界面左侧出现按照数据库用户分组的树形图

     

    点开USERS,可以看到多个用户名,例如用户需要恢复PD SCHEMA下的一张表,则点开PD,并双击表名:

    Oracle数据库恢复软件使用经验
  7. 7

    之后点击需要恢复数据的表,使用普通的unload 到sqlldr 文件或使用PRM-DUL的DataBridge数据搭桥功能均可以将数据转移到所需要的地方。

  8. 8

    使用数据搭桥模式也十分简便,通常规模式一样,在左侧树形图中点中你需要的表,右键选择DataBridge选项:

    Oracle数据库恢复软件使用经验
  9. 9

    首次使用数据搭桥模式时需要先创建目标数据库连接信息,这就和我们在SQLDEVELOPER中创建一个Connection是类似的工作,包括目标数据库的Host、端口、Service_Name以及用户登录信息;注意这里填选的用户信息,将会是稍后数据搭桥使用的目标数据库的User用户,即从源库这里抽取出来的表会传输到目标数据库中此处所指定的用户名下。

    Oracle数据库恢复软件使用经验
  10. 10

    如上述建立了一个G10R25的连接,用户为maclean,对应的oracle Easy Connection连接串为 192.168.1.191:1521/G10R25。

     

     

    完成上述数据库连接信息填写后可以点击Test按钮来测试该连接配置是否正确可用,如果返回 “ Connect to db server successfully “则说明连接可用,点击Save按钮保存即可。

    Oracle数据库恢复软件使用经验
  11. 11

    Save后进入DataBridge主界面,首先在DB Connection下拉框中选择刚刚加入的Connection G10R25:

    Oracle数据库恢复软件使用经验
  12. 12

    此处如果所需用的数据库连接并未在DB connection下拉框中出现,则需要点击DB connection旁的”…”按钮添加DB Connection:

    Oracle数据库恢复软件使用经验
  13. 13

    正确选择DB Connection后可以Tablespace的下拉框将变得可用,选中合适的表空间:

    Oracle数据库恢复软件使用经验
  14. 14

    使用Data Bridge恢复truncate时的注意事项:注意当从源库中恢复出truncate数据时,若使用databridge选项传输数据回到你的源库(如果回传数据不是到源库则没有该问题)时,需要注意 Databridge插入到新建表的所在位置应当不是源库中被truncate数据所在的表空间,否则会出现一边在恢复truncate数据一边我们所需恢复的数据被新数据所覆盖的问题,可能导致该恢复场景中的数据完全无法恢复。故请注意,当使用databridge+恢复数据到源库时,在databridge中指定表空间时千万不要使用需要恢复数据所在的表空间!!!!!!

     

     

     

    用户可以选择是否要将从源库传输到目标库的表的表名做映射修改,例如我们在源库中Truncate掉了一张表,现在通过DataBridge将数据恢复回源库中,但是不想使用原来的表名字,如原来的表名为torderdetail_his,现在希望将恢复的数据以别的表名存放,则可以选中“if need to remap table”并填入合适的目标表名,如下图所示:

     

    Oracle数据库恢复软件使用经验
  15. 15

    注意: 1)对于目标库中已经存在对应表名的情况,PRM-DUL不会重建表而是会在现有表的基础上插入所需恢复的数据,由于表已经建立了所以指定的表空间将无效  2)对于目标数据库中还不存在对应表名的情况,PRM-DUL会尝试在指定表空间上建表并插入恢复数据

     

     

    此场景中由于我们是恢复Truncate掉的数据,所以需要选中“if data truncated”选项,否则PRM-DUL将以常规模式抽取数据,将无法抽取到已经被Truncate掉的数据。

     

    Truncate数据的大致机理是,ORACLE会在数据字典和Segment Header中更新表的Data Object ID,而实际数据部分的块则不会做修改。由于数据字典与段头的DATA_OBJECT_ID与后续的数据块中的并不一致,所以ORACLE服务进程在读取全表数据时不会读取到已经被TRUNCATE但是实际仍未被覆盖的数据。

     

    PRM-DUL通过自动扫描被TRUNCATE掉数据段头Segment Header后续的数据块智能判断TRUNCATE前数据段的DATA_OBJECT_ID,并根据字典中的表字段定义和自动获得的原始DATA_OBJECT_ID来抽取数据。

     

     

    此处还存在一个”if to specify data object id”输入框,该输入框可以让用户指定要恢复的数据的Data Object ID。一般情况下不需要指定任何值,除非你发现恢复Truncate数据不成功时,建议在ParnassusData原厂工程师的帮助下指定该值。

     

     

    如上正确完成DataBridge配置后即可证实开始数据搭桥,只需要点击DataBridge按钮即可:

    Oracle数据库恢复软件使用经验
  16. 16

    数据搭桥完成后会显示成功传输的数据行数,以及耗时。

    Oracle数据库恢复软件使用经验
    END

注意事项

  • 据恢复的操作系统要求已经安装了对应的语言包; 例如在Windows操作系统上没有安装中文语言包,但是由于ORACLE数据库字符集是独立于操作系统语言的,即ORACLE数据库的字符集可以为ZHS16GBK字符集,但是操作系统并不支持中文,此场景中不在本服务器上部署的ORACLE客户端并不受影响,可以正确显示数据库中的中文数据。 但是使用PRM-DUL则要求实施PRM-DUL数据恢复的操作系统已经安装了对应的语言包,例如用户要恢复ZHS16GBK的中文字符集数据库,则需要操作系统上已经安装了中文语言包才可以。 类似的 在Linux上需要安装fonts-chinese 中文字体包。




  • 0
    点赞
  • 0
    评论
  • 3
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

PRM-DUL Oracle数据恢复工具,一款专为Oracle数据救援而研发的企业级工具。可在多个操作平台(AIX/HPUX/SOLARIS/Linux/Windows)使用并支持对Oracle 9i/10g/11g/12c各版本数据库的数据救援工作。软件基于JAVA 开发,绿色无需安装,图形化操作界面,易于上手使用。可基于单数据文件操作或Oracle ASM存储磁盘操作。 PRM-DUL Oracle数据恢复工具(简称PRM-DUL)是一款专为Oracle数据救援而研发的企业级工具。从1.0版本发布到现在,已经历了多次功能增强、补丁修正和恢复逻辑改进。PRM-DUL Oracle数据恢复工具已在多个操作平台(AIX/HPUX/SOLARIS/Linux/Windows)被证明稳定可用。当前版本软件支持对Oracle 9i/10g/11g/12c各版本数据库的数据救援工作。软件基于JAVA 开发,绿色无需安装,下载解压后便可直接使用。(Windows上直接点击prm.bat,在Linux/Unix上运行./prm.sh)注意JAVA版本推荐在1.6版本以上。如果需对裸设备文件进行数据救援,请安装并使用JAVA openjdk版本,除此之外,使用官方JAVA版本既可。图形化操作界面,易于上手使用。使用者无需额外学习一套命令,或者了解ORACLE 的底层数据结构原理即可以通过恢复向导(Recovery Wizard)来恢复数据数据。软件支持对单个数据文件数据扫描和抽取,同时也支持对Oracle ASM存储数据恢复。其导出的数据既可导出为sqlldr导入数据文件,也可通过PRM-DUL的Data Bridge功能直接导出并插入到指定新库,实现不落地恢复PRM-DUL Oracle数据恢复工具功能 》》可以在不需要运行Oracle数据库的情况下直接针对数据文件或进行数据解析。 》》支持ASM,可直接读取ASM磁盘并对其数据文件以及文件数据进行扫描解析。 》》支持裸设备数据文件读取。 》》支持LOB字段(CLOB, NCLOB和BLOB)恢复,并支持同一个表,不同LOB列使用不同CHUNK SIZE的情况 》》支持多种Big Endian/Little Endian操作平台(AIX/HPUX/SOLARIS/Linux/Windows)数据数据恢复 》》支持分区、子分区数据恢复 》》支持各种表,包括普通的HEAP表和聚簇(CLUSTER)表数据恢复 》》支持表被truncate后的数据恢复 》》支持表被drop后的数据恢复 》》支持在没有SYSTEM表空间和数据字典损坏的情况下的非字典模式数据恢复,并能为判断数据类型提供辅助依据 》》支持10g及以上的大文件(BigFile)表空间 》》支持同一个库不同块大小的数据文件 》》以纯文本导出时,能够自动生成建表的SQL语句和SQL*Loader导入所需的control文件 PRM-DUL Oracle(数据恢复工具) v4.1更新日志 1. 对使用DELETE命令误删除的数据的救援恢复支持 2. 对在字典模式下LOB数据Data Bridge功能增强,大幅度改善导出性能 3. 增加在非字典模式下LOB数据的Data Bridge支持。 4. 增加对字典模式/非字典模式数据加载信息的重用支持 5. 增加Schema级的DDL导出支持(包含相表,索引,视图建立语句信息) PRM-DUL Oracle数据恢复工具截图
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

qq_34556892

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值