共計 7059 個字符,預計需要花費 18 分鐘才能閱讀完成。
本篇內容主要講解“expdp 與 impdp 的區別是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓丸趣 TV 小編來帶大家學習“expdp 與 impdp 的區別是什么”吧!
一、expdp/impdp 和 exp/imp 的區別
1、exp 和 imp 是客戶端工具程序,它們既可以在客戶端使用,也可以在服務端使用。
2、expdp 和 impdp 是服務端的工具程序,他們只能在
Oracle
服務端使用,不能在客戶端使用。
3、imp 只適用于 exp 導出的文件,不適用于 expdp 導出文件;impdp 只適用于 expdp 導出的文件,而不適用于 exp 導出文件。
4、對于 10g 以上的服務器,使用 exp 通常不能導出 0 行數據的空表,而此時必須使用 expdp 導出。
二、expdp 導出步驟
(1)創建邏輯目錄:
第一步:在服務器上創建真實的目錄;(注意:第三步創建邏輯目錄的命令不會在 OS 上創建真正的目錄,所以要先在服務器上創建真實的目錄。如下圖:)
第二步:用 sys 管理員登錄 sqlplus;
oracle@ypdbtest:/home/oracle/dmp/vechcore sqlplus
SQL*Plus: Release 11.2.0.4.0 Production on Tue Sep 5 09:20:49 2017Copyright (c) 1982, 2013, Oracle. All rights reserved.
Enter user-name: sys as sysdba
Enter password:
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL
第三步:創建邏輯目錄;
SQL create directory data_dir as /home/oracle/dmp/user
Directory created.
第四步:查看管理員目錄,檢查是否存在;
SQL select * from dba_directories;
OWNER DIRECTORY_NAME------------------------------ ------------------------------DIRECTORY_PATH--------------------------------------------------------------------------------SYS DATA_DIR/home/oracle/dmp/user
第五步:用 sys 管理員給你的指定用戶賦予在該目錄的操作權限。
SQL grant read,write on directory data_dir to user;Grant succeeded.
(2)用 expdp 導出 dmp,有五種導出方式:
第一種:“full=y”,全量導出數據庫;
expdp user/passwd@orcl dumpfile=expdp.dmp directory=data_dir full=y logfile=expdp.log;
第二種:schemas 按用戶導出;
expdp user/passwd@orcl schemas=user dumpfile=expdp.dmp directory=data_dir logfile=expdp.log;
第三種:按表空間導出;
expdp sys/passwd@orcl tablespace=tbs1,tbs2 dumpfile=expdp.dmp directory=data_dir logfile=expdp.log;
第四種:導出表;
expdp user/passwd@orcl tables=table1,table2 dumpfile=expdp.dmp directory=data_dir logfile=expdp.log;
第五種:按查詢條件導;
expdp user/passwd@orcl tables=table1= where number=1234 dumpfile=expdp.dmp directory=data_dir logfile=expdp.log;
三、impdp 導入步驟
(1)如果不是同一臺服務器,需要先將上面的 dmp 文件下載到目標服務器上,具體命令參照:http://www.cnblogs.com/promise-x/p/7452972.html
(2)參照“expdp 導出步驟”里的前三步,建立邏輯目錄;
(3)用 impdp 命令導入,對應五種方式:
第一種:“full=y”,全量導入數據庫;
impdp user/passwd directory=data_dir dumpfile=expdp.dmp full=y;
第二種:同名用戶導入,從用戶 A 導入到用戶 A;
impdp A/passwd schemas=A directory=data_dir dumpfile=expdp.dmp logfile=impdp.log;
第三種:①從 A 用戶中把表 table1 和 table2 導入到 B 用戶中;
impdp B/passwdtables=A.table1,A.table2 remap_schema=A:B directory=data_dir dumpfile=expdp.dmp logfile=impdp.log;
②將表空間 TBS01、TBS02、TBS03 導入到表空間 A_TBS,將用戶 B 的數據導入到 A,并生成新的 oid 防止沖突;
impdp A/passwdremap_tablespace=TBS01:A_TBS,TBS02:A_TBS,TBS03:A_TBS remap_schema=B:A FULL=Y transform=oid:n directory=data_dir dumpfile=expdp.dmp logfile=impdp.log
第四種:導入表空間;
impdp sys/passwd tablespaces=tbs1 directory=data_dir dumpfile=expdp.dmp logfile=impdp.log;
第五種:追加數據;
impdp sys/passwd directory=data_dir dumpfile=expdp.dmp schemas=system table_exists_action=replace logfile=impdp.log;
--table_exists_action: 導入對象已存在時執行的操作。有效關鍵字:SKIP,APPEND,REPLACE 和 TRUNCATE
四、expdp 關鍵字與命令
(1)關鍵字 說明 (默認)
ATTACH 連接到現有作業, 例如 ATTACH [= 作業名]。
COMPRESSION 減小轉儲文件內容的大小, 其中有效關鍵字 值為: ALL, (METADATA_ONLY), DATA_ONLY 和 NONE。
CONTENT 指定要卸載的數據, 其中有效關鍵字 值為: (ALL), DATA_ONLY 和 METADATA_ONLY。
DATA_OPTIONS 數據層標記, 其中唯一有效的值為: 使用 CLOB 格式的 XML_CLOBS-write XML 數據類型。
DIRECTORY 供轉儲文件和日志文件使用的目錄對象,即邏輯目錄。
DUMPFILE 目標轉儲文件 (expdp.dmp) 的列表, 例如 DUMPFILE=expdp1.dmp, expdp2.dmp。
ENCRYPTION 加密部分或全部轉儲文件, 其中有效關鍵字值為: ALL, DATA_ONLY, METADATA_ONLY,ENCRYPTED_COLUMNS_ONLY 或 NONE。
ENCRYPTION_ALGORITHM 指定應如何完成加密, 其中有效關鍵字值為: (AES128), AES192 和 AES256。
ENCRYPTION_MODE 生成加密密鑰的方法, 其中有效關鍵字值為: DUAL, PASSWORD 和 (TRANSPARENT)。
ENCRYPTION_PASSWORD 用于創建加密列數據的口令關鍵字。
ESTIMATE 計算作業估計值, 其中有效關鍵字值為: (BLOCKS) 和 STATISTICS。
ESTIMATE_ONLY 在不執行導出的情況下計算作業估計值。
EXCLUDE 排除特定的對象類型, 例如 EXCLUDE=TABLE:EMP。例:EXCLUDE=[object_type]:[name_clause],[object_type]:[name_clause] 。
FILESIZE 以字節為單位指定每個轉儲文件的大小。
FLASHBACK_SCN 用于將會話快照設置回以前狀態的 SCN。— 指定導出特定 SCN 時刻的表數據。
FLASHBACK_TIME 用于獲取最接近指定時間的 SCN 的時間。– 定導出特定時間點的表數據,注意 FLASHBACK_SCN 和 FLASHBACK_TIME 不能同時使用。
FULL 導出整個數據庫 (N)。
HELP 顯示幫助消息 (N)。
INCLUDE 包括特定的對象類型, 例如 INCLUDE=TABLE_DATA。
JOB_NAME 要創建的導出作業的名稱。
LOGFILE 日志文件名 (export.log)。
NETWORK_LINK 鏈接到源系統的遠程數據庫的名稱。
NOLOGFILE 不寫入日志文件 (N)。
PARALLEL 更改當前作業的活動 worker 的數目。
PARFILE 指定參數文件。
QUERY 用于導出表的子集的謂詞子句。–QUERY = [schema.][table_name:] query_clause。
REMAP_DATA 指定數據轉換函數, 例如 REMAP_DATA=EMP.EMPNO:REMAPPKG.EMPNO。
REUSE_DUMPFILES 覆蓋目標轉儲文件 (如果文件存在) (N)。
SAMPLE 要導出的數據的百分比。
SCHEMAS 要導出的方案的列表 (登錄方案)。
STATUS 在默認值 (0) 將顯示可用時的新狀態的情況下, 要監視的頻率 (以秒計) 作業狀態。
TABLES 標識要導出的表的列表 – 只有一個方案。–[schema_name.]table_name[:partition_name][,…]
TABLESPACES 標識要導出的表空間的列表。
TRANSPORTABLE 指定是否可以使用可傳輸方法, 其中有效關鍵字值為: ALWAYS, (NEVER)。
TRANSPORT_FULL_CHECK 驗證所有表的存儲段 (N)。
TRANSPORT_TABLESPACES 要從中卸載元數據的表空間的列表。
VERSION 要導出的對象的版本, 其中有效關鍵字為:(COMPATIBLE), LATEST 或任何有效的數據庫版本。
(2)命令 說明
ADD_FILE 向轉儲文件集中添加轉儲文件。
CONTINUE_CLIENT 返回到記錄模式。如果處于空閑狀態, 將重新啟動作業。
EXIT_CLIENT 退出客戶機會話并使作業處于運行狀態。
FILESIZE 后續 ADD_FILE 命令的默認文件大小 (字節)。
HELP 總結交互命令。
KILL_JOB 分離和刪除作業。
PARALLEL 更改當前作業的活動 worker 的數目。PARALLEL= worker 的數目。
_DUMPFILES 覆蓋目標轉儲文件 (如果文件存在) (N)。
START_JOB 啟動 / 恢復當前作業。
STATUS 在默認值 (0) 將顯示可用時的新狀態的情況下, 要監視的頻率 (以秒計) 作業狀態。STATUS[=interval]。
STOP_JOB 順序關閉執行的作業并退出客戶機。STOP_JOB=IMMEDIATE 將立即關閉數據泵作業。
五、impdp 關鍵字與命令
(1)關鍵字 說明 (默認)
ATTACH 連接到現有作業, 例如 ATTACH [= 作業名]。
CONTENT 指定要卸載的數據, 其中有效關鍵字 值為: (ALL), DATA_ONLY 和 METADATA_ONLY。
DATA_OPTIONS 數據層標記, 其中唯一有效的值為:SKIP_CONSTRAINT_ERRORS- 約束條件錯誤不嚴重。
DIRECTORY 供轉儲文件, 日志文件和 sql 文件使用的目錄對象,即邏輯目錄。
DUMPFILE 要從 (expdp.dmp) 中導入的轉儲文件的列表, 例如 DUMPFILE=expdp1.dmp, expdp2.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 指定參數文件。
PARTITION_OPTIONS 指定應如何轉換分區, 其中有效關鍵字為:DEPARTITION,MERGE 和(NONE)。
QUERY 用于導入表的子集的謂詞子句。
REMAP_DATA 指定數據轉換函數, 例如 REMAP_DATA=EMP.EMPNO:REMAPPKG.EMPNO。
REMAP_DATAFILE 在所有 DDL 語句中重新定義數據文件引用。
REMAP_SCHEMA 將一個方案中的對象加載到另一個方案。REMAP_SCHEMA=SOURCE_SCHEMA:TARGET_SCHEMA
REMAP_TABLE 表名重新映射到另一個表, 例如 REMAP_TABLE=OLD_TABLENAME:NEW_TABLENAME
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。
TRANSPORTABLE 用于選擇可傳輸數據移動的選項。有效關鍵字為: ALWAYS 和 (NEVER)。僅在 NETWORK_LINK 模式導入操作中有效。
TRANSPORT_DATAFILES 按可傳輸模式導入的數據文件的列表。
TRANSPORT_FULL_CHECK 驗證所有表的??儲段 (N)。
TRANSPORT_TABLESPACES 要從中加載元數據的表空間的列表。僅在 NETWORK_LINK 模式導入操作中有效。
VERSION 要導出的對象的版本, 其中有效關鍵字為:(COMPATIBLE), LATEST 或任何有效的數據庫版本。僅對 NETWORK_LINK 和 SQLFILE 有效。
(2)命令 說明
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 將立即關閉數據泵作業。
到此,相信大家對“expdp 與 impdp 的區別是什么”有了更深的了解,不妨來實際操作一番吧!這里是丸趣 TV 網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!