1. What Is Data Pump Export?
簡單來說,Data Pump Export是Oracle提供的從數據庫導出(unload)數據及元數據(metadata)到一系列的文件中(dump file set)的這麼一種工具(utility). 這些生成的dump file set只可以被Data Pump Import導入到目標數據庫中, 目標數據庫既可以是在同一個Sever上,也可以是另外一個Server上。
Dump file set包含了表數據,數據庫對象的元數據以及相關的控制信息,這些文件是二進制的。在進行導入的時候,Data Pump Import會通過這些文件來找到每個數據庫對象在dump file set中的位置。
Data Pump Export支持不完全導出,也就是可以只導出一部分的數據和元數據,只需要在Export的時候指定需要過濾掉哪些data/metadata即可。
2. Invoking Data Pump Export
Data Pump Export是通過客戶端命令expdp來觸發調用的。Export操作可以通過設置參數或者指定參數文件來“定製”導出操作。
【Note】不要以SYSDBA的身份調用Export, 除非Oracle技術支持這麼要求。
(1)Data Pump Export的接口
可以通過命令行,參數文件或者在交互模式下(interactive-command)來調用Data Pump Export工具。
- 命令行方式(Command-Line Interface): 這種方式下可以直接指定Export參數。
- 參數文件方式(Parameter File Interface): 可以把命令行方式下的參數放倒一個參數文件中。如果參數值包含引號的話,最好採用參數文件的方式來做。
- 交互模式 (Interactive-Command Interface): 可以在命令行模式(或參數文件模式)下按Ctrl+C來切換到交互模式,這樣日誌就不會顯示到命令行終端,取而代之的是Export提示(prompt). 交互模式同樣會在attach到export Job去執行或者停止Job的時候激活。
(2)Data Pump Export的模式
Data Pump Export支持的導出模式包括:
Full Export Mode, Schema Mode, Table Mode, Tablespace Mode, Transportable Tablespace Mode.
- Full Export Mode
通過設置參數FULL來實現全導出模式。顧名思義,這種方式下,整個數據庫都會被導出。這種導出模式需要擁有EXP_FULL_DATABASE的角色。
- Schema Mode
這種方式是通過設置SCHEMAS參數來實現的,這同時也是默認的導出模式。如果你擁有EXP_FULL_DATABASE權限(role), 則你可以指定一個或者多個schema,而且可以包含schema的定義,甚至包括這些schema被賦予的系統權限都可以導出。如果沒有EXP_FULL_DATABASE權限,只可以導出當前用戶的schema.
需要注意的是,如果當前schema引用到其他schema中的對象,而那個schema沒有包含在導出schema列表中,則這些schema引用不會被導出。
- Table Mode
這種方式是通過設置參數TABLES來實現的。在這種模式下,只有被指定的表,分區和他們依賴的數據庫對象被導出。只有在擁有EXP_FULL_DATABASE權限的情況下才可以導出其他schema下的表,否則所有需要導出的表都必須位於當前的schema下。需要注意的是,表的列的類型定義(type definitions for columns)在這種模式下是不會被導出的。Export會假定(期望)改類型定義在目標數據庫中是存在的(至少在Import的時候)。 同樣在這種模式下,跨schema的引用是不會被導出的。
- Tablespace Mode
這種方式是通過設置參數TABLESPACES來實現的。在這種模式下,只有位於指定的表空間中的數據庫對象纔會被導出。如果一個表被導出了,那它所依賴的對象同樣被導出。數據庫對象的元數據和數據都會被導出。在這種模式下,如果一個表的任何一部分(i.e. 分區)位於指定的表空間上,那麼這個表和它所依賴的數據庫對象都會被導出。有權限的用戶會得到所有的表,而非特權用戶只會得到在他所在的schema下的表。
- Transportable Tablespace Mode
這種方式是通過設置參數TRANSPORTABLE_TABLESPACES參數來實現的。在這種模式下,只有位於指定表空間的表(以及其依賴的其他數據庫對象)的元數據(Metadata)會被導出。這樣,可以使得這些表空間對應的數據文件直接拷貝到目標數據庫上,然後和Transportable Tablesace Import協同操作來完成整個導入操作。這種方式要求有EXP_FULL_DATABASE權限。
跟Tablespace Mode不同的是,這種模式要求導出的表的自包含的(self-contained),也就是說如果該表的分區表,則所有的分區都必須在指定的tablespace上。
這種方式的導出是不能夠重啓的,而且不能夠並行執行(Parallelism 不能超過1)
【Note】不可以導出transportable tablespace,然後導入到一個低版本的數據庫中。目標數據庫必須跟導出數據庫擁有相同的版本號,或者更高的版本號。
(3)網絡考慮(network considerations)
可以在invoke Data Pump Export的時候 (expdp) 指定連接標識(connect identifier), 如下,(這樣做主要是連接的instance可能跟當前環境變量SID不相同, 比如同一個Server裝了不止一個數據庫)
這裏面的inst1一般對應與tnasname.ora中的連接字符串,因此需要啓動監聽器。(lsnrctl start). 這種方式下,本地的expdp連接到inst1指定的數據庫上進行導出。
注意不要將這種方式同設置NETWORK_LINK參數的Data Pump Export方式相混淆。在設置NETWORK_LINK的模式下,本地的expdp連接到connection string(如果存在的話)指定的數據庫實例上,然後獲取database link (NETWORK_LINK)指向的“遠程”數據庫,然後進行數據的導出。導出的數據被寫到connect string指向的數據庫server上。
3. Filtering During Export Operations
(1) Data Filters
通過設置參數QUERY和SAMPLE來進行數據導出時的過濾。數據過濾也可以在進行metadata filtering的時候間接進行。
在一個Data Pump Export job中,每個table只可以進行一次數據過濾操作。如果不同的過濾(filter),作用於某個表或者整個job,碰巧又擁有相同的名字,這種情況下針對表的過濾優先選擇。
(2) Metadata Filters
Metadata的過濾是通過設置參數EXCLUDE和INCLUDE來實現的。這兩個參數是相互排他的。
需要注意的是,如果一個數據庫對象被設置過濾(exclude/include),那依賴該object的所有其他object也同樣會被過濾(exclude/include)。比如說一個表如果被include了,那表上的index, trigger等同樣也會被include。
可以通過查看如下視圖來得到哪些對象可以被filtered,
DATABASE_EXPORT_OBJECTS, SCHEMA_EXPORT_OBJECTS, TABLE_EXPORT_OBJECTS. 如下例所示,
2 WHERE object_path LIKE '%GRANT' AND object_path NOT LIKE '%/%';
4. Parameters Available in Export's Command-Line Mode
(1) ATTACH
缺省默認值是當前user下的job,(如果只有一個job)
用法:ATTACH [=schema.]job_name]
舉例: expdp hr/hr ATTACH=hr.export_job
注意:在使用ATTACH的時候,處理user/pass參數之外,不能有其他參數。
(2)COMPRESSION
缺省默認值是:METADATA_ONLY
用途:用來設置是否對metadata進行壓縮
用法: COMPRESSION=(METADATA_ONLY | NONE)
舉例: expdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=hr_comp.dmp COMPRESSION=METADATA_ONLY
(3) CONTENT
默認值:ALL
用途:用來設置export導出哪些數據,data only, metadata only, or both
用法:CONTENT={ALL | DATA_ONLY | METADATA_ONLY}
舉例:expdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp CONTENT=METADATA_ONLY
注意:CONTENT=METADATA_ONLY不能和TRANSPORTABLE_TABLES參數一起使用。
(4)DIRECTORY
默認值:DATA_PUMP_DIR
用法: DIRECTORY=directory_object
舉例: expdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=employees.dmp CONTENT=METADATA_ONLY
(5) DUMPFILE
默認值:expdat.dmp
用法: DUMPFILE=[directory_object:]file_name [, ...]
舉例: expdp hr/hr SCHEMAS=hr DIRECTORY=dpump_dir1 DUMPFILE=dpump_dir2:exp1.dmp, exp2%U.dmp PARALLEL=3
說明:在上面的這個例子裏,exp1.dmp會放在dpump_dir2目錄下,因爲exp1.dmp設置了它自己的目錄dpump_dir2; 而exp201.dmp, exp202.dmp(parallel 設置成3,而且用了替代變量%U,因此會生成兩個dump文件)會放在dpump_dir1目錄下。
(6) ENCRYPTION_PASSWORD
默認值:none
用法:ENCRYPTION_PASSWORD = password
注意:這個參數值知針對於表中的加密列, 而不會對整個dump file set加密。
( CREATE TABLE emp (col1 VARCHAR2(256) ENCRYPT IDENTIFIED BY "xyz")
另外這個參數需要設置好Transparent Data Encryption纔行。
(7) ESTIMATE
默認值: BLOCKS
用法:ESTIMATE={BLOCKS | STATISTICS}
注意:ESTIMATE只針對data, 不包括metadata
舉例: expdp hr/hr TABLES=employees ESTIMATE=STATISTICS DIRECTORY=dpump_dir1 DUMPFILE=estimate_stat.dmp
(8) ESTIMATE_ONLY
默認值: n
用法:ESTIMATE_ONLY={y|n}
舉例: expdp hr/hr ESTIMATE_ONLY=y NOLOGFILE=y
(9)EXCLUDE
默認值: none
用法:EXCLUDE=object_type[:name_clause][,..]
舉例: expdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=hr_exclude.dmp EXCLUDE=VIEW, PACKAGE, FUNCTION
(10)FILESIZE
默認值: 0 (unlimited)
用法:FILESIZE=integer[B | K | M | G]
限制:文件大小的最小值是10倍的Data Pump block大小,即4K
舉例: expdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=hr_3m.dmp FILESIZE=3m
(11)FLASHBACK_SCN
默認值: none
用法:FLASHBACK_SCN=scn_value
導出操作會導出給定scn那個時刻的數據庫數據。
舉例:expdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=hr_scn.dmp FLASHBACK_SCN=36345345
注意:FLASHBACK_SCN和FLASHBACK_TIME是相互排他。
(12)FLASHBACK_TIME
默認值: none
用法:FLASHBACK_TIME="TO_TIMESTAMP(time_value)"
舉例: 因爲TO_TIMESTAMP需要引號,最好放在參數文件中
-- flashback.par
DIRECTORY=dpump_dir1
DUMPFILE=hr_time.dmp
FLASHBACK_TIME="TO_TIMESTAMP('25-082003 14:35:00', 'DD-MM-YYYY HH24:MI:SS')"
> expdp hr/hr PARFILE=flashbak.par
(13) FULL
默認值: n
用法:FULL={y|n}
舉例: expdp hr/hr DIRECTORY=dpump_dir2 DUMPFILE=expfull.dmp FULL=y NOLOGFILE=y
注意:以下系統schema不會包含在FULL database export,
SYS, ORDSYS, EXFSYS, MDSYS, DMSYS, CTXSYS, ORDPLUGINS, LBACSYS, XDB, SI_INFORMTN_SCHEMA, DIP, DBSNMP, and WMSYS
(14)HELP
默認值: n
用法:HELP = { y | n }
舉例: expdp HELP = y
(15)INCLUDE
默認值: none
用法:INCLUDE=object_type[ :name_clause] [, ...]
舉例: expdp hr/hr INCLUDE=TABLE DUMPFILE=dpump_dir1:exp_inc.dmp NOLOGFILE=y
(16)JOB_NAME
默認值: SYS_EXPORT_<mode>_NN
說明: Job的名字跟Master表的名字是一樣的。
用法:JOB_NAME=jobname_string
舉例: expdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=exp_job.dmp JOB_NAME=exp_job NOLOGFILE=y
(17)LOGFILE
默認值: export.log
用法:LOGFILE=[directory_object:].file_name
注意:除非設置了參數NOLOGFILE, 否則總是會生成log文件的。
Data Pump Expor用Server端的字符集來寫日誌文件的,如果客戶端的NLS_LANG環境變量的設置跟Server端不同,有可能會使得日誌文件中的表的名字跟客戶端看到的不太一樣。
舉例:expdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp LOGFILE=hr_export.log
(18)NETWORK_LINK
默認值:none
用法:NETWORK_LINK=source_database_link
注意: 如果source數據庫是隻讀的,那麼source數據庫上的用戶必須有一默認的locally managed臨時表空間。
當NETWORK_LINK和TABLES參數一起使用時,該表會被整個導出,而不能指導出某個分區(如果是分區表的話)。
database link必須是public, fixed_user, and connected_user。 current_user db link是不支持的。
舉例: expdp hr/hr DIRECTORY=dpump_dir1 NETWORK_LINK=source_database_link DUMPFILE=network_export.dmp LOGFILE=network_export.log
(19)NOLOGFILE
默認值: n
用法:NOLOGFILE={y|n}
舉例: expdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp NOLOGFILE=y
(20)PARALLEL
默認值: 1
用法:PARALLEL=integer
注意:設置的這個參數值最好不要超過dump file set中的dump文件的數目。
舉例:expdp hr/hr DIRCTORY=dpump_dir1 LOGFILE=parallel_export.log JOB_NAME=part4_job DUMPFILE=par_exp%u.dump PARALLEL=4
說明:這個參數只在企業版的數據庫中才支持。
(21)PARFILE
默認值:none
用法:PARFILE=[directory_path]file_name
舉例: -- hr.par
SCHEMAS=HR
DUMPFILE=ex.dmp
DIRECTORY=dpump_dir1
LOGFILE=exp.log
> expdp hr/hr parfile = hr.par
(22)QUERY
默認值: none
用法:QUERY=[schema.][table_name:]query_clause
注意:參數QUERY不能和一下參數同事使用:
CONTENT=METADATA_ONLY
ESTIMATE_ONLY
TRANSPORT_TABLESPACES
舉例: expdp hr/hr parfile=query.par
-- query.par
QUERY=employees:' "WHERE department_id > 10 AND salary > 10000"'
NOLOGFILE=y
DIRECTORY=dpump_dir1
DUMPFILE=exp1.dmp
(23)SAMPLE
默認值: none
用法:SAMPLE=[[schema_name.]table_name:]sample_percent
注意:SAMPLE不適用於network exports
舉例: expdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=sample.dmp SAMPLE=70
(24)SCHEMAS
默認值: 當前用戶的schema
用法:SCHEMAS=schema_name [, ...]
舉例: expdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=expdat.dmp SCHEMAS=hr, sh, oe
(25)STATUS
默認值: 0
用法:STATUS=[integer]
舉例: expdp hr/hr DIRECTORY=dpump_dir1 SCHEMAS=hr, sh STATUS=300
(26)TABLES
默認值: none
用法:TABLES=[schema_name.]table_name[:partition_name][, ...]
舉例: >expdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=tables.dmp
TABLES=employees, jobs, departments
> expdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=tables_part.dmp TABLES=sh.sales:sales_q1_2000, sh.sales:sales_Q2_2000
(27)TABLESPACES
默認值: none
用法:TABLESPACES=tablespace_name[, ...]
舉例:expdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=tbs.dmp TABLESPACES=tbs_4, tbs_5, tbs_6
(28)TRANSPORT_FULL_CHECK
默認值: n
注意:這個參數只適用於transportable-tablespace mode的導出。
用法: TRANSPORT_FULL_CHECK={y|n}
舉例: expdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=tts.dmp TRANSPORT_TABLESPACES=tbs_1 TRANSPORT_FULL_CHECK=y LOGFILE=tts.log
(29)TRANSPORT_TABLESPACES
默認值: none
用法:TRANSPORT_TABLESPACES=tablespace_name [, ...]
注意: transportable jobs是不可以重啓的
transportable job並行度只能爲1
transportable tablespace mode要求有EXP_FULL_DATABASE role.
舉例: expdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=tts.dmp TRANSPORT_TABLESPACE=tbs_1 TRANSPORT_FULL_CHECK=y LOGFILE=tts.log
(30)VERSION
默認值: COMPATIBLE
用法:VERSION={COMPATIBLE | LATEST | version_string }
舉例: expdp hr/hr TABLES=hr.employees VERSION=LATEST DIRECTORY=dpump_dir1 DUMPFILE=emp.dmp NOLOGFILE=y
5. How Data Pump Export Parameters Map to Those of the Original Export Utility
下表列出了Data Pump Export和之前Export參數的對應情況,
以前Export中參數 | Data Pump Export中的對應參數
------------------------------------------------------------------
BUFFER | 沒有對應的參數,因爲不需要了
COMPRESS | 沒有對應的參數,不需要了
CONSISTENT | 沒有對應的參數,可以用FLASHBACK_SCN 和FLASHBACK_TIME
CONSTRAINTS | EXCLUDE=CONSTRAINT
DIRECT | 不需要了,因爲Data Pump Export自動選擇最優的方式 (Direct Path或者external tables)
FEEDBACK | STATUS
FILE | DUMPFILE
FILESIZE | FILESIZE
FLASHBACK_SCN | FLASHBACK_SCN
FLASHBACK_TIME | FLASHBACK_TIME
FULL | FULL
GRANTS | EXCLUDES=GRANT
HELP | HELP
INDEXES | EXCLUDE=INDEX
LOG | LOGFILE
OBJECT_CONSTRAINT | 不需要了
OWNER | SCHEMAS
PARFILE | PARFILE
QUERY | QUERY
RECORDLENGTH | 不需要
RESUMABLE | 不需要
RESUMABLE_NAME | 不需要
RESUMABLE_TIMEOUT | 不需要
ROWS=N | CONTENT=METADATA_ONLY
ROWS=Y | CONTENT=ALL
STATISTICS | 不需要,因爲statistics總是會被保存
TABLES | TABLES
TABLESPACES | TABLESPACES
TRANSPORT_TABLESPACE | TRANSPORT_TABLESPACES
TRIGGERS | EXCLUDE=TRIGGER
TTS_FULL_CHECK | TRANSPORT_FULL_CHECK
USERID | 不需要這個參數,因爲才invoke expdp的時候,用username/password就可以了
VOLSIZE | 不需要
6. Commands Available in Export's Interactive-Command Mode
在交互模式下(interactive-command mode), 當前的export job仍然在執行,只是終端(client)的顯示會被掛起,export prompt會顯示在客戶端。
可以通過如下幾種方式切換到交互模式
(1) 在expdp客戶端,按下Ctrl+C
(2) 新打開一個expdp客戶端,輸入參數ATTACH, 這樣就會切換到交互模式下。
在expdp交互模式下可以完成以下操作:
(1) 增加dump文件, 藉助命令ADD_FILE
(2) 離開交互模式: CONTINUE_CLIENT
(3) 離開expdp,但是讓job繼續執行: EXIT_CLIENT
(4)重新設置dump文件的大小,通過命令FILESIZE
(5) 顯示可用的命令:HELP
(6) 殺掉當前的Job: KILL_JOB
(7) 增加或減少active worker process的數目: PARALLEL命令
(8)重啓Job: START_JOB
(9)顯示當前Job的運行狀態信息:STATUS
(10)暫停當前的job: STOP_JOB
下面列出了每個命令的用法:
(1) ADD_FILE
用法:ADD_FILE=[directory_object]file_name [, ...]
舉例: Export> ADD_FILE=hr2.dmp, dpump_dir2:hr3.dmp
(2) CONTINUE_CLIENT
用法:CONTINUE_CLIENT
舉例:Export> CONTINUE_CLIENT
(3) EXIT_CLIENT
用法:EXIT_CLIENT
舉例: Export> EXIT_CLIENT
說明:EXIT_CLIENT只是退出了客戶端expdp,但是Job仍然在運行,可以通過 ATTACH重新連接到該Job. 可以通過查看視圖USER_DATAPUMP_JOBS 和 V$SESSION_LONGOPS來查詢Job的運行狀態信息。
(4) FILESIZE
用法:FILESIZE=number
舉例:Export > FILESIZE=100M
(5) HELP
用法:HELP
舉例:Export> HELP
(6) KILL_JOB
用法:KILL_JOB
舉例: Export> KILL_JOB
說明:通過KILL_JOB殺掉的Job不能夠重啓。
(7) PARALLEL
用法:PARALLEL=integer
舉例:PARALLEL=10
(8) START_JOB
用法:START_JOB
舉例:Export> START_JOB
(9) STATUS
用法:STATUS [=integer]
舉例:EXport> STATUS=300
說明:數值表示每隔多長時間(單位爲秒)刷新Job的狀態信息,如果沒有設置這個參數值,或者設置爲0,則狀態只顯示一次,不會間隔刷新。
(10) STOP_JOB
用法:STOP_JOB[=IMMEDIATE]
舉例:Export> STROP_JOB=IMMEDIATE
7. Examples of Using Data Pump Export
先做好以下準備工作先:
Directory created.
sys@ORCL> GRANT READ, WRITE ON dpump_dir1 TO hr;
GRANT READ, WRITE ON dpump_dir1 TO hr
*
ERROR at line 1:
ORA-00942: table or view does not exist
sys@ORCL> GRANT READ, WRITE ON DIRECTORY dpump_dir1 TO hr;
Grant succeeded.
sys@ORCL>
(1) Table-Mode Export
E:\>expdp hr/hr TABLES=employees, jobs DUMPFILE=dpump_dir1:table.dmp NOLOGFILE=y
Export: Release 11.1.0.6.0 - Production on Wednesday, 03 March, 2010 21:22:59
Copyright (c) 2003, 2007, Oracle. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Starting "HR"."SYS_EXPORT_TABLE_01": hr/******** TABLES=employees, jobs DUMPFILE=dpump_dir1:table.dmp NOLOGFILE=y
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
Processing object type TABLE_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type TABLE_EXPORT/TABLE/COMMENT
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object type TABLE_EXPORT/TABLE/TRIGGER
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "HR"."EMPLOYEES" 16.80 KB 107 rows
. . exported "HR"."JOBS" 6.984 KB 19 rows
Master table "HR"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for HR.SYS_EXPORT_TABLE_01 is:
E:\APP\FANGYU\PRODUCT\11.1.0\WKDIR\TABLE.DMP
Job "HR"."SYS_EXPORT_TABLE_01" successfully completed at 21:23:28
E:\>
(2) Data-Only Unload of Selected Tables and Rows
創建一個參數文件exp.par,內容如下:
DIRECTORY=dpump_dir1
DUMPFILE=dataonly.dmp
CONTENT=DATA_ONLY
EXCLUDES=TABLE:"IN ('COUNTRIES', 'REGIONS')"
QUERY=employees:"WHERE department_id != 50 ORDER BY employee_id"
E:\>expdp hr/hr PARFILE=E:\app\fangyu\product\11.1.0\wkdir\exp.par
Export: Release 11.1.0.6.0 - Production on Wednesday, 03 March, 2010 21:34:13
Copyright (c) 2003, 2007, Oracle. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Starting "HR"."SYS_EXPORT_SCHEMA_01": hr/******** PARFILE=E:\app\fangyu\product\11.1.0\wkdir\exp.par
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 384 KB
. . exported "HR"."DEPARTMENTS" 7.015 KB 27 rows
. . exported "HR"."EMPLOYEES" 13.65 KB 61 rows
. . exported "HR"."JOBS" 6.984 KB 19 rows
. . exported "HR"."JOBS_HIST" 6.992 KB 19 rows
. . exported "HR"."JOB_HISTORY" 7.054 KB 10 rows
. . exported "HR"."LOCATIONS" 8.273 KB 23 rows
Master table "HR"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for HR.SYS_EXPORT_SCHEMA_01 is:
E:\APP\FANGYU\PRODUCT\11.1.0\WKDIR\DATAONLY.DMP
Job "HR"."SYS_EXPORT_SCHEMA_01" successfully completed at 21:34:40
(3)Estimating Disk Space Needed in a Table-Mode Export
E:\>expdp hr/hr DIRECTORY=dpump_dir1 ESTIMATE_ONLY=y TABLES=employees, locations LOGFILE=estimate.log
Export: Release 11.1.0.6.0 - Production on Wednesday, 03 March, 2010 21:38:32
Copyright (c) 2003, 2007, Oracle. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Starting "HR"."SYS_EXPORT_TABLE_01": hr/******** DIRECTORY=dpump_dir1 ESTIMATE_ONLY=y TABLES=employees, locations LOGFILE=estimate.log
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
. estimated "HR"."EMPLOYEES" 64 KB
. estimated "HR"."LOCATIONS" 64 KB
Total estimation using BLOCKS method: 128 KB
Job "HR"."SYS_EXPORT_TABLE_01" successfully completed at 21:38:50
(4) Performing a Schema-Mode Export
Export: Release 11.1.0.6.0 - Production on Wednesday, 03 March, 2010 21:43:49
Copyright (c) 2003, 2007, Oracle. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Starting "HR"."SYS_EXPORT_SCHEMA_01": hr/******** DUMPFILE=dpump_dir1:expschema.dmp LOGFILE=dpump_dir1:expschema.log
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 512 KB
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
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
Processing object type SCHEMA_EXPORT/PROCEDURE/PROCEDURE
Processing object type SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
Processing object type SCHEMA_EXPORT/VIEW/VIEW
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/TRIGGER
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type SCHEMA_EXPORT/POST_SCHEMA/PROCACT_SCHEMA
. . exported "HR"."COUNTRIES" 6.375 KB 25 rows
. . exported "HR"."DEPARTMENTS" 7.015 KB 27 rows
. . exported "HR"."EMPLOYEES" 16.80 KB 107 rows
. . exported "HR"."JOBS" 6.984 KB 19 rows
. . exported "HR"."JOBS_HIST" 6.992 KB 19 rows
. . exported "HR"."JOB_HISTORY" 7.054 KB 10 rows
. . exported "HR"."LOCATIONS" 8.273 KB 23 rows
. . exported "HR"."REGIONS" 5.484 KB 4 rows
Master table "HR"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for HR.SYS_EXPORT_SCHEMA_01 is:
E:\APP\FANGYU\PRODUCT\11.1.0\WKDIR\EXPSCHEMA.DMP
Job "HR"."SYS_EXPORT_SCHEMA_01" successfully completed at 21:44:30
(5) Performing a Parallel Full Database Export
E:\>expdp hr/hr FULL=y DUMPFILE=dpump_dir1:full%U.dmp FILESIZE=2G PARALLEL=3 LOGFILE=dpump_dir1:expful.log JOB_NAME=expful
Export: Release 11.1.0.6.0 - Production on Wednesday, 03 March, 2010 21:50:14
Copyright (c) 2003, 2007, Oracle. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-31631: privileges are required
ORA-39161: Full database jobs require privileges
sys@ORCL> GRANT EXP_FULL_DATABASE TO hr;
Grant succeeded.
sys@ORCL>
E:\>expdp hr/hr FULL=y DUMPFILE=dpump_dir1:full%U.dmp FILESIZE=2G PARALLEL=3 LOGFILE=dpump_dir1:expful.log JOB_NAME=expful
(6) Using Interactive Mode to Stop and Reattach to a Job
E:\>expdp hr/hr FULL=y DUMPFILE=dpump_dir1:full%U.dmp FILESIZE=2G PARALLEL=3 LOGFILE=dpump_dir1:expful.log JOB_NAME=expful
Export: Release 11.1.0.6.0 - Production on Wednesday, 03 March, 2010 22:00:53
Copyright (c) 2003, 2007, Oracle. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Starting "HR"."EXPFUL": hr/******** FULL=y DUMPFILE=dpump_dir1:full%U.dmp FILESIZE=2G PARALLEL=3 LOGFILE=dpump_dir1:expful.log JOB_NAME=expful
Estimate in progress using BLOCKS method...
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
這個時候按下Ctrl+C,進入交互模式, 然後停止這個Job,
Export> STOP_JOB=IMMEDIATE
Are you sure you wish to stop this job ([yes]/no): yes
E:\>
現在重新attach到剛纔的Job (expful)...
E:\>expdp hr/hr ATTACH=EXPFUL
Export: Release 11.1.0.6.0 - Production on Wednesday, 03 March, 2010 22:05:32
Copyright (c) 2003, 2007, Oracle. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Job: EXPFUL
Owner: HR
Operation: EXPORT
Creator Privs: TRUE
GUID: BB311C3A570D49E3A879DDAF02FE98D3
Start Time: Wednesday, 03 March, 2010 22:05:36
Mode: FULL
Instance: orcl
Max Parallelism: 3
EXPORT Job Parameters:
Parameter Name Parameter Value:
CLIENT_COMMAND hr/******** FULL=y DUMPFILE=dpump_dir1:full%U.dmp FILESIZE=2G PARALLEL=3 LOGFILE=dpump_dir1:expful.log JOB_NAME=expful
State: IDLING
Bytes Processed: 0
Current Parallelism: 3
Job Error Count: 0
Dump File: E:\app\fangyu\product\11.1.0\wkdir\full01.dmp
size: 2,147,483,648
bytes written: 4,096
Dump File: E:\app\fangyu\product\11.1.0\wkdir\full%u.dmp
size: 2,147,483,648
Worker 1 Status:
Process Name: DW01
State: UNDEFINED
Export>
然後可以通過命令CONTINUE_CLIENT回到logging模式,繼續執行job,
Export> CONTINUE_CLIENT
Job EXPFUL has been reopened at Wednesday, 03 March, 2010 22:05
Restarting "HR"."EXPFUL": hr/******** FULL=y DUMPFILE=dpump_dir1:full%U.dmp FILESIZE=2G PARALLEL=3 LOGFILE=dpump_dir1:expful.log JOB_NAME=expful
Estimate in progress using BLOCKS method...
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
.....
---------
Regards,
Fangwen.Yu