[Data Pump]Learning Data Pump Step by Step -- (2) Data Pump Export

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裝了不止一個數據庫)

 

expdp hr/hr@inst1 DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp TABLES=employees

 

 

這裏面的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

通過設置參數QUERYSAMPLE來進行數據導出時的過濾。數據過濾也可以在進行metadata filtering的時候間接進行。

在一個Data Pump Export job中,每個table只可以進行一次數據過濾操作。如果不同的過濾(filter),作用於某個表或者整個job,碰巧又擁有相同的名字,這種情況下針對表的過濾優先選擇。 

 

 (2) Metadata Filters

 Metadata的過濾是通過設置參數EXCLUDEINCLUDE來實現的。這兩個參數是相互排他的。

需要注意的是,如果一個數據庫對象被設置過濾(exclude/include),那依賴該object的所有其他object也同樣會被過濾(exclude/include)。比如說一個表如果被include了,那表上的index, trigger等同樣也會被include。

可以通過查看如下視圖來得到哪些對象可以被filtered,

DATABASE_EXPORT_OBJECTS, SCHEMA_EXPORT_OBJECTS, TABLE_EXPORT_OBJECTS. 如下例所示, 

  

 

SQL>SELECT object_path, comments FROM schema_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

 

先做好以下準備工作先:

 

複製代碼
sys@ORCL> CREATE DIRECTORY dpump_dir1 AS 'E:\app\fangyu\product\11.1.0\wkdir';

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
-00942table 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) 
20032007, 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) 
20032007, 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) 
20032007, 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

 

複製代碼
E:\>expdp hr/hr DUMPFILE=dpump_dir1:expschema.dmp LOGFILE=dpump_dir1:expschema.log

Export: Release 
11.1.0.6.0 - Production on Wednesday, 03 March, 2010 21:43:49

Copyright (c) 
20032007, 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) 
20032007, 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
-31631privileges are required
ORA-39161Full 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 
Full Database Export

 

 

  

(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) 
20032007, 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) 
20032007, 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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章