1. 程式人生 > >Oracle expdp/impdp工具使用

Oracle expdp/impdp工具使用

Oracle資料泵

一、資料泵的作用:

        1.實現邏輯備份和邏輯恢復

        2.在資料庫使用者之間移動物件

        3.在資料庫之間移動物件

        4.實現表空間轉移

二 、資料泵的特點與傳統匯出匯入的區別

       1.EXP和IMP是客戶段工具程式, EXPDP和IMPDP是服務端的工具程式

       2.EXP和IMP效率比較低. EXPDP和IMPDP效率高

       3.資料泵功能強大並行、過濾、轉換、壓縮、加密、互動等等

       4.資料泵不支援9i以前版本, EXP/IMP短期內還是比較適用

       5.同exp/imp資料泵匯出包括匯出表,匯出方案,匯出表空間,匯出資料庫4種方式.

三、DATA PUMP的體系結構:

四、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=scott
               或 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.dmp。
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 將立即關閉
                      資料泵作業。


五、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 將立即關閉
                      資料泵作業。


六、實踐操作:

   1. 使用目錄:DATA_PUMP_DIR

SQL> select * from dba_directories;

OWNER                          DIRECTORY_NAME
------------------------------ ------------------------------
DIRECTORY_PATH
----------------------------------------------------------------
SYS                            ADMIN_DIR
C:\ADE\aime_10.2_nt_push\oracle/md/admin

SYS                            DATA_PUMP_DIR
E:\admin\orcl\dpdump\

SYS                            WORK_DIR
C:\ADE\aime_10.2_nt_push\oracle/work
SQL> grant read, write on directory data_pump_dir to scott;

授權成功。

   2.EXPDP用法舉例:

1)按使用者導

expdp scott/[email protected] schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;

2)並行程序parallel

expdp scott/[email protected] directory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott3

3)按表名導

expdp scott/[email protected] TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;

4)按查詢條件導

expdp scott/[email protected] directory=dpdata1 dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';

5)按表空間導

expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;

6)導整個資料庫

expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;

   3.IMPDP用法舉例:

1)導到指定使用者下

impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;

2)改變表的owner

impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;

3)匯入表空間

impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;

4)匯入資料庫

impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;

5)追加資料

impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION

 

  4. 案例:將資料庫A中HR使用者下所有物件匯入到SCOTT使用者下:

     1)匯出HR方案:

     expdp system/[email protected] schemas=hr dumpfile=hr.dmp DIRECTORY=data_pump_dir nologfle=y;

    2)將hr.dmp匯入SCOTT方案:

