expdp/impdp 是 oracle 10g 版本后推出的服務器端工具--數據泵,作用是為了將數據庫中的邏輯對象,比如表、用戶、全庫、表空間進 行導入,導出 | ||
命令解析 | ||
ATTACH | ATTACH [=[schema_name.]job_name] schema_name 表示用戶名,job_name 表示導出的作業名。 該選項用于與已存在導出作業建立關聯. 注意,如果使用 ATTACH 選項,在命令行除了連接字符串和 ATTACH 選 項外,不能指定任何其他選項。 可以通過查詢 DBA_DATAPUMP_JOBS 獲得系統中現有的作業信息。 | expdp isc/isc ATTACH=isc.export_job |
COMPRESSION | COMPRESSION=(METADATA_ONLY | NONE) 表 示 是 否 壓 縮 數 據 庫 對 象 的 元 數 據 , 這 里 只 提 供 兩 個 選 項 : METADATA_ONLY 和 NONE。 在 10g 這個版本中這個選項的意義不大,因為元數據本身很小,壓縮 與否對最終導出的文件大小的影響甚微。 11g 中對這個選項進行了增強,真正的提供了數據壓縮的功能。 | |
CONTENT | 該選項用于指定要導出的內容。默認值為 ALL。 CONTENT={ALL | DATA_ONLY | METADATA_ONLY} 當設置 CONTENT 為 ALL 時,會導出對象元數據及對象數據; 當設置為 DATA_ONLY 時,只導出對象數據; 當設置為 METADATA_ONLY 時,只導出對象元數據。? expdp?isc/isc?DIRECTORY=dump_dir ??DUMPFILE=test.dump CONTENT=METADATA_ONLY | |
DIRECTORY | 指定轉儲文件和日志文件所在的目錄,給定的參數是一個 DIRECTORY 數據庫對象,是通過 CREATE DIRECTORY 語句建立的。 DIRECTORY=directory_object expdp?isc/isc?DIRECTORY=dump_dir ?DUMPFILE=test.dump | |
DUMPFILE | 用于指定轉儲文件的名稱,默認名稱為 expdat.dmp。 DUMPFILE=[directory_object:]file_name [, ...] directory_object 用于指定目錄對象名,file_name 用于指定轉儲文 件名。 如果不給定 directory_object,導出工具會自動使用 DIRECTORY 選項指定的目錄對象。 這個參數可以結合 FILESIZE 參數一起使用,達到生成多個轉儲文件 的目的。 注意,如果指定路徑下已經存在待生成的導出文件,導出過程中將會 報錯退出。expdp?isc/isc?DIRECTORY=dump_dir2?DUMPFILE=dump_dir2:test.dmp | |
FILESIZE | 限定單個轉儲文件的最大容量,默認值是 0,表示沒有文件尺寸的限 制。 該選項與 DUMPFILE 選項一同使用。 FILESIZE=integer[B | K | M | G] | |
ENCRYPTION_ PASSWORD | 該 參 數 需 要 和 Oracle 的 透 明 數 據 加 密 特性(TDE)一 同 使 用, 因 為 expdp 本身是不支持加解密的。 ENCRYPTION_PASSWORD = password | |
ESTIMATE | 用于估算被導出的表占用的空間大小(不包含表的元數據)。默認值 是 BLOCKS。 ESTIMATE={BLOCKS | STATISTICS} 設置為 BLOCKS 時,oracle 會按照目標對象所占用的數據塊個數乘以 數據塊尺寸估算對象占用的空間; 設置為 STATISTICS 時,會根據最近的統計值給出對象占用空間,這種方法的誤差會比較大。無論使用哪種選項值,都會有誤差。? expdp?isc/isc?DIRECTORY=dump_dir?ESTIMATE=STATISTICS ?DUMPFILE=test.dump | |
EXTIMATE_ONLY | 指定是否只估算導出作業所占用的磁盤空間,默認值為 N ESTIMATE_ONLY={y | n} 設置為 Y 時,導出操作僅估算對象所占用的磁盤空間,不會執行導出 作業,注意此時不要使用 DUMPFILE 選項; 設置為 N 時,會估算對象所占用的磁盤空間,同時還會執行導出操作。 示例如下: expdp isc/isc ESTIMATE_ONLY=y | |
EXCLUDE | 用于控制在導出過程中哪些數據庫對象不被導出。 EXCLUDE=object_type[:name_clause] [, ...] object_type 用于指定要排除的對象類型,name_clause 用于指定要 排除的具體對象名稱。 注意 EXCLUDE 選項和 INCLUDE 選項不能同時使用。該選項支持模糊匹 配,非常好用的功能。 另外,被指定不被導出的表上的約束.索引.觸發器等均不會被導出。? expdp isc/isc ?DIRECTORY=dump_dir DUMPFILE=a.dup ?EXCLUDE=VIEW ? expdp system/oracle?directory=d1?dumpfile=hr1.dmp?parfile=exp_par.txt 參數文件 exp_par exclude=table:"= 'EMPLOYEES'" schemas=hr ? 只導出指定類型的對象 include=function include=procedure include=package schemas=hr,oe 不導出某些表參數文件 exp_par exclude=table:"in ('EMPLOYEE','DEPARTMENTS')" ? 導出指定類型的行expdp parfile=par3 根據 where 條件只導出相關行: vi par3 userid=system/oracle directory=d1 dumpfile=emp.dmp tables=hr.employees QUERY=hr.employees:"WHERE department_id > 10" ? | |
FLASHBACK_SCN | 使用 Flashback Query 特性指定導出特定 SCN 時刻的表數據。 FLASHBACK_SCN=scn_value scn_value 用 于 給 出 SCN 值 。 注 意 : FLASHBACK_SCN 選 項 和 FLASHBACK_TIME 選項不能同時使用。 expdp isc/isc DIRECTORY=dump_dir DUMPFILE=test.dmp ?FLASHBACK_SCN=358523 | |
FLASHBACK_TIME | 使用 Flashback Query 特性指定導出特定時間點的表數據。 FLASHBACK_TIME="TO_TIMESTAMP(time-value)" 注意:FLASHBACK_TIME 選項和 FLASHBACK_SCN 選項不能同時使用。? expdp isc/isc DIRECTORY=dump_dir DUMPFILE=test.dmp?FLASHBACK_TIME="TO_TIMESTAMP('23-09-2010?YYYY HH24:MI:SS')" | |
FULL | 是否以全庫模式導出數據庫。默認為 N。FULL={y | n} 為 Y 時,表示執行數據庫的全庫導出。 | |
INCLUDE | 指定導出哪些數據庫對象類型或數據庫對象。與 EXCLUDE 選項用法相 同,功能相反。 注意 INCLUDE 選項和 EXCLUDE 選項不能同時使用。 INCLUDE = object_type[:name_clause] [, ...] | |
LOGFILE | 指定導出過程中日志文件的名稱,默認值為 export.log。 LOGFILE=[directory_object:]file_name directory_object 指定目錄對象的名稱,file_name 用于指定導出日 志文件的名稱。 如果不指定 directory_object,會自動使用 DIRECTORY 選項的值。 expdp isc/isc DIRECTORY=dump_dir DUMPFILE=test.dmp?logfile=test.log | |
NETWORK_LINK | 結合數據庫鏈,完成遠程數據庫對象的導出。 NETWORK_LINK=source_database_link | |
NOLOGFILE | 控制是否禁止生成導出日志文件,默認值為 N。如果設置為 Y,表示不輸出日志。 NOLOGFILE={y | n} | |
PARALLEL | 指定執行導出操作的并行度,默認值為 1。PARALLEL=integer 注意,這個參數給出的并行度是一個真正能啟用進程數的最大值。具體會啟用多少個進程并行處理會受很多因素影響,例如生成轉儲文件的多少(不能多于文件數)、導出的數據量大小、CPU 資源還有系統 I/O 資源等因素影響。 | |
PARFILE | 指定導出操作使用到的參數文件的名稱。使用這個參數可以編寫出比 較通用的導出腳本。 PARFILE=[directory_path]file_name | |
QUERY | 用來指定類似 where 語句限定導出的記錄。相比 exp 命令的 QUERY 選項,這里更加的靈活,可以同時針對每張表進行條件限制。 QUERY = [schema.][table_name:] query_clause因 為 該 參 數 目 的 是 限 制 導 出 數 據 的 多 少 , 因 此 不 能 和CONTENT=METADATA_ONLY.ESTIMATE_ONLY還有TRANSPORT_TABLESPACES 一起使用。 expdp isc/isc directory=dump_dir dumpfiel=test.dmp tables=emp query='WHERE deptno=66' | |
SCHEMAS | 按照 SCHEMA 模式導出,默認為當前用戶。SCHEMAS=schema_name [, ...] | |
STATUS | 指定顯示導出作業進程的詳細狀態,默認值為 0。 STATUS=[integer] | |
TABLES | 以表模式導出數據。可以同時導出多個表;支持通配符格式的導出;也支持只導出分區表中的某個分區。 TABLES=[schema_name.]table_name[:partition_name] [, ...] schema_name 用于指定用戶名,table_name 用于指定導出的表名,partition_name 用于指定要導出的分區名。 | |
TABLESPACES | 指定需要導出哪個表空間中的表數據。注 意 : Only the tables contained in a specified set of tablespaces are unloaded.也就是說,只有表空間里的表數據會被導出。 TABLESPACES=tablespace_name [, ...] | |
TRANSPORT_FULL_CHECK | 用來檢查被傳輸的表空間是否為嚴格的自包含,默認為 N。? | |
TRANSPORT_TABLESPACES | 指定傳輸表空間指定的表空間列表。TABLESPACES=tablespace_name [, ...] | |
VERSION | 該 選 項用 來指 定數 據庫 生成 的轉 儲文 件最 低兼 容的 版本 ,默 認值 為 COMPATIBLE。 VERSION={COMPATIBLE | LATEST | version_string} 當值為 COMPATIBLE 時,會以初始化參數中 COMPATIBLE 參數內容為準 ; 為 LATEST 時 , 表 示 最 高 版 本 與 數 據 庫 版 本 保 持 一 致 ; version_string 是用于指定具體數據庫版本的字符 |
?