天天看點

資料泵如何生成導出檔案的DDL腳本

    在使用exp/imp時,生成對應dumpfile檔案的DDL腳本非常容易,在使用指令imp時,添加參數show, show=y表示展示imp導入的時候,輸出相關DDL語句(不包括insert語句),而不會真正的在資料庫中執行.其實使用資料泵(expdp/impdp)也能生成對應導出dumpfile的DDL語句,參數為sqlfile。如果添加了參數sqlfile就會生成對應dumpfile的SQL DDL腳本,impdp不會真正執行資料導入。

SQLFILE Write all the SQL DDL to a specified file.

If you use sqlfile parameter, impdp will not actulally perform the import process, rather it will generate all DDL that are supposed to be executed by impdp in the sqlfile you specified.

可以使用類似下面腳本生成對應的SQL DDL腳本:

nohup impdp 'userid="/ as sysdba"' directory=dump_dir full=y dumpfile=full_20160501.dmp logfile=test.log sqlfile=db_ddl.sql &