- 1、數據泵導出expdp詳細參數
- 2、數據泵導入impdp詳細參數
- 3、數據泵作業參數詳細說明
- 3.1 EXPDP命令行選項
- 3.1.1 ATTACH
- 3.1.2 CONTENT
- 3.1.3 DIRECTORY
- 3.1.4 DUMPFILE
- 3.1.5 ESTIMATE
- 3.1.6 EXTIMATE_ONLY
- 3.1.7 EXCLUDE
- 3.1.8 FILESIZE
- 3.1.9 FLASHBACK_SCN
- 3.1.10 FLASHBACK_TIME
- 3.1.11 FULL
- 3.1.12 HELP
- 3.1.13 INCLUDE
- 3.1.14 JOB_NAME
- 3.1.15 LOGFILE
- 3.1.16 NETWORK_LINK
- 3.1.17 NOLOGFILE
- 3.1.18 PARALLEL
- 3.1.19 PARFILE
- 3.1.20 QUERY
- 3.1.21 SCHEMAS
- 3.1.22 STATUS
- 3.1.23 TABLES
- 3.1.24 TABLESPACES
- 3.1.25 TRANSPORT_FULL_CHECK
- 3.1.26 TRANSPORT_TABLESPACES
- 3.1.27 VERSION
- 3.2 EXPDP導出示例
- 3.3 IMPDP導入參數
- 3.3.1、REMAP_DATAFILE
- 3.3.2、REMAP_SCHEMA
- 3.3.3、REMAP_TABLESPACE
- 3.3.4、REUSE_DATAFILES
- 3.3.5、SKIP_UNUSABLE_INDEXES
- 3.3.6、SQLFILE
- 3.3.7、STREAMS_CONFIGURATION
- 3.3.8、TABLE_EXISTS_ACTION
- 3.3.9、TRANSFORM
- 3.4 IMPDP導入示例
- 3.1 EXPDP命令行選項
1、數據泵導出expdp詳細參數
oracle數據泵導出實用程序expdp提供了一種用於在 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=scot 或 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 | 鏈接到源系統的遠程數據庫的名稱。 |
NOLOGFILE | 不寫入日志文件 (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 將立即關閉數據泵作業。|
2、數據泵導入impdp詳細參數
數據泵導入實用程序提供了一種用於在 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 | 要應用於適用對象的元數據轉換。有效的轉換關鍵字: SEGMENT_ATTRIBUTES, STORAGE 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 將立即關閉 |
3、數據泵作業參數詳細說明
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種方式.
3.1 EXPDP命令行選項
3.1.1 ATTACH
該選項用於在客戶會話與已存在導出作用之間建立關聯.語法如下
ATTACH=[schema_name.]job_name
Schema_name用於指定方案名,job_name用於指定導出作業名.注意,如果使用ATTACH選項,在命令行除了連接字符串和ATTACH選項外,不能指定任何其他選項,示例如下:
Expdp scott/tiger ATTACH=scott.export_job
3.1.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.1.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;
3.1.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
3.1.5 ESTIMATE
指定估算被導出表所占用磁盤空間分方法.默認值是BLOCKS
EXTIMATE={BLOCKS | STATISTICS}
設置為BLOCKS時,oracle會按照目標對象所占用的數據塊個數乘以數據塊尺寸估算對象占用的空間,設置為STATISTICS時,根據最近統計值估算對象占用空間
Expdp scott/tiger TABLES=emp ESTIMATE=STATISTICS
DIRECTORY=dump DUMPFILE=a.dump
3.1.6 EXTIMATE_ONLY
指定是否只估算導出作業所占用的磁盤空間,默認值為N
EXTIMATE_ONLY={Y | N}
設置為Y時,導出作用只估算對象所占用的磁盤空間,而不會執行導出作業,為N時,不僅估算對象所占用的磁盤空間,還會執行導出操作.
Expdp scott/tiger ESTIMATE_ONLY=y NOLOGFILE=y
3.1.7 EXCLUDE
該選項用於指定執行操作時釋放要排除對象類型或相關對象
EXCLUDE=object_type[:name_clause] [,….]
Object_type用於指定要排除的對象類型,name_clause用於指定要排除的具體對象.EXCLUDE和INCLUDE不能同時使用
Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dup EXCLUDE=VIEW
3.1.8 FILESIZE
指定導出文件的最大尺寸,默認為0,(表示文件尺寸沒有限制)
3.1.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
3.1.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’)”
3.1.11 FULL
指定數據庫模式導出,默認為N
FULL={Y | N}
為Y時,標識執行數據庫導出.
3.1.12 HELP
指定是否顯示EXPDP命令行選項的幫助信息,默認為N
當設置為Y時,會顯示導出選項的幫助信息.
Expdp help=y
3.1.13 INCLUDE
指定導出時要包含的對象類型及相關對象
INCLUDE = object_type[:name_clause] [,… ]
3.1.14 JOB_NAME
指定要導出作用的名稱,默認為SYS_XXX
JOB_NAME=jobname_string
3.1.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
3.1.16 NETWORK_LINK
指定數據庫鏈名,如果要將遠程數據庫對象導出到本地例程的轉儲文件中,必須設置該選項.
3.1.17 NOLOGFILE
該選項用於指定禁止生成導出日志文件,默認值為N.
3.1.18 PARALLEL
指定執行導出操作的並行進程個數,默認值為1
3.1.19 PARFILE
指定導出參數文件的名稱
PARFILE=[directory_path] file_name
3.1.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’
3.1.21 SCHEMAS
該方案用於指定執行方案模式導出,默認為當前用戶方案.
3.1.22 STATUS
指定顯示導出作用進程的詳細狀態,默認值為0
3.1.23 TABLES
指定表模式導出
TABLES=[schema_name.]table_name[轉 expdp/impdp 詳細參數解釋 - Lee.Li - TRY TO EXPRESSartition_name][,…]
Schema_name用於指定方案名,table_name用於指定導出的表名,partition_name用於指定要導出的分區名.
3.1.24 TABLESPACES
指定要導出表空間列表
3.1.25 TRANSPORT_FULL_CHECK
該選項用於指定被搬移表空間和未搬移表空間關聯關系的檢查方式,默認為N.
當設置為Y時,導出作用會檢查表空間直接的完整關聯關系,如果表空間所在表空間或其索引所在的表空間只有一個表空間被搬移,將顯示錯誤信息.當設置為N時,導出作用只檢查單端依賴,如果搬移索引所在表空間,但未搬移表所在表空間,將顯示出錯信息,如果搬移表所在表空間,未搬移索引所在表空間,則不會顯示錯誤信息.
3.1.26 TRANSPORT_TABLESPACES
指定執行表空間模式導出
3.1.27 VERSION
指定被導出對象的數據庫版本,默認值為COMPATIBLE.
VERSION={COMPATIBLE | LATEST | version_string}
為COMPATIBLE時,會根據初始化參數COMPATIBLE生成對象元數據;為LATEST時,會根據數據庫的實際版本生成對象元數據.version_string用於指定數據庫版本字符串.調用EXPDP
3.2 EXPDP導出示例
使用EXPDP工具時,其轉儲文件只能被存放在DIRECTORY對象對應的OS目錄中,而不能直接指定轉儲文件所在的OS目錄.因此,使用EXPDP工具時,必須首先建立DIRECTORY對象.並且需要為數據庫用戶授予使用DIRECTORY對象權限.
CREATE DIRECTORY dump_dir AS DIRECTORY TO EXPRESSUMP’;
GRANT READ, WIRTE ON DIRECTORY dump_dir TO scott;
3.2.1、導出表
Expdp scott/tiger DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=dept,emp
3.2.2、導出方案
Expdp scott/tiger DIRECTORY=dump_dir DUMPFILE=schema.dmp
SCHEMAS=system,scott
3.3.3、導出表空間
Expdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespace.dmp
TABLESPACES=user01,user02
3.2.4、導出數據庫
Expdp system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=Y
3.3 IMPDP導入參數
IMPDP命令行選項與EXPDP有很多相同的,不同的有:
3.3.1、REMAP_DATAFILE
該選項用於將源數據文件名轉變為目標數據文件名,在不同平台之間搬移表空間時可能需要該選項.
REMAP_DATAFIEL=source_datafie:target_datafile
3.3.2、REMAP_SCHEMA
該選項用於將源方案的所有對象裝載到目標方案中.
REMAP_SCHEMA=source_schema:target_schema
3.3.3、REMAP_TABLESPACE
將源表空間的所有對象導入到目標表空間中
REMAP_TABLESPACE=source_tablespace:target_tablespace
3.3.4、REUSE_DATAFILES
該選項指定建立表空間時是否覆蓋已存在的數據文件.默認為N
REUSE_DATAFIELS={Y | N}
3.3.5、SKIP_UNUSABLE_INDEXES
指定導入是是否跳過不可使用的索引,默認為N
3.3.6、SQLFILE
指定將導入要指定的索引DDL操作寫入到SQL腳本中
SQLFILE=[directory_object:]file_name
Impdp scott/tiger DIRECTORY=dump DUMPFILE=tab.dmp SQLFILE=a.sql
3.3.7、STREAMS_CONFIGURATION
指定是否導入流元數據(Stream Matadata),默認值為Y.
3.3.8、TABLE_EXISTS_ACTION
該選項用於指定當表已經存在時導入作業要執行的操作,默認為SKIP
TABBLE_EXISTS_ACTION={SKIP | APPEND | TRUNCATE | FRPLACE }
當設置該選項為SKIP時,導入作業會跳過已存在表處理下一個對象;當設置為APPEND時,會追加數據,為TRUNCATE時,導入作業會截斷表,然后為其追加新數據;當設置為REPLACE時,導入作業會刪除已存在表,重建表病追加數據,注意,TRUNCATE選項不適用與簇表和NETWORK_LINK選項
3.3.9、TRANSFORM
該選項用於指定是否修改建立對象的DDL語句
TRANSFORM=transform_name:value[轉 expdp/impdp 詳細參數解釋 - Lee.Li - TRY TO EXPRESSbject_type]
Transform_name用於指定轉換名,其中SEGMENT_ATTRIBUTES用於標識段屬性(物理屬性,存儲屬性,表空間,日志等信息),STORAGE用於標識段存儲屬性,VALUE用於指定是否包含段屬性或段存儲屬性,object_type用於指定對象類型.
Impdp scott/tiger directory=dump dumpfile=tab.dmp
Transform=segment_attributes:n:table
3.3.10、TRANSPORT_DATAFILES
該選項用於指定搬移空間時要被導入到目標數據庫的數據文件
TRANSPORT_DATAFILE=datafile_name
Datafile_name用於指定被復制到目標數據庫的數據文件
Impdp system/manager DIRECTORY=dump DUMPFILE=tts.dmp
TRANSPORT_DATAFILES=’/user01/data/tbs1.f’調用IMPDP
3.4 IMPDP導入示例
3.4.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