【expdp】10g資料泵expdp工具選項詳解及應用示例
理解expdp各個選項的含義最好的途徑就是逐一的進行測試,這樣可以在感性上有一個真實的體驗。
1.資料泵expdp匯出工具與傳統的exp匯出工具的區別
1)exp是客戶端程式,既可以在客戶端使用,也可以在伺服器端使用;
2)expdp是伺服器端工具,只能在ORACLE伺服器端使用,不能在客戶端使用;
3)這兩個工具生成的備份檔案不能被對方與之對應的匯入工具使用;
4)expdp在靈活性和功能性上與exp相比,有質上的飛躍。
2.expdp命令列選項列表
使用“-help”選項獲得expdp命令可用的選項列表和簡單的註釋資訊。
ora10g@linux5 /expdp$ expdp help=y
……
Keyword Description (Default)
------------------------------------------------------------------------------
ATTACH Attach to existing job, e.g. ATTACH [=job name].
COMPRESSION Reduce size of dumpfile contents where valid
keyword values are: (METADATA_ONLY) and NONE.
CONTENT Specifies data to unload where the valid keywords are:
(ALL), DATA_ONLY, and METADATA_ONLY.
DIRECTORY Directory object to be used for dumpfiles and logfiles.
DUMPFILE List of destination dump files (expdat.dmp),
e.g. DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp.
ENCRYPTION_PASSWORD Password key for creating encrypted column data.
ESTIMATE Calculate job estimates where the valid keywords are:
(BLOCKS) and STATISTICS.
ESTIMATE_ONLY Calculate job estimates without performing the export.
EXCLUDE Exclude specific object types, e.g. EXCLUDE=TABLE:EMP.
FILESIZE Specify the size of each dumpfile in units of bytes.
FLASHBACK_SCN SCN used to set session snapshot back to.
FLASHBACK_TIME Time used to get the SCN closest to the specified time.
FULL Export entire database (N).
HELP Display Help messages (N).
INCLUDE Include specific object types, e.g. INCLUDE=TABLE_DATA.
JOB_NAME Name of export job to create.
LOGFILE Log file name (export.log).
NETWORK_LINK Name of remote database link to the source system.
NOLOGFILE Do not write logfile (N).
PARALLEL Change the number of active workers for current job.
PARFILE Specify parameter file.
QUERY Predicate clause used to export a subset of a table.
SAMPLE Percentage of data to be exported;
SCHEMAS List of schemas to export (login schema).
STATUS Frequency (secs) job status is to be monitored where
the default (0) will show new status when available.
TABLES Identifies a list of tables to export - one schema only.
TABLESPACES Identifies a list of tablespaces to export.
TRANSPORT_FULL_CHECK Verify storage segments of all tables (N).
TRANSPORT_TABLESPACES List of tablespaces from which metadata will be unloaded.
VERSION Version of objects to export where valid keywords are:
(COMPATIBLE), LATEST, or any valid database version.
The following commands are valid while in interactive mode.
Note: abbreviations are allowed
Command Description
------------------------------------------------------------------------------
ADD_FILE Add dumpfile to dumpfile set.
CONTINUE_CLIENT Return to logging mode. Job will be re-started if idle.
EXIT_CLIENT Quit client session and leave job running.
FILESIZE Default filesize (bytes) for subsequent ADD_FILE commands.
HELP Summarize interactive commands.
KILL_JOB Detach and delete job.
PARALLEL Change the number of active workers for current job.
PARALLEL=.
START_JOB Start/resume current job.
STATUS Frequency (secs) job status is to be monitored where
the default (0) will show new status when available.
STATUS[=interval]
STOP_JOB Orderly shutdown of job execution and exits the client.
STOP_JOB=IMMEDIATE performs an immediate shutdown of the
Data Pump job.
3.簡單給出expdp命令列選項的註釋
1)ATTACH
該選項用於與已存在匯出作業建立關聯。語法如下:
ATTACH [=[schema_name.]job_name]
schema_name表示使用者名稱,job_name表示匯出的作業名。注意,如果使用ATTACH選項,在命令列除了連線字串和ATTACH選項外,不能指定任何其他選項。可以透過查詢DBA_DATAPUMP_JOBS獲得系統中現有的作業資訊。
示例如下:
expdp secooler/secooler ATTACH=secooler.export_job
2)COMPRESSION
表示是否壓縮資料庫物件的後設資料,這裡只提供兩個選項:METADATA_ONLY和NONE。在10g這個版本中這個選項的意義不大,因為後設資料本身很小,壓縮與否對最終匯出的檔案大小的影響甚微。11g中對這個選項進行了增強,真正的提供了資料壓縮的功能。具體請參考文章《【COMPRESS】11g中表壓縮技術的長足進步》(http://space.itpub.net/519536/viewspace-662005)。
COMPRESSION=(METADATA_ONLY | NONE)
3)CONTENT
該選項用於指定要匯出的內容。預設值為ALL。
CONTENT={ALL | DATA_ONLY | METADATA_ONLY}
當設定CONTENT為ALL時,會匯出物件後設資料及物件資料;當設定為DATA_ONLY時,只匯出物件資料;當設定為METADATA_ONLY時,只匯出物件後設資料。
示例如下:
expdp secooler/secooler DIRECTORY=dump_dir DUMPFILE=test.dump CONTENT=METADATA_ONLY
4)DIRECTORY
指定轉儲檔案和日誌檔案所在的目錄,給定的引數是一個DIRECTORY資料庫物件,是透過CREATE DIRECTORY語句建立的。後文會有這方面的演示。
DIRECTORY=directory_object
示例如下:
expdp secooler/secooler DIRECTORY=dump_dir DUMPFILE=test.dump
5)DUMPFILE
用於指定轉儲檔案的名稱,預設名稱為expdat.dmp。
DUMPFILE=[directory_object:]file_name [, ...]
directory_object用於指定目錄物件名,file_name用於指定轉儲檔名。如果不給定directory_object,匯出工具會自動使用DIRECTORY選項指定的目錄物件。
這個引數可以結合FILESIZE引數一起使用,達到生成多個轉儲檔案的目的。
注意,如果指定路徑下已經存在待生成的匯出檔案,匯出過程中將會報錯退出。
expdp secooler/secooler DIRECTORY=dump_dir1 DUMPFILE=dump_dir2:test.dmp
6)ENCRYPTION_PASSWORD
該引數需要和Oracle的透明資料加密特性(TDE)一同使用,因為expdp本身是不支援加解密的。
ENCRYPTION_PASSWORD = password
7)ESTIMATE
用於估算被匯出的表佔用的空間大小(不包含表的後設資料)。預設值是BLOCKS。
ESTIMATE={BLOCKS | STATISTICS}
設定為BLOCKS時,oracle會按照目標物件所佔用的資料塊個數乘以資料塊尺寸估算物件佔用的空間;設定為STATISTICS時,會根據最近的統計值給出物件佔用空間,這種方法的誤差會比較大。無論使用哪種選項值,都會有誤差。
示例如下:
expdp secooler/secooler DIRECTORY=dump_dir ESTIMATE=STATISTICS DUMPFILE=test.dump
8)EXTIMATE_ONLY
指定是否只估算匯出作業所佔用的磁碟空間,預設值為N
ESTIMATE_ONLY={y | n}
設定為Y時,匯出操作僅估算物件所佔用的磁碟空間,不會執行匯出作業,注意此時不要使用DUMPFILE選項;設定為N時,會估算物件所佔用的磁碟空間,同時還會執行匯出操作。
示例如下:
expdp secooler/secooler ESTIMATE_ONLY=y
9)EXCLUDE
用於控制在匯出過程中哪些資料庫物件不被匯出。
EXCLUDE=object_type[:name_clause] [, ...]
object_type用於指定要排除的物件型別,name_clause用於指定要排除的具體物件名稱。注意EXCLUDE選項和INCLUDE選項不能同時使用。
該選項支援模糊匹配,非常好用的功能。另外,被指定不被匯出的表上的約束、索引、觸發器等均不會被匯出。
示例如下:
expdp secooler/secooler DIRECTORY=dump_dir DUMPFILE=a.dup EXCLUDE=VIEW
10)FILESIZE
限定單個轉儲檔案的最大容量,預設值是0,表示沒有檔案尺寸的限制。該選項與DUMPFILE選項一同使用。
FILESIZE=integer[B | K | M | G]
11)FLASHBACK_SCN
使用Flashback Query特性指定匯出特定SCN時刻的表資料。
FLASHBACK_SCN=scn_value
scn_value用於給出SCN值。注意:FLASHBACK_SCN選項和FLASHBACK_TIME選項不能同時使用。
示例如下:
expdp secooler/secooler DIRECTORY=dump_dir DUMPFILE=test.dmp FLASHBACK_SCN=358523
12)FLASHBACK_TIME
使用Flashback Query特性指定匯出特定時間點的表資料。
FLASHBACK_TIME="TO_TIMESTAMP(time-value)"
注意:FLASHBACK_TIME選項和FLASHBACK_SCN選項不能同時使用。
示例如下:
expdp secooler/secooler DIRECTORY=dump_dir DUMPFILE=test.dmp FLASHBACK_TIME="TO_TIMESTAMP('23-09-2010 14:35:00','DD-MM-YYYY HH24:MI:SS')"
13)FULL
是否以全庫模式匯出資料庫。預設為N。
FULL={y | n}
為Y時,表示執行資料庫的全庫匯出。
14)HELP
指定是否顯示expdp命令列選項的幫助資訊,預設為N
HELP = {y | n}
當設定為y時。會給出expdp的幫助資訊,正如文章開始處使用的方法一樣。
15)INCLUDE
指定匯出哪些資料庫物件型別或資料庫物件。與EXCLUDE選項用法相同,功能相反。
注意INCLUDE選項和EXCLUDE選項不能同時使用。
INCLUDE = object_type[:name_clause] [, ...]
16)JOB_NAME
指定要匯出作業的名稱。預設為SYS_EXPORT_[mode]_[nn]
JOB_NAME=jobname_string
對應的作業資訊可以透過DBA_DATAPUMP_JOBS檢視獲得。
17)LOGFILE
指定匯出過程中日誌檔案的名稱,預設值為export.log。
LOGFILE=[directory_object:]file_name
directory_object指定目錄物件的名稱,file_name用於指定匯出日誌檔案的名稱。如果不指定directory_object,會自動使用DIRECTORY選項的值。
expdp secooler/secooler DIRECTORY=dump_dir DUMPFILE=test.dmp logfile=test.log
18)NETWORK_LINK
結合資料庫鏈,完成遠端資料庫物件的匯出。
NETWORK_LINK=source_database_link
19)NOLOGFILE
控制是否禁止生成匯出日誌檔案,預設值為N。
如果設定為Y,表示不輸出日誌。
NOLOGFILE={y | n}
20)PARALLEL
指定執行匯出操作的並行度,預設值為1。
PARALLEL=integer
注意,這個引數給出的並行度是一個真正能啟用程式數的最大值。具體會啟用多少個程式並行處理會受很多因素影響,例如生成轉儲檔案的多少(不能多於檔案數)、匯出的資料量大小、CPU資源還有系統I/O資源等因素影響。另外,這個引數只有在Oracle 10g的企業版本中才可以使用。
21)PARFILE
指定匯出操作使用到的引數檔案的名稱。使用這個引數可以編寫出比較通用的匯出指令碼。
PARFILE=[directory_path]file_name
22)QUERY
用來指定類似where語句限定匯出的記錄。相比exp命令的QUERY選項,這裡更加的靈活,可以同時針對每張表進行條件限制。
QUERY = [schema.][table_name:] query_clause
因為該引數目的是限制匯出資料的多少,因此不能和CONTENT=METADATA_ONLY、ESTIMATE_ONLY還有TRANSPORT_TABLESPACES一起使用。
示例如下:
expdp secooler/secooler directory=dump_dir dumpfiel=test.dmp tables=emp query='WHERE deptno=66'
23)SAMPLE
給出匯出表資料的百分比,引數值可以取.000001~100(不包括100)。不過匯出過程不會和這裡給出的百分比一樣精確,是一個近似值。
語法如下:
SAMPLE=[[schema_name.]table_name:]sample_percent
示例如下:
SAMPLE="HR"."EMPLOYEES":50
24)SCHEMAS
按照SCHEMA模式匯出,預設為當前使用者。很常用,不做更多的解釋。
SCHEMAS=schema_name [, ...]
25)STATUS
指定顯示匯出作業程式的詳細狀態,預設值為0。
STATUS=[integer]
示例如下:
expdp hr/hr DIRECTORY=dpump_dir1 SCHEMAS=hr,sh STATUS=300
26)TABLES
以表模式匯出資料。可以同時匯出多個表;支援萬用字元格式的匯出;也支援只匯出分割槽表中的某個分割槽。
TABLES=[schema_name.]table_name[:partition_name] [, ...]
schema_name用於指定使用者名稱,table_name用於指定匯出的表名,partition_name用於指定要匯出的分割槽名。
27)TABLESPACES
指定需要匯出哪個表空間中的表資料。注意:Only the tables contained in a specified set of tablespaces are unloaded.也就是說,只有表空間裡的表資料會被匯出。
TABLESPACES=tablespace_name [, ...]
28)TRANSPORT_FULL_CHECK
用來檢查被傳輸的表空間是否為嚴格的自包含,預設為N。
29)TRANSPORT_TABLESPACES
指定傳輸表空間指定的表空間列表。
TABLESPACES=tablespace_name [, ...]
30)VERSION
該選項用來指定資料庫生成的轉儲檔案最低相容的版本,預設值為COMPATIBLE。
VERSION={COMPATIBLE | LATEST | version_string}
當值為COMPATIBLE時,會以初始化引數中COMPATIBLE引數內容為準;為LATEST時,表示最高版本與資料庫版本保持一致;version_string是用於指定具體資料庫版本的字串。
4.expdp工具使用示例
使用expdp工具時,其轉儲檔案只能被存放在DIRECTORY物件對應的OS目錄中,而不能直接指定轉儲檔案所在的OS目錄.因此,使用 expdp工具時,必須首先建立DIRECTORY物件.並且需要為資料庫使用者授予使用DIRECTORY物件許可權.
sys@ora10g> create or replace directory dump_dir as '/expdp';
Directory created.
sys@ora10g> grant read,write on directory dump_dir to sec;
Grant succeeded.
1)匯出表(tables)
ora10g@linux5 /expdp$ expdp sec/sec directory=dump_dir dumpfile=tab.dmp tables=test,test1
Export: Release 10.2.0.4.0 - Production on Thursday, 23 September, 2010 21:19:39
Copyright (c) 2003. 2007, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, Data Mining and Real Application Testing options
Starting "SEC"."SYS_EXPORT_TABLE_01": sec/******** directory=dump_dir dumpfile=tab.dmp tables=test,test1
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 128 KB
Processing object type TABLE_EXPORT/TABLE/TABLE
. . exported "SEC"."TEST" 5.242 KB 4 rows
. . exported "SEC"."TEST1" 5.242 KB 4 rows
Master table "SEC"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SEC.SYS_EXPORT_TABLE_01 is:
/expdp/tab.dmp
Job "SEC"."SYS_EXPORT_TABLE_01" successfully completed at 21:19:47
2)匯出具體使用者的資料
ora10g@linux5 /expdp$ expdp sec/sec directory=dump_dir dumpfile=schema.dmp schemas=sec;
Export: Release 10.2.0.4.0 - Production on Thursday, 23 September, 2010 21:23:55
Copyright (c) 2003. 2007, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, Data Mining and Real Application Testing options
Starting "SEC"."SYS_EXPORT_SCHEMA_01": sec/******** directory=dump_dir dumpfile=schema.dmp schemas=sec
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 192 KB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/COMMENT
. . exported "SEC"."TEST" 5.242 KB 4 rows
. . exported "SEC"."TEST1" 5.242 KB 4 rows
. . exported "SEC"."TEST2" 5.242 KB 4 rows
Master table "SEC"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SEC.SYS_EXPORT_SCHEMA_01 is:
/expdp/schema.dmp
Job "SEC"."SYS_EXPORT_SCHEMA_01" successfully completed at 21:24:38
3)匯出表空間
ora10g@linux5 /expdp$ expdp system/sys directory=dump_dir dumpfile=talespace.dmp tablespaces=sec_d
Export: Release 10.2.0.4.0 - Production on Thursday, 23 September, 2010 21:25:47
Copyright (c) 2003. 2007, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, Data Mining and Real Application Testing options
Starting "SYSTEM"."SYS_EXPORT_TABLESPACE_01": system/******** directory=dump_dir dumpfile=tablespace.dmp tablespaces=sec_d
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 192 KB
Processing object type TABLE_EXPORT/TABLE/TABLE
. . exported "SEC"."TEST" 5.242 KB 4 rows
. . exported "SEC"."TEST1" 5.242 KB 4 rows
. . exported "SEC"."TEST2" 5.242 KB 4 rows
Master table "SYSTEM"."SYS_EXPORT_TABLESPACE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_TABLESPACE_01 is:
/expdp/talespace.dmp
Job "SYSTEM"."SYS_EXPORT_TABLESPACE_01" successfully completed at 21:26:25
4)匯出資料庫
ora10g@linux5 /expdp$ expdp system/sys directory=dump_dir dumpfile=full.dmp full=y
5.小結
有關10g版本expdp工具選項的詳細解釋最佳參考資料是Oracle官方文件。連結:
expdp作為一款非常優秀的伺服器端邏輯備份工具,為我們完成資料遷移帶來了極大的便利。善用之。
Good luck.
secooler
10.09.23
-- The End --
1.資料泵expdp匯出工具與傳統的exp匯出工具的區別
1)exp是客戶端程式,既可以在客戶端使用,也可以在伺服器端使用;
2)expdp是伺服器端工具,只能在ORACLE伺服器端使用,不能在客戶端使用;
3)這兩個工具生成的備份檔案不能被對方與之對應的匯入工具使用;
4)expdp在靈活性和功能性上與exp相比,有質上的飛躍。
2.expdp命令列選項列表
使用“-help”選項獲得expdp命令可用的選項列表和簡單的註釋資訊。
ora10g@linux5 /expdp$ expdp help=y
……
Keyword Description (Default)
------------------------------------------------------------------------------
ATTACH Attach to existing job, e.g. ATTACH [=job name].
COMPRESSION Reduce size of dumpfile contents where valid
keyword values are: (METADATA_ONLY) and NONE.
CONTENT Specifies data to unload where the valid keywords are:
(ALL), DATA_ONLY, and METADATA_ONLY.
DIRECTORY Directory object to be used for dumpfiles and logfiles.
DUMPFILE List of destination dump files (expdat.dmp),
e.g. DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp.
ENCRYPTION_PASSWORD Password key for creating encrypted column data.
ESTIMATE Calculate job estimates where the valid keywords are:
(BLOCKS) and STATISTICS.
ESTIMATE_ONLY Calculate job estimates without performing the export.
EXCLUDE Exclude specific object types, e.g. EXCLUDE=TABLE:EMP.
FILESIZE Specify the size of each dumpfile in units of bytes.
FLASHBACK_SCN SCN used to set session snapshot back to.
FLASHBACK_TIME Time used to get the SCN closest to the specified time.
FULL Export entire database (N).
HELP Display Help messages (N).
INCLUDE Include specific object types, e.g. INCLUDE=TABLE_DATA.
JOB_NAME Name of export job to create.
LOGFILE Log file name (export.log).
NETWORK_LINK Name of remote database link to the source system.
NOLOGFILE Do not write logfile (N).
PARALLEL Change the number of active workers for current job.
PARFILE Specify parameter file.
QUERY Predicate clause used to export a subset of a table.
SAMPLE Percentage of data to be exported;
SCHEMAS List of schemas to export (login schema).
STATUS Frequency (secs) job status is to be monitored where
the default (0) will show new status when available.
TABLES Identifies a list of tables to export - one schema only.
TABLESPACES Identifies a list of tablespaces to export.
TRANSPORT_FULL_CHECK Verify storage segments of all tables (N).
TRANSPORT_TABLESPACES List of tablespaces from which metadata will be unloaded.
VERSION Version of objects to export where valid keywords are:
(COMPATIBLE), LATEST, or any valid database version.
The following commands are valid while in interactive mode.
Note: abbreviations are allowed
Command Description
------------------------------------------------------------------------------
ADD_FILE Add dumpfile to dumpfile set.
CONTINUE_CLIENT Return to logging mode. Job will be re-started if idle.
EXIT_CLIENT Quit client session and leave job running.
FILESIZE Default filesize (bytes) for subsequent ADD_FILE commands.
HELP Summarize interactive commands.
KILL_JOB Detach and delete job.
PARALLEL Change the number of active workers for current job.
PARALLEL=
START_JOB Start/resume current job.
STATUS Frequency (secs) job status is to be monitored where
the default (0) will show new status when available.
STATUS[=interval]
STOP_JOB Orderly shutdown of job execution and exits the client.
STOP_JOB=IMMEDIATE performs an immediate shutdown of the
Data Pump job.
3.簡單給出expdp命令列選項的註釋
1)ATTACH
該選項用於與已存在匯出作業建立關聯。語法如下:
ATTACH [=[schema_name.]job_name]
schema_name表示使用者名稱,job_name表示匯出的作業名。注意,如果使用ATTACH選項,在命令列除了連線字串和ATTACH選項外,不能指定任何其他選項。可以透過查詢DBA_DATAPUMP_JOBS獲得系統中現有的作業資訊。
示例如下:
expdp secooler/secooler ATTACH=secooler.export_job
2)COMPRESSION
表示是否壓縮資料庫物件的後設資料,這裡只提供兩個選項:METADATA_ONLY和NONE。在10g這個版本中這個選項的意義不大,因為後設資料本身很小,壓縮與否對最終匯出的檔案大小的影響甚微。11g中對這個選項進行了增強,真正的提供了資料壓縮的功能。具體請參考文章《【COMPRESS】11g中表壓縮技術的長足進步》(http://space.itpub.net/519536/viewspace-662005)。
COMPRESSION=(METADATA_ONLY | NONE)
3)CONTENT
該選項用於指定要匯出的內容。預設值為ALL。
CONTENT={ALL | DATA_ONLY | METADATA_ONLY}
當設定CONTENT為ALL時,會匯出物件後設資料及物件資料;當設定為DATA_ONLY時,只匯出物件資料;當設定為METADATA_ONLY時,只匯出物件後設資料。
示例如下:
expdp secooler/secooler DIRECTORY=dump_dir DUMPFILE=test.dump CONTENT=METADATA_ONLY
4)DIRECTORY
指定轉儲檔案和日誌檔案所在的目錄,給定的引數是一個DIRECTORY資料庫物件,是透過CREATE DIRECTORY語句建立的。後文會有這方面的演示。
DIRECTORY=directory_object
示例如下:
expdp secooler/secooler DIRECTORY=dump_dir DUMPFILE=test.dump
5)DUMPFILE
用於指定轉儲檔案的名稱,預設名稱為expdat.dmp。
DUMPFILE=[directory_object:]file_name [, ...]
directory_object用於指定目錄物件名,file_name用於指定轉儲檔名。如果不給定directory_object,匯出工具會自動使用DIRECTORY選項指定的目錄物件。
這個引數可以結合FILESIZE引數一起使用,達到生成多個轉儲檔案的目的。
注意,如果指定路徑下已經存在待生成的匯出檔案,匯出過程中將會報錯退出。
expdp secooler/secooler DIRECTORY=dump_dir1 DUMPFILE=dump_dir2:test.dmp
6)ENCRYPTION_PASSWORD
該引數需要和Oracle的透明資料加密特性(TDE)一同使用,因為expdp本身是不支援加解密的。
ENCRYPTION_PASSWORD = password
7)ESTIMATE
用於估算被匯出的表佔用的空間大小(不包含表的後設資料)。預設值是BLOCKS。
ESTIMATE={BLOCKS | STATISTICS}
設定為BLOCKS時,oracle會按照目標物件所佔用的資料塊個數乘以資料塊尺寸估算物件佔用的空間;設定為STATISTICS時,會根據最近的統計值給出物件佔用空間,這種方法的誤差會比較大。無論使用哪種選項值,都會有誤差。
示例如下:
expdp secooler/secooler DIRECTORY=dump_dir ESTIMATE=STATISTICS DUMPFILE=test.dump
8)EXTIMATE_ONLY
指定是否只估算匯出作業所佔用的磁碟空間,預設值為N
ESTIMATE_ONLY={y | n}
設定為Y時,匯出操作僅估算物件所佔用的磁碟空間,不會執行匯出作業,注意此時不要使用DUMPFILE選項;設定為N時,會估算物件所佔用的磁碟空間,同時還會執行匯出操作。
示例如下:
expdp secooler/secooler ESTIMATE_ONLY=y
9)EXCLUDE
用於控制在匯出過程中哪些資料庫物件不被匯出。
EXCLUDE=object_type[:name_clause] [, ...]
object_type用於指定要排除的物件型別,name_clause用於指定要排除的具體物件名稱。注意EXCLUDE選項和INCLUDE選項不能同時使用。
該選項支援模糊匹配,非常好用的功能。另外,被指定不被匯出的表上的約束、索引、觸發器等均不會被匯出。
示例如下:
expdp secooler/secooler DIRECTORY=dump_dir DUMPFILE=a.dup EXCLUDE=VIEW
10)FILESIZE
限定單個轉儲檔案的最大容量,預設值是0,表示沒有檔案尺寸的限制。該選項與DUMPFILE選項一同使用。
FILESIZE=integer[B | K | M | G]
11)FLASHBACK_SCN
使用Flashback Query特性指定匯出特定SCN時刻的表資料。
FLASHBACK_SCN=scn_value
scn_value用於給出SCN值。注意:FLASHBACK_SCN選項和FLASHBACK_TIME選項不能同時使用。
示例如下:
expdp secooler/secooler DIRECTORY=dump_dir DUMPFILE=test.dmp FLASHBACK_SCN=358523
12)FLASHBACK_TIME
使用Flashback Query特性指定匯出特定時間點的表資料。
FLASHBACK_TIME="TO_TIMESTAMP(time-value)"
注意:FLASHBACK_TIME選項和FLASHBACK_SCN選項不能同時使用。
示例如下:
expdp secooler/secooler DIRECTORY=dump_dir DUMPFILE=test.dmp FLASHBACK_TIME="TO_TIMESTAMP('23-09-2010 14:35:00','DD-MM-YYYY HH24:MI:SS')"
13)FULL
是否以全庫模式匯出資料庫。預設為N。
FULL={y | n}
為Y時,表示執行資料庫的全庫匯出。
14)HELP
指定是否顯示expdp命令列選項的幫助資訊,預設為N
HELP = {y | n}
當設定為y時。會給出expdp的幫助資訊,正如文章開始處使用的方法一樣。
15)INCLUDE
指定匯出哪些資料庫物件型別或資料庫物件。與EXCLUDE選項用法相同,功能相反。
注意INCLUDE選項和EXCLUDE選項不能同時使用。
INCLUDE = object_type[:name_clause] [, ...]
16)JOB_NAME
指定要匯出作業的名稱。預設為SYS_EXPORT_[mode]_[nn]
JOB_NAME=jobname_string
對應的作業資訊可以透過DBA_DATAPUMP_JOBS檢視獲得。
17)LOGFILE
指定匯出過程中日誌檔案的名稱,預設值為export.log。
LOGFILE=[directory_object:]file_name
directory_object指定目錄物件的名稱,file_name用於指定匯出日誌檔案的名稱。如果不指定directory_object,會自動使用DIRECTORY選項的值。
expdp secooler/secooler DIRECTORY=dump_dir DUMPFILE=test.dmp logfile=test.log
18)NETWORK_LINK
結合資料庫鏈,完成遠端資料庫物件的匯出。
NETWORK_LINK=source_database_link
19)NOLOGFILE
控制是否禁止生成匯出日誌檔案,預設值為N。
如果設定為Y,表示不輸出日誌。
NOLOGFILE={y | n}
20)PARALLEL
指定執行匯出操作的並行度,預設值為1。
PARALLEL=integer
注意,這個引數給出的並行度是一個真正能啟用程式數的最大值。具體會啟用多少個程式並行處理會受很多因素影響,例如生成轉儲檔案的多少(不能多於檔案數)、匯出的資料量大小、CPU資源還有系統I/O資源等因素影響。另外,這個引數只有在Oracle 10g的企業版本中才可以使用。
21)PARFILE
指定匯出操作使用到的引數檔案的名稱。使用這個引數可以編寫出比較通用的匯出指令碼。
PARFILE=[directory_path]file_name
22)QUERY
用來指定類似where語句限定匯出的記錄。相比exp命令的QUERY選項,這裡更加的靈活,可以同時針對每張表進行條件限制。
QUERY = [schema.][table_name:] query_clause
因為該引數目的是限制匯出資料的多少,因此不能和CONTENT=METADATA_ONLY、ESTIMATE_ONLY還有TRANSPORT_TABLESPACES一起使用。
示例如下:
expdp secooler/secooler directory=dump_dir dumpfiel=test.dmp tables=emp query='WHERE deptno=66'
23)SAMPLE
給出匯出表資料的百分比,引數值可以取.000001~100(不包括100)。不過匯出過程不會和這裡給出的百分比一樣精確,是一個近似值。
語法如下:
SAMPLE=[[schema_name.]table_name:]sample_percent
示例如下:
SAMPLE="HR"."EMPLOYEES":50
24)SCHEMAS
按照SCHEMA模式匯出,預設為當前使用者。很常用,不做更多的解釋。
SCHEMAS=schema_name [, ...]
25)STATUS
指定顯示匯出作業程式的詳細狀態,預設值為0。
STATUS=[integer]
示例如下:
expdp hr/hr DIRECTORY=dpump_dir1 SCHEMAS=hr,sh STATUS=300
26)TABLES
以表模式匯出資料。可以同時匯出多個表;支援萬用字元格式的匯出;也支援只匯出分割槽表中的某個分割槽。
TABLES=[schema_name.]table_name[:partition_name] [, ...]
schema_name用於指定使用者名稱,table_name用於指定匯出的表名,partition_name用於指定要匯出的分割槽名。
27)TABLESPACES
指定需要匯出哪個表空間中的表資料。注意:Only the tables contained in a specified set of tablespaces are unloaded.也就是說,只有表空間裡的表資料會被匯出。
TABLESPACES=tablespace_name [, ...]
28)TRANSPORT_FULL_CHECK
用來檢查被傳輸的表空間是否為嚴格的自包含,預設為N。
29)TRANSPORT_TABLESPACES
指定傳輸表空間指定的表空間列表。
TABLESPACES=tablespace_name [, ...]
30)VERSION
該選項用來指定資料庫生成的轉儲檔案最低相容的版本,預設值為COMPATIBLE。
VERSION={COMPATIBLE | LATEST | version_string}
當值為COMPATIBLE時,會以初始化引數中COMPATIBLE引數內容為準;為LATEST時,表示最高版本與資料庫版本保持一致;version_string是用於指定具體資料庫版本的字串。
4.expdp工具使用示例
使用expdp工具時,其轉儲檔案只能被存放在DIRECTORY物件對應的OS目錄中,而不能直接指定轉儲檔案所在的OS目錄.因此,使用 expdp工具時,必須首先建立DIRECTORY物件.並且需要為資料庫使用者授予使用DIRECTORY物件許可權.
sys@ora10g> create or replace directory dump_dir as '/expdp';
Directory created.
sys@ora10g> grant read,write on directory dump_dir to sec;
Grant succeeded.
1)匯出表(tables)
ora10g@linux5 /expdp$ expdp sec/sec directory=dump_dir dumpfile=tab.dmp tables=test,test1
Export: Release 10.2.0.4.0 - Production on Thursday, 23 September, 2010 21:19:39
Copyright (c) 2003. 2007, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, Data Mining and Real Application Testing options
Starting "SEC"."SYS_EXPORT_TABLE_01": sec/******** directory=dump_dir dumpfile=tab.dmp tables=test,test1
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 128 KB
Processing object type TABLE_EXPORT/TABLE/TABLE
. . exported "SEC"."TEST" 5.242 KB 4 rows
. . exported "SEC"."TEST1" 5.242 KB 4 rows
Master table "SEC"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SEC.SYS_EXPORT_TABLE_01 is:
/expdp/tab.dmp
Job "SEC"."SYS_EXPORT_TABLE_01" successfully completed at 21:19:47
2)匯出具體使用者的資料
ora10g@linux5 /expdp$ expdp sec/sec directory=dump_dir dumpfile=schema.dmp schemas=sec;
Export: Release 10.2.0.4.0 - Production on Thursday, 23 September, 2010 21:23:55
Copyright (c) 2003. 2007, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, Data Mining and Real Application Testing options
Starting "SEC"."SYS_EXPORT_SCHEMA_01": sec/******** directory=dump_dir dumpfile=schema.dmp schemas=sec
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 192 KB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/COMMENT
. . exported "SEC"."TEST" 5.242 KB 4 rows
. . exported "SEC"."TEST1" 5.242 KB 4 rows
. . exported "SEC"."TEST2" 5.242 KB 4 rows
Master table "SEC"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SEC.SYS_EXPORT_SCHEMA_01 is:
/expdp/schema.dmp
Job "SEC"."SYS_EXPORT_SCHEMA_01" successfully completed at 21:24:38
3)匯出表空間
ora10g@linux5 /expdp$ expdp system/sys directory=dump_dir dumpfile=talespace.dmp tablespaces=sec_d
Export: Release 10.2.0.4.0 - Production on Thursday, 23 September, 2010 21:25:47
Copyright (c) 2003. 2007, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, Data Mining and Real Application Testing options
Starting "SYSTEM"."SYS_EXPORT_TABLESPACE_01": system/******** directory=dump_dir dumpfile=tablespace.dmp tablespaces=sec_d
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 192 KB
Processing object type TABLE_EXPORT/TABLE/TABLE
. . exported "SEC"."TEST" 5.242 KB 4 rows
. . exported "SEC"."TEST1" 5.242 KB 4 rows
. . exported "SEC"."TEST2" 5.242 KB 4 rows
Master table "SYSTEM"."SYS_EXPORT_TABLESPACE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_TABLESPACE_01 is:
/expdp/talespace.dmp
Job "SYSTEM"."SYS_EXPORT_TABLESPACE_01" successfully completed at 21:26:25
4)匯出資料庫
ora10g@linux5 /expdp$ expdp system/sys directory=dump_dir dumpfile=full.dmp full=y
5.小結
有關10g版本expdp工具選項的詳細解釋最佳參考資料是Oracle官方文件。連結:
expdp作為一款非常優秀的伺服器端邏輯備份工具,為我們完成資料遷移帶來了極大的便利。善用之。
Good luck.
secooler
10.09.23
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-557370/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【impdp】資料泵impdp工具選項詳解及應用示例
- 使用資料泵工具expdp工具匯出資料
- 資料泵 EXPDP 匯出工具的使用
- 10g 資料泵(Data Dump) -- EXPDP & IMPDP [zt]
- 資料泵基礎(impdp/expdp)
- EXPDP資料泵使用方法
- 按計劃瞭解資料泵expdp/impdp
- 【EXPDP】使用EXPDP工具的 EXCLUDE選項過濾掉不關心的資料庫物件資料庫物件
- oracle資料泵備份(Expdp命令)Oracle
- Oracle資料庫的邏輯備份工具-expdp資料泵Oracle資料庫
- Oracle expdp資料泵遠端匯出Oracle
- expdp impdp Data Pump(資料泵)使用解析
- EXPDP 和 IMPDP 資料泵的使用_1
- EXPDP 和 IMPDP 資料泵的使用_2
- expdp\impdp及exp\imp 詳解
- 【Toad】使用Toad呼叫expdp資料泵備份資料步驟及注意事項
- 10G資料泵載入命令expdp/impdp的引數說明
- Oracle資料泵匯出匯入(expdp/impdp)Oracle
- 使用資料泵(expdp、impdp)遷移資料庫流程資料庫
- impdp/expdp 示例
- Expdp Impdp詳解
- 資料泵(expdp,impdp)高版本匯入低版本操作例項
- Oracle 10g expdp/impdp的CONTENT選項體驗Oracle 10g
- Oracle使用資料泵 (expdp/impdp)實施遷移Oracle
- 資料庫泵(expdp/impdp)匯入匯出流程資料庫
- 使用impdp,expdp資料泵進入海量資料遷移
- expdp/impdp 用法詳解
- ORACLE expdp/impdp詳解Oracle
- expdp/impdp用法詳解
- 【移動資料】data pump(中) EXPDP 應用
- 【資料泵】EXPDP匯出表結構(真實案例)
- 使用EXPDP工具的 EXCLUDE選項過濾掉不關心的資料庫物件資料庫物件
- Oracle使用資料泵expdp,impdp進行資料匯出匯入Oracle
- [zt] expdp / impdp 用法詳解
- Oracle expdp/impdp 使用示例Oracle
- 資料泵datapump(expdp/impdp)的parfile用法,避免跳脫字元字元
- expdp impdp 資料庫匯入匯出命令詳解資料庫
- oracle 10g expdp-impdp解讀Oracle 10g