1. 程式人生 > >EXPDP/IMPDP 資料泵命令引數

EXPDP/IMPDP 資料泵命令引數

資料泵匯出實用程式提供了一種用於在 Oracle 資料庫之間傳輸 資料物件的機制。該實用程式可以使用以下命令進行呼叫: 示例: expdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp 您可以控制匯出的執行方式。具體方法是: 在 'expdp' 命令後輸入 各種引數。要指定各引數, 請使用關鍵字: 格式:expdp KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN) 示例: expdp scott/tiger DUMPFILE=scott.dmp DIRECTORY=dmpdir SCHEMAS=scott 或 TABLES=(T1:P1,T1:P2), 如果 T1 是分割槽表 USERID 必須是命令列中的第一個引數。 關鍵字說明 (預設) --------------------------------------------------------------------------- ATTACH 連線到現有作業, 例如 ATTACH [=作業名]。 COMPRESSION 減小有效的轉儲檔案內容的大小 關鍵字值為: (METADATA_ONLY) 和 NONE。 CONTENT 指定要解除安裝的資料, 其中有效關鍵字為: (ALL), DATA_ONLY 和 METADATA_ONLY。 DIRECTORY 供轉儲檔案和日誌檔案使用的目錄物件。 DUMPFILE 目標轉儲檔案 (expdat.dmp) 的列表, 例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.d ENCRYPTION_PASSWORD 用於建立加密列資料的口令關鍵字。 ESTIMATE 計算作業估計值, 其中有效關鍵字為: (BLOCKS) 和 STATISTICS。 ESTIMATE_ONLY 在不執行匯出的情況下計算作業估計值。 EXCLUDE 排除特定的物件型別, 例如 EXCLUDE=TABLE:EMP。 FILESIZE 以位元組為單位指定每個轉儲檔案的大小。 FLASHBACK_SCN 用於將會話快照設定回以前狀態的 SCN。 FLASHBACK_TIME 用於獲取最接近指定時間的 SCN 的時間。 FULL 匯出整個資料庫 (N)。 HELP 顯示幫助訊息 (N)。 INCLUDE 包括特定的物件型別, 例如 INCLUDE=TABLE_DATA。 JOB_NAME 要建立的匯出作業的名稱。 LOGFILE 日誌檔名 (export.log)。 NETWORK_LINK 連結到源系統的遠端資料庫的名稱。 NOLOGFIL 不寫入日誌檔案 (N)。 PARALLEL 更改當前作業的活動 worker 的數目。 PARFILE 指定引數檔案。 QUERY 用於匯出表的子集的謂詞子句。 SAMPLE 要匯出的資料的百分比; SCHEMAS 要匯出的方案的列表 (登入方案)。 STATUS 在預設值 (0) 將顯示可用時的新狀態的情況下, 要監視的頻率 (以秒計) 作業狀態。 TABLES 標識要匯出的表的列表 - 只有一個方案。 TABLESPACES 標識要匯出的表空間的列表。 TRANSPORT_FULL_CHECK 驗證所有表的儲存段 (N)。 TRANSPORT_TABLESPACES 要從中解除安裝元資料的表空間的列表。 VERSION 要匯出的物件的版本, 其中有效關鍵字為: (COMPATIBLE), LATEST 或任何有效的資料庫版本。 下列命令在互動模式下有效。 注: 允許使用縮寫 命令 說明 --------------------------------------------------------------------------- ADD_FILE 向轉儲檔案集中新增轉儲檔案。 CONTINUE_CLIENT 返回到記錄模式。如果處於空閒狀態, 將重新啟動作業。 EXIT_CLIENT 退出客戶機會話並使作業處於執行狀態。 FILESIZE 後續 ADD_FILE 命令的預設檔案大小 (位元組)。 HELP 總結互動命令。 KILL_JOB 分離和刪除作業。 PARALLEL 更改當前作業的活動 worker 的數目。 PARALLEL=<worker 的數目>。 START_JOB 啟動/恢復當前作業。 STATUS    在預設值 (0) 將顯示可用時的新狀態的情況下, 要監視的頻率 (以秒計) 作業狀態。 STATUS[=interval] STOP_JOB 順序關閉執行的作業並退出客戶機。 STOP_JOB=IMMEDIATE 將立即關閉 資料泵作業。 Import: Release 10.2.0.1.0 - Production on 星期三, 12 11月, 2008 15:12:34 Copyright (c) 2003, 2005, Oracle.??All rights reserved. 資料泵匯入實用程式提供了一種用於在 Oracle 資料庫之間傳輸 資料物件的機制。該實用程式可以使用以下命令進行呼叫: 示例: impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp 您可以控制匯入的執行方式。具體方法是: 在 'impdp' 命令後輸入 各種引數。要指定各引數, 請使用關鍵字: 格式:impdp KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN) 示例: impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp USERID 必須是命令列中的第一個引數。 關鍵字說明 (預設) ------------------------------------------------------------------------------ ATTACH 連線到現有作業, 例如 ATTACH [=作業名]。 CONTENT 指定要載入的資料, 其中有效關鍵字為: (ALL), DATA_ONLY 和 METADATA_ONLY。 DIRECTORY供轉儲檔案, 日誌檔案和 sql 檔案使用的目錄物件。 DUMPFILE要從 (expdat.dmp) 中匯入的轉儲檔案的列表, 例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp。 ENCRYPTION_PASSWORD用於訪問加密列資料的口令關鍵字。 此引數對網路匯入作業無效。 ESTIMATE計算作業估計值, 其中有效關鍵字為: (BLOCKS) 和 STATISTICS。 EXCLUDE排除特定的物件型別, 例如 EXCLUDE=TABLE:EMP。 FLASHBACK_SCN用於將會話快照設定回以前狀態的 SCN。 FLASHBACK_TIME用於獲取最接近指定時間的 SCN 的時間。 FULL從源匯入全部物件 (Y)。 HELP顯示幫助訊息 (N)。 INCLUDE包括特定的物件型別, 例如 INCLUDE=TABLE_DATA。 JOB_NAME要建立的匯入作業的名稱。 LOGFILE日誌檔名 (import.log)。 NETWORK_LINK連結到源系統的遠端資料庫的名稱。 NOLOGFILE不寫入日誌檔案。 PARALLEL更改當前作業的活動 worker 的數目。 PARFILE指定引數檔案。 QUERY用於匯入表的子集的謂詞子句。 REMAP_DATAFILE在所有 DDL 語句中重新定義資料檔案引用。 REMAP_SCHEMA 將一個方案中的物件載入到另一個方案。 REMAP_TABLESPACE將表空間物件重新對映到另一個表空間。 REUSE_DATAFILES如果表空間已存在, 則將其初始化 (N)。 SCHEMAS要匯入的方案的列表。 SKIP_UNUSABLE_INDEXES 跳過設定為無用索引狀態的索引。 SQLFILE將所有的 SQL DDL 寫入指定的檔案。 STATUS 在預設值 (0) 將顯示可用時的新狀態的情況下, 要監視的頻率 (以秒計) 作業狀態。 STREAMS_CONFIGURATION 啟用流元資料的載入 TABLE_EXISTS_ACTION匯入物件已存在時執行的操作。 有效關鍵字: (SKIP), APPEND, REPLACE 和 TRUNCATE。 TABLES 標識要匯入的表的列表。 TABLESPACES標識要匯入的表空間的列表。 TRANSFORM 要應用於適用物件的元資料轉換。 OID 和 PCTSPACE。 TRANSPORT_DATAFILES按可傳輸模式匯入的資料檔案的列表。 TRANSPORT_FULL_CHECK 驗證所有表的儲存段 (N)。 TRANSPORT_TABLESPACES 要從中載入元資料的表空間的列表。  僅在 NETWORK_LINK 模式匯入操作中有效。 VERSION 要匯出的物件的版本, 其中有效關鍵字為:  COMPATIBLE), LATEST 或任何有效的資料庫版本。  僅對 NETWORK_LINK 和 SQLFILE 有效。 下列命令在互動模式下有效。 注: 允許使用縮寫 命令 說明 (預設) ------------------------------------------------------------------------------ CONTINUE_CLIENT 返回到記錄模式。如果處於空閒狀態, 將重新啟動作業。 EXIT_CLIENT 退出客戶機會話並使作業處於執行狀態。 HELP 總結互動命令。 KILL_JOB 分離和刪除作業。 PARALLEL 更改當前作業的活動 worker 的數目。 PARALLEL=<worker 的數目>。 START_JOB啟動/恢復當前作業。  START_JOB=SKIP_CURRENT 在開始作業之前將跳過  作業停止時執行的任意操作。 STATUS 在預設值 (0) 將顯示可用時的新狀態的情況下,  要監視的頻率 (以秒計) 作業狀態。  STATUS[=interval] STOP_JOB順序關閉執行的作業並退出客戶機。  STOP_JOB=IMMEDIATE 將立即關閉  資料泵作業。 Oracle Database 10g引入了最新的資料泵(Data Dump)技術,使DBA或開發人員可以將資料庫元資料(物件定義)和資料快速移動到另一個oracle資料庫中. 資料泵匯出匯入(EXPDP和IMPDP)的作用 1、實現邏輯備份和邏輯恢復. 2、在資料庫使用者之間移動物件. 3、在資料庫之間移動物件 4、實現表空間搬移.? ?? ? 資料泵匯出匯入與傳統匯出匯入的區別: 在10g之前,傳統的匯出和匯入分別使用EXP工具和IMP工具,從10g開始,不僅保留了原有的EXP和IMP工具,還提供了資料泵匯出匯入工具EXPDP和IMPDP.使用EXPDP和IMPDP時應該注意的事項; EXP和IMP是客戶段工具程式,它們既可以在客戶端使用,也可以在伺服器段使用. EXPDP和IMPDP是服務端的工具程式,他們只能在ORACLE服務端使用,不能在客戶端使用 IMP只適用於EXP匯出檔案,不適用於EXPDP匯出檔案;IMPDP只適用於EXPDP匯出檔案,而不適用於EXP匯出檔案. 資料泵匯出包括匯出表,匯出方案,匯出表空間,匯出資料庫4種方式. EXPDP命令列選項 1. ATTACH 該選項用於在客戶會話與已存在匯出作用之間建立關聯.語法如下 ATTACH=[schema_name.]job_name Schema_name用於指定方案名,job_name用於指定匯出作業名.注意,如果使用ATTACH選項,在命令列除了連線字串和ATTACH選項外,不能指定任何其他選項,示例如下: Expdp scott/tiger ATTACH=scott.export_job 2. CONTENT 該選項用於指定要匯出的內容.預設值為ALL CONTENT={ALL | DATA_ONLY | METADATA_ONLY} 當設定CONTENT為ALL 時,將匯出物件定義及其所有資料.為DATA_ONLY時,只匯出物件資料,為METADATA_ONLY時,只匯出物件定義 Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dump CONTENT=METADATA_ONLY 3. DIRECTORY 指定轉儲檔案和日誌檔案所在的目錄 DIRECTORY=directory_object Directory_object用於指定目錄物件名稱.需要注意,目錄物件是使用CREATE DIRECTORY語句建立的物件,而不是OS 目錄 Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dump 建立目錄: CREATE DIRECTORY dump as ‘d:dump’; 查詢建立了那些子目錄: SELECT * FROM dba_directories; 4. DUMPFILE 用於指定轉儲檔案的名稱,預設名稱為expdat.dmp DUMPFILE=[directory_object:]file_name [,….] Directory_object用於指定目錄物件名,file_name用於指定轉儲檔名.需要注意,如果不指定directory_object,匯出工具會自動使用DIRECTORY選項指定的目錄物件 Expdp scott/tiger DIRECTORY=dump1 DUMPFILE=dump2:a.dmp 5. ESTIMATE 指定估算被匯出表所佔用磁碟空間分方法.預設值是BLOCKS EXTIMATE={BLOCKS | STATISTICS} 設定為BLOCKS時,oracle會按照目標物件所佔用的資料塊個數乘以資料塊尺寸估算物件佔用的空間,設定為STATISTICS時,根據最近統計值估算物件佔用空間 Expdp scott/tiger TABLES=emp ESTIMATE=STATISTICS DIRECTORY=dump DUMPFILE=a.dump 6. EXTIMATE_ONLY 指定是否只估算匯出作業所佔用的磁碟空間,預設值為N EXTIMATE_ONLY={Y | N} 設定為Y時,匯出作用只估算物件所佔用的磁碟空間,而不會執行匯出作業,為N時,不僅估算物件所佔用的磁碟空間,還會執行匯出操作. Expdp scott/tiger ESTIMATE_ONLY=y NOLOGFILE=y 7. EXCLUDE 該選項用於指定執行操作時釋放要排除物件型別或相關物件 EXCLUDE=object_type[:name_clause] [,….] Object_type用於指定要排除的物件型別,name_clause用於指定要排除的具體物件.EXCLUDE和INCLUDE不能同時使用 Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dup EXCLUDE=VIEW 8. FILESIZE 指定匯出檔案的最大尺寸,預設為0,(表示檔案尺寸沒有限制) 9. FLASHBACK_SCN 指定匯出特定SCN時刻的表資料 FLASHBACK_SCN=scn_value Scn_value用於標識SCN值.FLASHBACK_SCN和FLASHBACK_TIME不能同時使用 Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_SCN=358523 10. FLASHBACK_TIME 指定匯出特定時間點的表資料 FLASHBACK_TIME=”TO_TIMESTAMP(time_value)” Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_TIME= “TO_TIMESTAMP(’25-08-2004 14:35:00’,’DD-MM-YYYY HH24:MI:SS’)” 11. FULL 指定資料庫模式匯出,預設為N FULL={Y | N} 為Y時,標識執行資料庫匯出. 12. HELP 指定是否顯示EXPDP命令列選項的幫助資訊,預設為N 當設定為Y時,會顯示匯出選項的幫助資訊. Expdp help=y 13. INCLUDE 指定匯出時要包含的物件型別及相關物件 INCLUDE = object_type[:name_clause] [,… ] 14. JOB_NAME 指定要匯出作用的名稱,預設為SYS_XXX JOB_NAME=jobname_string 15. LOGFILE 指定匯出日誌檔案檔案的名稱,預設名稱為export.log LOGFILE=[directory_object:]file_name Directory_object用於指定目錄物件名稱,file_name用於指定匯出日誌檔名.如果不指定directory_object.匯出作用會自動使用DIRECTORY的相應選項值. Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp logfile=a.log 16. NETWORK_LINK 指定資料庫鏈名,如果要將遠端資料庫物件匯出到本地例程的轉儲檔案中,必須設定該選項. 17. NOLOGFILE 該選項用於指定禁止生成匯出日誌檔案,預設值為N. 18. PARALLEL 指定執行匯出操作的並行程序個數,預設值為1 19. PARFILE 指定匯出引數檔案的名稱 PARFILE=[directory_path] file_name 20. QUERY 用於指定過濾匯出資料的where條件 QUERY=[schema.] [table_name:] query_clause Schema用於指定方案名,table_name用於指定表名,query_clause用於指定條件限制子句.QUERY選項不能與CONNECT=METADATA_ONLY,EXTIMATE_ONLY,TRANSPORT_TABLESPACES等選項同時使用. Expdp scott/tiger directory=dump dumpfiel=a.dmp Tables=emp query=’WHERE deptno=20’ 21. SCHEMAS 該方案用於指定執行方案模式匯出,預設為當前使用者方案. 22. STATUS 指定顯示匯出作用程序的詳細狀態,預設值為0 23. TABLES 指定表模式匯出 TABLES=[schema_name.]table_name[artition_name][,…] Schema_name用於指定方案名,table_name用於指定匯出的表名,partition_name用於指定要匯出的分割槽名. 24. TABLESPACES 指定要匯出表空間列表 25. TRANSPORT_FULL_CHECK 該選項用於指定被搬移表空間和未搬移表空間關聯關係的檢查方式,預設為N. 當設定為Y時,匯出作用會檢查表空間直接的完整關聯關係,如果表空間所在表空間或其索引所在的表空間只有一個表空間被搬移,將顯示錯誤資訊.當設定為N時,匯出作用只檢查單端依賴,如果搬移索引所在表空間,但未搬移表所在表空間,將顯示出錯資訊,如果搬移表所在表空間,未搬移索引所在表空間,則不會顯示錯誤資訊. 26. TRANSPORT_TABLESPACES 指定執行表空間模式匯出 27. VERSION 指定被匯出物件的資料庫版本,預設值為COMPATIBLE. VERSION={COMPATIBLE | LATEST | version_string} 為COMPATIBLE時,會根據初始化引數COMPATIBLE生成物件元資料;為LATEST時,會根據資料庫的實際版本生成物件元資料.version_string用於指定資料庫版本字串.呼叫EXPDP 使用EXPDP工具時,其轉儲檔案只能被存放在DIRECTORY物件對應的OS目錄中,而不能直接指定轉儲檔案所在的OS目錄.因此,使用EXPDP工具時,必須首先建立DIRECTORY物件.並且需要為資料庫使用者授予使用DIRECTORY物件許可權

