1. 程式人生 > >使用expdp/impdp資料泵匯出/匯入資料!

使用expdp/impdp資料泵匯出/匯入資料!

資料泵是oracle 10g推出的新功能,expdp/impdp和exp/imp的區別: exp/imp是客戶端工具,可以在客戶端使用,也可以在服務端使用。expdp/impdp是服務端工具,只能在服務端使用。

expdp引數說明

[[email protected] exp]$ expdp help=y

Export: Release 10.2.0.4.0 - Production on 星期三, 05 10月, 2011 17:30:17

Copyright (c) 2003, 2007, Oracle.  All rights reserved.


資料泵匯出實用程式提供了一種用於在 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 將立即關閉
                      資料泵作業。


使用資料泵必須要依賴於directory目錄

SQL> show user
USER 為 "SYS"
SQL> create directory exp as '/u01/exp';

目錄已建立。
SQL> grant read,write on directory exp to ing;


完全模式匯出

expdp system/[email protected] directory=exp full=y

使用者模式匯出

expdp system/[email protected] directory=exp schemas=ing dumpfile=demo1.dmp logfile=demp1.log

表空間模式匯出

expdp system/[email protected] directory=exp tablespaces=test01

表模式匯出

expdp system/[email protected] directory=exp tables=ing.dept
expdp system/[email protected] directory=exp tables=ing.dept,ing.emp
[[email protected] exp]$ ll
總計 100
-rw-r----- 1 oracle oinstall 94208 10-05 17:38 expdat.dmp
-rw-r--r-- 1 oracle oinstall  1090 10-05 17:38 export.log

估算匯出檔案大小而不實際匯出

expdp system/[email protected] directory=exp full=y estimate=blocks estimate_only=y
expdp system/[email protected] directory=exp full=y estimate=statistics estimate_only=y

只匯出資料行

expdp system/[email protected] directory=exp schemas=ing content=data_only

只匯出物件定義

expdp system/[email protected] directory=exp schemas=ing content=metadata_only

排除特定物件匯出

expdp system/[email protected] directory=exp schemas=ing exclude=table:\"=\'test\'\"
expdp system/[email protected] directory=exp schemas=ing exclude=table:\"in \(\'test\',\'test2\'\)\"
expdp system/[email protected] directory=exp schemas=ing exclude=table:\"in \(SELECT tbl_name FROM list_of_tables\)\"
參見:http://www.gokhanatil.com/2011/06/oracle-datapump-include-parameter-and-limit-of-4000-chars.html

包含特定物件匯出

expdp system/[email protected] directory=exp schemas=ing include=table:\"like \'DE%\'\"

只匯出表中的行記錄,不匯出表結構、儲存過程、觸發器、函式、檢視、dblink等

expdp accuser/accuser directory=exp_dir schemas=accuser include=table content=data_only dumpfile=acc_data.dump logfile=acc_data.log

帶where的匯出

expdp system/[email protected] directory=exp schemas=ing query=ing.test:\"where rownum\<3\"

限定單個匯出檔案大小

expdp system/[email protected] directory=exp full=y dumpfile=expdat_%U.dmp parallel=3 filesize=20m
[[email protected] exp]$ ll
總計 79080
-rw-r----- 1 oracle oinstall 20971520 10-05 18:28 expdat_01.dmp
-rw-r----- 1 oracle oinstall 16547840 10-05 18:30 expdat_02.dmp
-rw-r----- 1 oracle oinstall 20971520 10-05 18:28 expdat_03.dmp
-rw-r----- 1 oracle oinstall  5779456 10-05 18:30 expdat_04.dmp
-rw-r----- 1 oracle oinstall 16556032 10-05 18:30 expdat_05.dmp
-rw-r--r-- 1 oracle oinstall    48991 10-05 18:30 export.log


impdp引數說明

[[email protected] exp]$ impdp help=y

Import: Release 10.2.0.4.0 - Production on 星期三, 05 10月, 2011 18:31:19

Copyright (c) 2003, 2007, Oracle.  All rights reserved.


資料泵匯入實用程式提供了一種用於在 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 將立即關閉
                      資料泵作業。


匯出都會了,匯入也就會了,這裡只記一個將使用者system的物件匯入到使用者ing下

expdp system/[email protected] directory=exp tables=t
impdp system/[email protected] directory=exp dumpfile=expdat.dmp remap_schema=system:ing

相關推薦

使用expdp/impdp資料匯出/匯入資料

