使用PRM恢复Oracle数据库中误truncate截断的表数据(6)

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

使用PRM恢复Oracle数据库中误truncate截断的表数据

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

使用PRM恢复Oracle数据库中误truncate截断的表数据

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

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

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

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

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

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

使用PRM恢复Oracle数据库中误truncate截断的表数据

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

使用PRM恢复Oracle数据库中误truncate截断的表数据

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/b0f5753481b16e1f9ab7d926676dc450.html