啟動 "SYSTEM"."SYS_IMPORT_FULL_01":  system/******** dumpfile=hr.dmp directory=data_pump_dir remap_schema=hr:scott 
處理物件型別 SCHEMA_EXPORT/USER
ORA-31684: 物件型別 USER:"SCOTT" 已存在
處理物件型別 SCHEMA_EXPORT/SYSTEM_GRANT
處理物件型別 SCHEMA_EXPORT/ROLE_GRANT
處理物件型別 SCHEMA_EXPORT/DEFAULT_ROLE
處理物件型別 SCHEMA_EXPORT/TABLESPACE_QUOTA
處理物件型別 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
處理物件型別 SCHEMA_EXPORT/SEQUENCE/SEQUENCE
處理物件型別 SCHEMA_EXPORT/TABLE/TABLE
處理物件型別 SCHEMA_EXPORT/TABLE/TABLE_DATA
. . 匯入了 "SCOTT"."COUNTRIES"                         6.085 KB      25 行
. . 匯入了 "SCOTT"."DEPARTMENTS"                       6.632 KB      27 行
. . 匯入了 "SCOTT"."EMPLOYEES"                         15.76 KB     107 行
. . 匯入了 "SCOTT"."JOBS"                              6.609 KB      19 行
. . 匯入了 "SCOTT"."JOB_HISTORY"                       6.585 KB      10 行
. . 匯入了 "SCOTT"."LOCATIONS"                         7.710 KB      23 行
. . 匯入了 "SCOTT"."REGIONS"                           5.289 KB       4 行
處理物件型別 SCHEMA_EXPORT/TABLE/INDEX/INDEX
處理物件型別 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
處理物件型別 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
處理物件型別 SCHEMA_EXPORT/TABLE/COMMENT
處理物件型別 SCHEMA_EXPORT/PROCEDURE/PROCEDURE
處理物件型別 SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
處理物件型別 SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
處理物件型別 SCHEMA_EXPORT/TABLE/TRIGGER
處理物件型別 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
作業 "SYSTEM"."SYS_IMPORT_FULL_01" 已經完成, 但是有 1 個錯誤 (於 15:32:01 完成)

     3)效果就是HR下面的物件都複製到了SCOTT使用者下:
SQL> select * from scott.employees where rownum<10;

EMPLOYEE_ID FIRST_NAME           LAST_NAME                 EMAIL
----------- -------------------- ------------------------- ------------------
        100 Steven               King                      SKING
        101 Neena                Kochhar                   NKOCHHAR
        102 Lex                  De Haan                   LDEHAAN
        103 Alexander            Hunold                    AHUNOLD
        104 Bruce                Ernst                     BERNST
        105 David                Austin                    DAUSTIN
        106 Valli                Pataballa                 VPATABAL
        107 Diana                Lorentz                   DLORENTZ
        108 Nancy                Greenberg                 NGREENBE

已選擇9行。


---------------------------------------------------------------

made by dylan.


相關推薦

Oracle expdp/impdp工具使用

Oracle資料泵 一、資料泵的作用:         1.實現邏輯備份和邏輯恢復         2.在資料庫使用者之間移動物件         3.在資料庫之間移動物件         4.實現表空間轉移 二 、資料泵的特點與傳統匯出匯入的區別        1.

詳解oracle 12c通過數據泵expdp/impdp工具實現對數據備份、恢復

工具實現 數據庫 RoCE app eat source .com blog con 簡介 Oracle Database 10g引入了最新的數據泵(Data Dump)技術,數據泵導出導入(EXPDP和IMPDP)的作用1.實現邏輯備份和邏輯恢復2.數據庫用戶之間移動對象

Oracle expdp/impdp匯出匯入命令及資料庫備份(轉)

利用network_link引數,進行impdp: 目標資料庫建立連線源資料庫的dblink(source),目標端建立使用者(imsuser),並賦予許可權(import_full_database)。源資料庫的使用者要賦予(export_full_database)的許可權。 不需

Oracle expdp/impdp匯出匯入命令及資料庫備份

使用EXPDP和IMPDP時應該注意的事項: EXP和IMP是客戶端工具程式,它們既可以在客戶端使用,也可以在服務端使用。 EXPDP和IMPDP是服務端的工具程式,他們只能在ORACLE服務端使用,不能在客戶端使用。 IMP只適用於EXP匯出的檔案,不適用於EXPDP匯出檔案;IMPDP只適用於E

Oracle expdp/impdp 使用示例

在之前的blog: Oracle 10g Data Pump Expdp/Impdp 詳解 exp/imp 與 expdp/impdp 對比 及使用中的一些優化事項 中對資料泵這塊的理論知

Oracle expdp/impdp 用法例子 詳解 舉例 例子 他的這篇文章沒有辦法寫出來 要這麼改

在之前的blog:        Oracle 10g Data Pump Expdp/Impdp 詳解        exp/imp 與 expdp/impdp 對比及使用中的一些優化事項        中對資料泵這塊的理論知識有一些說明,但是沒有實際操作的例子。 所以在這裡就對expdp/im

oracle 11g expdp impdp詳細使用方法

無法登錄 目錄 expdp like tempfile spa ase 平臺 ads 11G中有個新特性,當表無數據時,不分配segment,以節省空間 解決方法如下圖: 二、oracle10g以後提供了expdp/impdp工具,同樣可以解決此問題 1、導出expdp工

Oracle 12c pdb使用expdp/impdp導入導出

12c impdp expdp 12c推出了可插拔數據庫,在一個容器cdb中以多租戶的形式同時存在多個數據庫pdb。在為pdb做數據泵導入導出時和傳統的數據庫有少許不同。 1,需要為pdb添加tansnames 2,導入導出時需要在userid參數內指定其tan

oracle數據庫 expdp/impdp 和 exp/imp

文件名 spa oracle數據庫 空間不足 rac tab rec exp導出 創建 --EXPDP導出,需要系統用戶權限,一般不使用--sqlplus--1、創建dmp導出邏輯目錄 create directory 目錄名 as ‘目錄路徑‘ create direc

Oracle Database Data Pump(expdp/impdp

ica esc master art pac ddr starting sin card 導出 SQL> host mkdir /tmp/tpccdump SQL> create directory tpcc_dump as '/tmp/tpccdu

oracle服務端導出/導入方式expdp/impdp

ola schema ons oracle服務 task 條件 ... related ack 1. expdp導出步驟 1.1 用sys管理員登錄sqlplus [root@hxjk_test_mysql_redis_file oracle]# sqlplus SQ

Oracle】匯入和匯出 EXP / IMP 和 EXPDP / IMPDP 資料泵匯出匯入的方法

  【Oracle】EXPDP和IMPDP資料泵進行匯出匯入的方法 一、expdp/impdp和exp/imp的區別 1、exp和imp是客戶端工具程式,它們既可以在客戶端使用,也可以在服務端使用。 2、expdp和impdp是服務端的工具程式,他們只能在oracle服務端

Oracle匯入匯出資料庫(exp/imp和expdp/impdp的區別)

  Oracle匯入匯出資料庫(exp/imp和expdp/impdp的區別) 目錄索引 1、exp和expdp的區別 2、expdp匯出資料庫流程   一、↓↓exp和expdp的區別↓↓ 1、exp和expdp最明顯的區別就是匯出速度的不同。exp

expdp,impdp 資料庫泵方式 oracle 資料庫備份

**ORACLE 資料庫 備份** cmd 連線oracle sysdba 的方式連線oracle,連線過程中出現報錯(分析原因,檢查三 oacle監聽是否啟動,oracle 例項是否啟動,登錄檔oralce_sid 是否正確,分析原因oracle_

Oracle資料匯入匯出imp/exp命令 10g以上expdp/impdp命令

Oracle資料匯入匯出imp/exp就相當於oracle資料還原與備份。exp命令可以把資料從遠端資料庫伺服器匯出到本地的dmp檔案,imp命令可以把dmp檔案從本地匯入到遠處的資料庫伺服器中。 利用這個功能可以構建兩個相同的資料庫,一個用來測試,一個用來正式使用。 執行環

ORACLE資料庫中EXPDP/IMPDP引數INCLUDE/EXCLUDE的使用說明

1、引數作用 exclude:用於排除匯入/匯出某些物件 include:用於指定匯入/匯出某些物件 2、引數語法 exclude=[object_type]:[name_clause],[object_type]:[name_clause] include=[

Oracle資料泵expdp/impdp筆記

作者:fbysssmsn:[email protected]  blog:blog.csdn.net/fbysss宣告:本文由fbysss原創,轉載請註明出處關鍵字:oracle 資料泵 expdp/impdp資料泵 是oracle10G的命令必須在伺服器上執行,s

Oracle資料庫匯入匯出exp/imp與expdp/impdp

1.exp/imp與expdp/impdp (1) 把使用者usera的物件導到使用者userb,用法區別在於 exp/imp : fromuser=usera touser=userb ,expdp/impdp : remap_schema=’usera’:'user

Oracle EXPDPIMPDP指令詳解

D:\>impdp help=y Import: Release 11.2.0.1.0 - Production on Wed Jun 28 10:57:43 2017 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All righ

使用Oracle資料泵EXPDP/IMPDP匯入匯出

示例為ORACLE 11G匯出到ORACLE 10G匯入用資料泵EXPDP,IMPDP做ORACLE匯入、匯出.  優勢如下:1:可以跨不同表空間2:不同ORACLE版本資料方便匯入,匯出3:效率大大高