資料泵是oracle 10g推出的新功能,expdp/impdp和exp/imp的區別: exp/imp是客戶端工具,可以在客戶端使用,也可以在服務端使用。expdp/impdp是服務端工具,只能在服務端使用。 expdp引數說明 [[email protect

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

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

Oracle資料匯出匯入資料庫指令碼

--檢視目錄(dba賬號下操作) select * from dba_directories; --匯出expdp指令碼 vim exp_honesty_201809211642.par 編輯生成匯出的par指令碼新增以下指令碼內容 userid="/ as sysdba" dire

利用資料匯出匯入資料庫表

平時開發中我們經常要備份資料庫或者還原資料庫的操作:而常用的資料庫的備份方式基本上分為三種:匯出/匯入(EXPORT/IMPORT)、冷備份、熱備份方式。匯出備份是一種邏輯備份,冷備份和熱備份是物理備份。 具體大家可以參考 http://suleeair.iteye.com/

expdpimpdp資料匯出匯入

FLASHBACK_SCN=scn_value:Scn_value用於標識SCN值.FLASHBACK_SCN和FLASHBACK_TIME不能同時使用Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_SCN=3585238、FLASHBACK

補:Oracle 的資料匯出expdp)及匯入impdp

        之前本來想寫篇exp-imp,expdp-impdp的簡單介紹的, 結果發現簡單寫了下exp-imp就挺長一篇了,所以就把expdp-impdp分開來寫了。放下之前的連結:https://blog.csdn.net/huay_li/article/detail

Oracle10g 資料匯出命令 expdp 使用總結

注: 處理這樣帶查詢的多表匯出, 如果多表之間有外健關聯, 可能需要注意查詢條件所篩選的資料是否符合這樣的外健約束, 比如 EMP中有一欄位是 deptno, 是關聯dept中的主鍵, 如果"where empno>=8000"中得出的deptno=50的話, 那麼, 你的dept的條件"where

使用資料匯出匯入檔案大小差別很大

oracle在生產環境,使用資料泵匯出和匯入大小可能差別很大,導致新庫空間不夠。 原因:資料泵匯出後文件大小可能比實際匯入檔案小很多,主要是因為索引,其他的大小區別不大; 因為匯出只是匯出索引的定義和在哪建索引,匯入回重新執行匯出的sql語句生成索引,索引可能會很大。

oracle 資料匯入資料匯出

資料泵匯入: 指令 impdp 一:資料庫所有物件的匯入: impdp system/tiger dumpfile=pump_dir:mydatabase_%.dat filesize=100m  nologfile=y  job_name=zhang full=y  es

Oracle資料匯入匯出

  前言 今天王子要分享的內容是關於Oracle的一個實戰內容,Oracle的資料泵。 網上有很多關於此的內容,但很多都是複製貼上別人的,導致很多小夥伴想要使用的時候不能直接上手,所以這篇文章一定能讓你更清晰的理解資料泵。 開始之前王子先介紹一下自己的環境,這裡使用的是比較常用的WIN10系統,Or

oracle建立表空間及使用者,匯出匯入資料備份

轉載:https://blog.csdn.net/ludongshun2016/article/details/52849784?utm_source=copy  建立表空間及使用者 //建立臨時表空間   create temporary tablespace salt

使用資料匯出dblink

最近碰到資料泵匯出匯入資料的時候,發現dblink並沒有匯入進來。 今天測試了下,發現了原因。 當dblink,是使用create database link 這樣的語句建立的時候,按照schema匯出匯入,就可以匯出匯入dblink了。 如果建立dbl

Oracle 利用跨平臺sqluldr2匯出資料和sqlldr匯入資料

Oracle 利用跨平臺sqluldr2匯出資料和sqlldr匯入資料   Oracle資料匯出工具sqluldr2可以將資料以csv、txt等檔案格式匯出,適用於大批量資料的匯出,匯出速度非常快,匯出後可以使用Oracle SQL Loader(sqlldr)工具將資料匯入到資料

mysql資料庫命令列匯出匯入資料基本操作

一。mysql命令列連線資料庫 格式: mysql -h主機地址 -u使用者名稱 -p使用者密碼 二,mysql 通過命令列匯入sql檔案 先確保這個資料庫已經建立 mysql -u root -p database_name(資料庫名稱) < dump.txt pass

資料匯出遠端伺服器資料庫到本地詳解

一、資料庫在伺服器,在本地操作,匯出資料庫到本地 1、cmd下登入資料庫,建立本地使用者 sqlplus sys/1 as sysdba; //oracle建立使用者,只需把所有的dzlnurse改成你要建的使用者名稱字 create user dzlnurse //下面的1是要建立

資料匯出帶有約束的表

近期使用資料泵匯出帶有約束的表,匯入的時候,提示了很多錯誤,一些表幾乎沒有匯入資料。 後來想了想,應該先把所有元資料匯出來,匯入元資料,然後禁用所有的約束。 或者加上引數CONTENT=METADATA_ONLY先匯入元資料,再禁用約束觸發器。再匯入資料。 再次匯入資料,就可以了。

Oracle備份方式主要分三種:資料匯出備份(oracle10g開始推出)、熱備份與冷備份

oracle資料泵備份(Expdp命令)   Oracle備份方式主要分為資料泵匯出備份、熱備份與冷備份三種,今天首先來實踐一下資料泵備份與還原。資料泵匯出/匯入屬於邏輯備份,熱備份與冷備份都屬於物理備份。oracle10g開始推出了資料泵(expdp/impdp),可以使用並行引數選項,因此,

使用GreenPlum/postgres的copy命令匯出/匯入資料

1. COPY命令 1.1 postgres postgres的COPY命令可以快速的匯出/匯入資料到postgresql資料庫中,支援常用的檔案格式,如:txt、sql、csv、壓縮檔案、二進位制格式等。特別適合批量匯出和匯入資料,速度比較快。 COPY TO把一個表的所有

mysql 匯出匯入資料示例

LOAD DATA LOCAL INFILE "C:/地址/文件.txt"  -- 匯入表  IGNORE INTO TABLE tbl_bind_ip  -- 編輯字元編碼 CHARACTER SET

轉載:MySQL INTO OUTFILE/INFILE匯出匯入資料

--使用SELECT ... INTO OUTFILE 以逗號分隔欄位的方式將資料匯入到一個檔案中: SELECT * INTO OUTFILE 'D:\\log1.txt' FIELDS TERMINATED BY ',' FROM log.log1 --將