通过Oracle DUMP 文件获取表的创建语句

1. 有了dump文件之后 想获取表的创建语句. 之前一直不知道 dump文件能够直接解析文件. 今天学习了下

需要的材料. dump文件, dump文件对应的schema和用户. 以及一个版本合适的Oracle服务器.

2. 使用方法. 将dump放到directory 的目录内. 然后执行命令:

impdp lcpdb9999/Test6530@10.24.101.102/pdbora12cr2 dumpfile=PDB.DUMP sqlfile=gspuser.text tables=gspuser transform=segment_attributes:n directory=dir logfile=2018060599.txt

执行效果

表文件特点:

3. impdp 时transform 参数的说明.

之所以 看到这个东西,因为impdp时出现了 一个错误:

ORA-39083: 对象类型 TYPE:"LCYD019999"."TYPE_MATERIALCUSFIELDS" 创建失败, 出现错误:
ORA-02304: 无效的对象标识符文字

失败的 sql 为:
CREATE EDITIONABLE TYPE "LCYD019999"."TYPE_MATERIALCUSFIELDS"   OID 'C7260DDCEBF544BD9784539A659079C6' AS OBJECT (Materials_MaterialID CHAR(20))
ORA-39083: 对象类型 TYPE:"LCYD019999"."TYP_CONCAT_CLOB" 创建失败, 出现错误:
ORA-02304: 无效的对象标识符文字

百度发现 解决方法为 在执行 impdp 命令时 添加一个参数

transform=oid:n

即可.

transform 没有默认值, 貌似必须使用 这种 键值对的方式 进行处理.

跟remap_tablespace 和 remap_schema 类似.

原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/9138785.html