. CREATE DIRECTORY dump dir AS ‘DUMP’; GRANT READ, WIRTE ON DIRECTORY dump_dir TO scott; 1、匯出表 Expdp scott/tiger DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=dept,emp 2、匯出方案 Expdp scott/tiger DIRECTORY=dump_dir DUMPFILE=schema.dmp SCHEMAS=system,scott 3、匯出表空間 Expdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespace.dmp TABLESPACES=user01,user02 4、匯出資料庫 Expdp system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=Y 使用IMPDP IMPDP命令列選項與EXPDP有很多相同的,不同的有: 1、REMAP_DATAFILE 該選項用於將源資料檔名轉變為目標資料檔名,在不同平臺之間搬移表空間時可能需要該選項. REMAP_DATAFIEL=source_datafie:target_datafile 2、REMAP_SCHEMA 該選項用於將源方案的所有物件裝載到目標方案中. REMAP_SCHEMA=source_schema:target_schema 3、REMAP_TABLESPACE 將源表空間的所有物件匯入到目標表空間中 REMAP_TABLESPACE=source_tablespace:target:tablespace 4、REUSE_DATAFILES 該選項指定建立表空間時是否覆蓋已存在的資料檔案.預設為N REUSE_DATAFIELS={Y | N} 5、SKIP_UNUSABLE_INDEXES 指定匯入是是否跳過不可使用的索引,預設為N 6、SQLFILE 指定將匯入要指定的索引DDL操作寫入到SQL指令碼中 SQLFILE=[directory_object:]file_name Impdp scott/tiger DIRECTORY=dump DUMPFILE=tab.dmp SQLFILE=a.sql 7、STREAMS_CONFIGURATION 指定是否匯入流元資料(Stream Matadata),預設值為Y. 8、TABLE_EXISTS_ACTION 該選項用於指定當表已經存在時匯入作業要執行的操作,預設為SKIP TABBLE_EXISTS_ACTION={SKIP | APPEND | TRUNCATE | FRPLACE } 當設定該選項為SKIP時,匯入作業會跳過已存在表處理下一個物件;當設定為APPEND時,會追加資料,為TRUNCATE時,匯入作業會截斷表,然後為其追加新資料;當設定為REPLACE時,匯入作業會刪除已存在表,重建表病追加資料,注意,TRUNCATE選項不適用與簇表和NETWORK_LINK選項 9、TRANSFORM 該選項用於指定是否修改建立物件的DDL語句 TRANSFORM=transform_name:value[bject_type] Transform_name用於指定轉換名,其中SEGMENT_ATTRIBUTES用於標識段屬性(物理屬性,儲存屬性,表空間,日誌等資訊),STORAGE用於標識段儲存屬性,VALUE用於指定是否包含段屬性或段儲存屬性,object_type用於指定物件型別. Impdp scott/tiger directory=dump dumpfile=tab.dmp Transform=segment_attributes:n:table 10、TRANSPORT_DATAFILES 該選項用於指定搬移空間時要被匯入到目標資料庫的資料檔案 TRANSPORT_DATAFILE=datafile_name Datafile_name用於指定被複制到目標資料庫的資料檔案 Impdp system/manager DIRECTORY=dump DUMPFILE=tts.dmp TRANSPORT_DATAFILES=’/user01/data/tbs1.f’呼叫IMPDP 1、匯入表 Impdp scott/tiger DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=dept,emp Impdp system/manage DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=scott.dept,scott.emp REMAP_SCHEMA=SCOTT:SYSTEM 第一種方法表示將DEPT和EMP表匯入到SCOTT方案中,第二種方法表示將DEPT和EMP表匯入的SYSTEM? ??? EXPDP和IMPDP使用說明 Oracle Database 10g引入了最新的資料泵(Data Dump)技術,使DBA或開發人員可以將資料庫元資料(物件定義)和資料快速移動到另一個oracle資料庫中. 資料泵匯出匯入(EXPDP和IMPDP)的作用 1,實現邏輯備份和邏輯恢復. 2,在資料庫使用者之間移動物件. 3,在資料庫之間移動物件 4,實現表空間搬移. 資料泵匯出匯入與傳統匯出匯入的區別 在10g之前,傳統的匯出和匯入分別使用EXP工具和IMP工具,從10g開始,不僅保留了原有的EXP和IMP工具,還提供了資料泵匯出匯入工具EXPDP和IMPDP.使用EXPDP和IMPDP時應該注意的事項; EXP和IMP是客戶段工具程式,它們既可以在可以段使用,也可以在服務段使用. EXPDP和IMPDP是服務端的工具程式,他們只能在ORACLE服務端使用,不能在客戶端使用 IMP只適用於EXP匯出檔案,不適用於EXPDP匯出檔案;IMPDP只適用於EXPDP匯出檔案,而不適用於EXP匯出檔案. 資料泵匯出包括匯出表,匯出方案,匯出表空間,匯出資料庫4種方式. EXPDP命令列選項 1. ATTACH 該選項用於在客戶會話與已存在匯出作用之間建立關聯.語法如下 ATTACH=[schema_name.]job_name Schema_name用於指定方案名,job_name用於指定匯出作業名.注意,如果使用ATTACH選項,在命令列除了連線字串和ATTACH選項外,不能指定任何其他選項,示例如下: Expdp scott/tiger ATTACH=scott.export_job 2. CONTENT 該選項用於指定要匯出的內容.預設值為ALL CONTENT={ALL | DATA_ONLY | METADATA_ONLY} 當設定CONTENT為ALL 時,將匯出物件定義及其所有資料.為DATA_ONLY時,只匯出物件資料,為METADATA_ONLY時,只匯出物件定義 Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dump CONTENT=METADATA_ONLY 3. DIRECTORY 指定轉儲檔案和日誌檔案所在的目錄 DIRECTORY=directory_object Directory_object用於指定目錄物件名稱.需要注意,目錄物件是使用CREATE DIRECTORY語句建立的物件,而不是OS 目錄 Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dump 建立目錄: CREATE DIRECTORY dump as ‘d:dump’; 查詢建立了那些子目錄: SELECT * FROM dba_directories; 4. DUMPFILE 用於指定轉儲檔案的名稱,預設名稱為expdat.dmp DUMPFILE=[directory_object:]file_name [,….] Directory_object用於指定目錄物件名,file_name用於指定轉儲檔名.需要注意,如果不指定directory_object,匯出工具會自動使用DIRECTORY選項指定的目錄物件 Expdp scott/tiger DIRECTORY=dump1 DUMPFILE=dump2:a.dmp 5. ESTIMATE 指定估算被匯出表所佔用磁碟空間分方法.預設值是BLOCKS EXTIMATE={BLOCKS | STATISTICS} 設定為BLOCKS時,oracle會按照目標物件所佔用的資料塊個數乘以資料塊尺寸估算物件佔用的空間,設定為STATISTICS時,根據最近統計值估算物件佔用空間 Expdp scott/tiger TABLES=emp ESTIMATE=STATISTICS DIRECTORY=dump DUMPFILE=a.dump 6. EXTIMATE_ONLY 指定是否只估算匯出作業所佔用的磁碟空間,預設值為N EXTIMATE_ONLY={Y | N} 設定為Y時,匯出作用只估算物件所佔用的磁碟空間,而不會執行匯出作業,為N時,不僅估算物件所佔用的磁碟空間,還會執行匯出操作. Expdp scott/tiger ESTIMATE_ONLY=y NOLOGFILE=y 7. EXCLUDE 該選項用於指定執行操作時釋放要排除物件型別或相關物件 EXCLUDE=object_type[:name_clause] [,….] Object_type用於指定要排除的物件型別,name_clause用於指定要排除的具體物件.EXCLUDE和INCLUDE不能同時使用 Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dup EXCLUDE=VIEW 8. FILESIZE 指定匯出檔案的最大尺寸,預設為0,(表示檔案尺寸沒有限制) 9. FLASHBACK_SCN 指定匯出特定SCN時刻的表資料 FLASHBACK_SCN=scn_value Scn_value用於標識SCN值.FLASHBACK_SCN和FLASHBACK_TIME不能同時使用 Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_SCN=358523 10. FLASHBACK_TIME 指定匯出特定時間點的表資料 FLASHBACK_TIME=”TO_TIMESTAMP(time_value)” Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_TIME= “TO_TIMESTAMP(’25-08-2004 14:35:00’,’DD-MM-YYYY HH24:MI:SS’)” 11. FULL 指定資料庫模式匯出,預設為N FULL={Y | N} 為Y時,標識執行資料庫匯出. 12. HELP 指定是否顯示EXPDP命令列選項的幫助資訊,預設為N 當設定為Y時,會顯示匯出選項的幫助資訊. Expdp help=y 13. INCLUDE 指定匯出時要包含的物件型別及相關物件 INCLUDE = object_type[:name_clause] [,… ] 14. JOB_NAME 指定要匯出作用的名稱,預設為SYS_XXX JOB_NAME=jobname_string 15. LOGFILE 指定匯出日誌檔案檔案的名稱,預設名稱為export.log LOGFILE=[directory_object:]file_name Directory_object用於指定目錄物件名稱,file_name用於指定匯出日誌檔名.如果不指定directory_object.匯出作用會自動使用DIRECTORY的相應選項值. Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp logfile=a.log 16. NETWORK_LINK 指定資料庫鏈名,如果要將遠端資料庫物件匯出到本地例程的轉儲檔案中,必須設定該選項. 17. NOLOGFILE 該選項用於指定禁止生成匯出日誌檔案,預設值為N. 18. PARALLEL 指定執行匯出操作的並行程序個數,預設值為1 19. PARFILE 指定匯出引數檔案的名稱 PARFILE=[directory_path] file_name 20. QUERY 用於指定過濾匯出資料的where條件 QUERY=[schema.] [table_name:] query_clause Schema用於指定方案名,table_name用於指定表名,query_clause用於指定條件限制子句.QUERY選項不能與CONNECT=METADATA_ONLY,EXTIMATE_ONLY,TRANSPORT_TABLESPACES等選項同時使用. Expdp scott/tiger directory=dump dumpfiel=a.dmp Tables=emp query=’WHERE deptno=20’ 21. SCHEMAS 該方案用於指定執行方案模式匯出,預設為當前使用者方案. 22. STATUS 指定顯示匯出作用程序的詳細狀態,預設值為0 23. TABLES 指定表模式匯出 TABLES=[schema_name.]table_name[artition_name][,…] Schema_name用於指定方案名,table_name用於指定匯出的表名,partition_name用於指定要匯出的分割槽名. 24. TABLESPACES 指定要匯出表空間列表 25. TRANSPORT_FULL_CHECK 該選項用於指定被搬移表空間和未搬移表空間關聯關係的檢查方式,預設為N. 當設定為Y時,匯出作用會檢查表空間直接的完整關聯關係,如果表空間所在表空間或其索引所在的表空間只有一個表空間被搬移,將顯示錯誤資訊.當設定為N時,匯出作用只檢查單端依賴,如果搬移索引所在表空間,但未搬移表所在表空間,將顯示出錯資訊,如果搬移表所在表空間,未搬移索引所在表空間,則不會顯示錯誤資訊. 26. TRANSPORT_TABLESPACES 指定執行表空間模式匯出 27. VERSION 指定被匯出物件的資料庫版本,預設值為COMPATIBLE. VERSION={COMPATIBLE | LATEST | version_string} 為COMPATIBLE時,會根據初始化引數COMPATIBLE生成物件元資料;為LATEST時,會根據資料庫的實際版本生成物件元資料.version_string用於指定資料庫版本字串. 呼叫EXPDP 使用EXPDP工具時,其轉儲檔案只能被存放在DIRECTORY物件對應的OS目錄中,而不能直接指定轉儲檔案所在的OS目錄.因此,使用EXPDP工具時,必須首先建立DIRECTORY物件.並且需要為資料庫使用者授予使用DIRECTORY物件許可權. CREATE DIRECTORY dump dir AS ‘DUMP’; GRANT READ, WIRTE ON DIRECTORY dump_dir TO scott; 1,匯出表 Expdp scott/tiger DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=dept,emp 2,匯出方案 Expdp scott/tiger DIRECTORY=dump_dir DUMPFILE=schema.dmp SCHEMAS=system,scott 3.匯出表空間 Expdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespace.dmp TABLESPACES=user01,user02 4,匯出資料庫 Expdp system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=Y 使用IMPDP IMPDP命令列選項與EXPDP有很多相同的,不同的有: 1,REMAP_DATAFILE 該選項用於將源資料檔名轉變為目標資料檔名,在不同平臺之間搬移表空間時可能需要該選項. REMAP_DATAFIEL=source_datafie:target_datafile 2,REMAP_SCHEMA 該選項用於將源方案的所有物件裝載到目標方案中. REMAP_SCHEMA=source_schema:target_schema 3,REMAP_TABLESPACE 將源表空間的所有物件匯入到目標表空間中 REMAP_TABLESPACE=source_tablespace:target:tablespace 4.REUSE_DATAFILES 該選項指定建立表空間時是否覆蓋已存在的資料檔案.預設為N REUSE_DATAFIELS={Y | N} 5.SKIP_UNUSABLE_INDEXES 指定匯入是是否跳過不可使用的索引,預設為N 6,SQLFILE 指定將匯入要指定的索引DDL操作寫入到SQL指令碼中 SQLFILE=[directory_object:]file_name Impdp scott/tiger DIRECTORY=dump DUMPFILE=tab.dmp SQLFILE=a.sql 7.STREAMS_CONFIGURATION 指定是否匯入流元資料(Stream Matadata),預設值為Y. 8,TABLE_EXISTS_ACTION 該選項用於指定當表已經存在時匯入作業要執行的操作,預設為SKIP TABBLE_EXISTS_ACTION={SKIP | APPEND | TRUNCATE | FRPLACE } 當設定該選項為SKIP時,匯入作業會跳過已存在表處理下一個物件;當設定為APPEND時,會追加資料,為TRUNCATE時,匯入作業會截斷表,然後為其追加新資料;當設定為REPLACE時,匯入作業會刪除已存在表,重建表病追加資料,注意,TRUNCATE選項不適用與簇表和NETWORK_LINK選項 9.TRANSFORM 該選項用於指定是否修改建立物件的DDL語句 TRANSFORM=transform_name:value[bject_type] Transform_name用於指定轉換名,其中SEGMENT_ATTRIBUTES用於標識段屬性(物理屬性,儲存屬性,表空間,日誌等資訊),STORAGE用於標識段儲存屬性,VALUE用於指定是否包含段屬性或段儲存屬性,object_type用於指定物件型別. Impdp scott/tiger directory=dump dumpfile=tab.dmp Transform=segment_attributes:n:table 10.TRANSPORT_DATAFILES 該選項用於指定搬移空間時要被匯入到目標資料庫的資料檔案 TRANSPORT_DATAFILE=datafile_name Datafile_name用於指定被複制到目標資料庫的資料檔案 Impdp system/manager DIRECTORY=dump DUMPFILE=tts.dmp TRANSPORT_DATAFILES=’/user01/data/tbs1.f’ 呼叫IMPDP 1, 匯入表 Impdp scott/tiger DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=dept,emp Impdp system/manage DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=scott.dept,scott.emp REMAP_SCHEMA=SCOTT:SYSTEM 第一種方法表示將DEPT和EMP表匯入到SCOTT方案中,第二種方法表示將DEPT和EMP表匯入的SYSTEM方案中. 注意,如果要將表匯入到其他方案中,必須指定REMAP SCHEMA選項. 2,匯入方案 Impdp scott/tiger DIRECTORY=dump_dir DUMPFILE=schema.dmp SCHEMAS=scott Impdp system/manager DIRECTORY=dump_dir DUMPFILE=schema.dmp SCHEMAS=scott REMAP_SCHEMA=scott:system 3,匯入表空間 Impdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespace.dmp TABLESPACES=user01 4,匯入資料庫 Impdp system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y 10G資料泵載入命令expdp/impdp的引數說明 在10.2.0.1版本中預設已建立一些directory。 SQL> select * from v$version; BANNER --------------------------------------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod PL/SQL Release 10.2.0.1.0 - Production CORE 10.2.0.1.0 Production TNS for Linux: Version 10.2.0.1.0 - Production NLSRTL Version 10.2.0.1.0 - Production SQL> select * from dba_directories; OWNER DIRECTORY_NAME DIRECTORY_PATH ---------- --------------- ------------------------------------------------------------ SYS ADMIN_DIR /ade/aime_10.2_lnx_push/oracle/md/admin SYS SUBDIR /home/oracle/product/10.2.0/demo/schema/order_entry//2002/Sep SYS DATA_FILE_DIR /home/oracle/product/10.2.0/demo/schema/sales_history/ SYS WORK_DIR /ade/aime_10.2_lnx_push/oracle/work SYS LOG_FILE_DIR /home/oracle/product/10.2.0/demo/schema/log/ SYS MEDIA_DIR /home/oracle/product/10.2.0/demo/schema/product_media/ SYS XMLDIR /home/oracle/product/10.2.0/demo/schema/order_entry/ SYS DATA_PUMP_DIR /home/oracle/product/10.2.0/rdbms/log/ 8 rows selected. SQL> create directory data_pump_dir1 as '/home/oracle/datapump1'; Directory created. SQL> create directory data_pump_dir2 as '/home/oracle/datapump2'; Directory created. --建立使用者賦予目錄許可權 SQL> grant connect,resource to susan identified by susan; Grant succeeded. SQL> grant read,write on directory data_pump_dir1 to susan; Grant succeeded. SQL> grant read,write on directory data_pump_dir2 to susan; Grant succeeded. --賦予expdp,impdp的許可權 SQL> grant exp_full_database,imp_full_database to susan; Grant succeeded. EXPDP 引數說明: 1.與檔案和目錄有關的引數: 包括:DIRECTORY,DUMPIFLE,FILESIZE,PARFILE,LOGIFLE,NOLOGIFLE和COMPRESSION。 DIRECTORY引數用法: --直接使用DIRECTORY引數,如 expdp susan/susan directory=data_dump_dir1 dumpfile=susan01.dmp --DIRECTORY:FILE表示法,如 expdp susan/susan dumpfile=data_pump_dir1:test1.dmp,data_pump_dir2:test2.dmp; 或 expdp susan/susan dumpfile=data_pump_dir1:test1.dmp,data_pump_dir2:test2.dmp logfile=data_pump_dir1:test1.log --DATA_PUMP_DIR環境變數: export DATA_PUMP_DIR=DATA_PUMP_DIR1 --這裡我名字必須大寫,就奇怪了,小寫還不行。 expdp susan/susan dumpfile=susan.dmp DIRECTORY的優先次序:檔案有關的引數(logfile,dumpfile),這種情況下目錄物件與檔名用冒號(:)分開 > 指定的DIRECTORY引數 > DATA_DUMP_DIR環境變數 > 預設的基於伺服器的目錄物件DATA_DUMP_DIR DUMPFILE引數的用法: 代替exp的file引數,可以用%U變數擴充套件成多個檔名,用','號也可以提供多個檔案。 FILESIZE引數的用法: 指定轉儲檔案的尺寸,預設以位元組為單位,如轉儲檔案到達此限制,作業將停止 PARFILE引數的用法: 即引數檔案來代替命令列來直接輸入 LOGFILE和NOLOGFILE 不指定logfile會自動建立一個名為export.log的日誌檔案,用nologfile可以禁止日誌產生。 COMMPRESSION引數: 壓縮與否,值為METADATA_ONLY或NONE,沒有辦法來指定壓縮匯出資料本身 2.與匯出方式有關的引數: 包括:FULL,SCHEMAS,TABLES,TABLESPACE,TRANSPORT_TABLESPACE和TRANSPORT_FULL_CHECK 其它引數都好理解,TRANSPORT_FULL_CHECK引數是當匯出作業時將檢查資料的相關性,如值為Y,檢查不通過時匯出也失 敗。 3.匯出過濾引數: CONTENT:有三個值:ALL,DATA_ONLY和METADATA_ONLY EXCLUDE和INCLUDE:此兩引數互斥,使用格式為 EXCLUDE/INCLUDE=object_type[:name_clause],如exclude=TABLE:"LIKE 'EMP%'"或 直接exclude=index expdp susan/susan dumpfile=su.dmp exclude=SCHEMA:"='SAN'" --注意雙引號要用斜槓轉義 QUERY:如QUERY=OE.ORDER:"WHERE ORDER_ID > 1000000" SAMPLE:允許指定範圍從0.000001到100的一個百分數,格式為[[schema_name.]table_name]sample_percent 4.估算引數: ESTIMATE:值可為BLOCKS或STATISTICS BLOCKS是指根據塊的空間估算其匯出作類的空間需求。 STATISTICS是根據每個表計算過的統計資料來估算空間需求,當表剛分析過後,用此引數才會較準。 ESTIMATE_ONLY:值為Y或N,使用此引數可以先估算匯出作業將需要的空間,而不啟動匯出作業。 5.網路連結引數 NETWORK_LINK:可以從伺服器中啟動一個匯出作業,將遠端資料庫的資料匯出到你啟動資料泵取匯出作業的轉儲檔案中。 6.加密引數: ENCRYPTION_PASSWORD:對轉儲的檔案進行加密 7.與作業有關的引數 JOB_NAME:給匯出作業提供一個明確的名字,否則oracle會分配一個預設名字 STATUS:如執行長時間的匯出作業,此引數可以按照所指定的時間間隔提供更新的狀態。單位是秒,如果想每分鐘顯示匯出狀態就用 status=60 FLASHBACK_SCN,FLASHBACK_TIME PARALLEL:使用多執行緒 ATTACH:將你的資料泵取客戶機會話加入到一個執行的作業中,並使你進行互動方式。此引數只能與使用者名稱/密碼組合一起使用。 8.互動方式下的匯出命令 ADD_FILE:給轉儲檔案集合增加一個轉儲檔案 CONTINUE_CLIENT:如果作業暫停的話重新啟動 EXIT_CLIETN:退出客戶機會話並恢復作業執行 HELP:幫助命令 KILL_JOB:釋放並刪除作業 PARALLEL:改變當前作業的活動工程序的數量 START_JOB:啟動或重新恢復當前的作業 STATUS:設定作業監控的頻率(以秒為單位) STOP_JOB:關閉作業的執行 IMPDP 引數說明: 1.與檔案和目錄有關的引數: 包括:DIRECTORY,DUMPIFLE,PARFILE,LOGIFLE,NOLOGIFLE和EXPDP相同,另有一個SQLFILE,此引數類似於舊的IMP的INDEXFILE引數,用 在希望從轉儲檔案中提取DDL。 如:impdp susan/susan directory=data_pump_dir2 dumpfile=test2.dmp sqlfile=data_pump_dir1:test2.sql schemas=susan 就是指將屬於 susan模式的所有DDL寫入位於data_pump_dir1的test2.sql檔案中,當然在data_pump_dir2中必須有test2.dmp的轉儲文 件。 另一個重要的與檔案有關的引數是REUSE_DATAFILES,此引數告訴資料泵取在匯入過程中是否應該使用已有的資料檔案來建立表空間, 如果指定為Y,則資料泵取匯入程式將改寫已有的資料檔案。 2.過濾引數: INCLUDE,EXCLUDE的用法與EXPDP相同 注意,如果使用CONTENT=DATA_ONLY時,則在匯入過程中不用使用EXCLUDE和INCLUDE引數。 IMPDP可以使用QUERY引數在匯入中過濾資料(以前只有在EXP中過濾資料,IMP不行). 可以使用TABLE_EXISTS_ACTINS引數告訴ORACLE當表已經存在時做什麼,提供4個不同的值: --SKIP(預設),跳過 --APPEND,將值追加到表中 --TRUNCATE,已truncate再重新裝載新值 --REPLACE,重新建立此表,並重新裝載 3.與作業有關的引數: JOB_NAME,STATUS,PARALLEL引數與EXPDP相同 4.與匯入方式有關的引數 FULL,SCHEMAS,TABLES,TABLESPACE,TRANSPORT_TABLESPACE和TRANSPORT_FULL_CHECK的用法和EXPDP差不多如使用NETWORK_LINK引數, 則TRANSPORT_FULL_CHECK只適合於表空間的傳送。 5.重新對映引數 REMAP_SCHEMA,REMAP_DATEFILE,REMAP_TABLESPACE 儘管在exp/imp中有重新對映的能力(FROMUSER/TOUSER),但是不能重新對映資料檔案和表空間 如:impdp system/manager dumpfile=newdump.dmp remap_schema=hre 6.轉換引數 TRANSFORM,此引數的語法:TRANSFORM = transform_name:value[bject_type] 其中transform_name有四個選項:segment attributes,storage,oid,pctspace --segment attributes:段屬性包括物理屬性、儲存屬性、表空間和日誌。 --storage:可以使用storage=y(預設)說明只取物件的儲存屬性作為匯入作業的一部分。 --oid:如果指定oid=Y(預設),則在匯入過程中將分配一個新的oid給物件表。 --pctspace:通過提供一個正數作為該轉換的值,可以增加物件的分配尺寸,並且資料檔案尺寸等於pctspace的值(按百分比) value:transform_name的值,transform_name為segment attributes,storage,oid時值可為Y/N,pctspace為數值 object_type的值可以表、索引、表空間、型別、叢集、約束等物件。 一個例子: impdp hr/hr tables=hr.employees directory=dpump_dir1 dumpfile=hr_emp.dmp transform=segment_attributes:N:table 表示在匯入時不匯入任何表的已有儲存屬性 7.網路連結引數 NETWORK_LINK,可以通過網路執行匯入而不使用轉儲檔案。 impdp hr/hr tables=employees directory=dpump+dir1 schemas=scott exclude=constraint

[email protected] 8.閃回引數 FLASHBACK_TIME,FLASHBACK_SCN 監控EXPDP/IMPDP作業 可以使用DBA_DATAPUBMP_JOBS和DBA_DATAPUMP_SESSIONS檢視來顯示資料泵取作業的資訊。 select * from DBA_DATAPUBMP_JOBS; select sid,serial# from v$session s,dba_datapump_sessions d where s.saddr=d.saddr; 另也可以通過v$session_longops檢視來監控長期執行的會話。