欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Oracle expdp/impdp 及 exp/imp 命令詳解

 更新時間:2024年07月08日 15:34:04   作者:楊群  
使用Oracle數(shù)據(jù)庫的過程中會經(jīng)常對數(shù)據(jù)進行導(dǎo)入導(dǎo)出,Oracle 數(shù)據(jù)庫提供 expdp / impdp (Data Pump,數(shù)據(jù)泵)以及 exp / imp 兩種工具進行數(shù)據(jù)的導(dǎo)入導(dǎo)出,可以對數(shù)據(jù)庫進行邏輯備份,這篇文章主要介紹了Oracle expdp/impdp 及 exp/imp 命令詳解,需要的朋友可以參考下

一、基礎(chǔ)環(huán)境

   操作系統(tǒng):Windows 或 Linux

   數(shù)據(jù)庫版本:Oracle Database 11.2.0.1.0  及以上版本

二、命令簡介

   我們在使用Oracle 數(shù)據(jù)庫的過程中會經(jīng)常對數(shù)據(jù)進行導(dǎo)入導(dǎo)出。Oracle 數(shù)據(jù)庫提供 expdp / impdp (Data Pump,數(shù)據(jù)泵)以及 exp / imp 兩種工具進行數(shù)據(jù)的導(dǎo)入導(dǎo)出,可以對數(shù)據(jù)庫進行邏輯備份。

A、expdp / impdp 是Oracle 10g 開始引入的全新的用于快速遷移數(shù)據(jù)的工具。提供了一種用于在 Oracle 數(shù)據(jù)庫之間傳輸數(shù)據(jù)對象的機制。是服務(wù)端的工具程序,它們只能在數(shù)據(jù)庫服務(wù)端使用,不可以在客戶端使用。expdp 導(dǎo)出的數(shù)據(jù)文件只能使用 impdp 命令進行導(dǎo)入。優(yōu)點如下:

   1、導(dǎo)出 / 導(dǎo)入的速度快,效率高。

   2、可以在不實際執(zhí)行導(dǎo)出的情況下,估計需要的磁盤空間和所需時間。

   3、可以只處理某些對象,不處理某些對象,或者只處理某些對象中滿足條件的數(shù)據(jù)。

   4、通過 db link 將遠程數(shù)據(jù)庫導(dǎo)出到轉(zhuǎn)儲文件。

   5、通過 db link,直接將遠程數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到當前數(shù)據(jù)庫。

   6、導(dǎo)入時可以修改數(shù)據(jù)所在的 schema 名稱,表空間名稱以及數(shù)據(jù)文件名稱。

   7、導(dǎo)出模式:數(shù)據(jù)庫 、表空間 、對象模式 、表 。 

   8、通過采樣,導(dǎo)出部分數(shù)據(jù)。

   9、只導(dǎo)出元數(shù)據(jù)。

   10、并行操作。

   B、exp / imp 是客戶端的工具程序,它們既可以客戶端使用,也可以在服務(wù)器端使用。exp 導(dǎo)出的數(shù)據(jù)文件只能使用 imp 命令進行導(dǎo)入。

三、命令詳解

   A、expdp

關(guān)鍵字說明 [ 默認值 ]
userid用戶名/口令,必須為第一個參數(shù),且不能省略。
directory用于轉(zhuǎn)儲文件和日志文件的目錄對象。[ data_pump_dir]
dumpfile指定目標轉(zhuǎn)儲文件名的列表 [expdat.dmp]
logfile指定日志文件名 [export.log]。
schemas要導(dǎo)出的方案的列表 [登錄的方案,即 userid 的那個用戶]。
tables標識要導(dǎo)出的表的列表。例如, tables=hr.employees,sh.sales:sales_1995。
nologfile不寫入日志文件 [N]。
query用于導(dǎo)出表的子集的謂詞子句。例如, query=employees:"WHERE department_id > 10"。
reuse_dumpfiles覆蓋目標轉(zhuǎn)儲文件 (如果文件存在) [N]
compression減少轉(zhuǎn)儲文件大小。有效的關(guān)鍵字值為: all, data_only, [matadata_only] 和 none。
content指定要卸載的數(shù)據(jù)。[ ALL ] 即:元數(shù)據(jù)(表結(jié)構(gòu)等)和數(shù)據(jù)。DATA_ONLY 即:僅導(dǎo)出數(shù)據(jù)不導(dǎo)出元數(shù)據(jù)(表結(jié)構(gòu))。 METADATA_ONLY 即:僅導(dǎo)出元數(shù)據(jù)(表結(jié)構(gòu)等)不導(dǎo)出數(shù)據(jù)。
encryption加密某個轉(zhuǎn)儲文件的一部分或全部。 有效的關(guān)鍵字值為: ALL 即:加密元數(shù)據(jù)(表結(jié)構(gòu)等)和數(shù)據(jù)。 DATA_ONLY,即:僅加密數(shù)據(jù)部分,不加密元數(shù)據(jù)(表結(jié)構(gòu)等)。ENCRYPTED_COLUMNS_ONLY, 即:僅加密列。METADATA_ONLY,即:僅加密元數(shù)據(jù)(表結(jié)構(gòu)等)。NONE,即不加密元數(shù)據(jù)(表結(jié)構(gòu)等)和數(shù)據(jù)。
encryption_algorithm指定加密的方式。有效的關(guān)鍵字值為: [ AES128 ], AES192 和 AES256。
encryption_mode生成加密密鑰的方法。有效的關(guān)鍵字值為: dual, password和 [TRANSPARENT]。
encryption_password用于在轉(zhuǎn)儲文件中創(chuàng)建加密數(shù)據(jù)的口令密鑰。
network_link源系統(tǒng)的遠程數(shù)據(jù)庫鏈接的名稱。即dblink的名稱,用于導(dǎo)出遠程數(shù)據(jù)庫。(性能受網(wǎng)絡(luò)限制)
version要導(dǎo)出的對象版本。有效的關(guān)鍵字值為: [COMPATIBLE], latest 或任何有效的數(shù)據(jù)庫版本。在不同版本數(shù)據(jù)庫導(dǎo)入導(dǎo)出數(shù)據(jù)時,必須指定此參數(shù),否則會導(dǎo)入失敗。
full導(dǎo)出整個數(shù)據(jù)庫 [N]。
estimate_only計算作業(yè)估計值而不執(zhí)行導(dǎo)出。
estimate計算作業(yè)估計值。 有效的關(guān)鍵字值為: [blocks] 和 STATISTICS。
help顯示幫助消息 [N]。

常用導(dǎo)出語句:

   1、導(dǎo)出用戶 scott 和 HR 的所有對象,目錄對象為:默認,轉(zhuǎn)儲文件名稱為:默認[EXPDAT.DMP], 日志文件為:默認[export.log]

expdp userid=system/oracle schemas=SCOTT,HR

   2、導(dǎo)出用戶 scott 的 emp 表和 HR 的 jobs 表,目錄對象為:默認,轉(zhuǎn)儲文件名稱為:默認[EXPDAT.DMP], 日志文件為:默認[export.log]

expdp system/oracle tables=scott.emp,hr.jobs

   3、導(dǎo)出遠程用戶的scott

 expdp userid=system/oracle network_link='test' schemas=scott,hr

   4、生產(chǎn)環(huán)境單實例數(shù)據(jù)庫備份命令

expdp userid=帳號/密碼@實例名 schemas=方案名列表 reuse_dumpfiles=y compression=all encryption=data_only encryption_mode=password encryption_password=密碼

  特別說明:為了保證數(shù)據(jù)安全,導(dǎo)出時對轉(zhuǎn)儲文件進行加密(密碼可以動態(tài)生成),防止未授權(quán)人員獲取此轉(zhuǎn)儲文件,導(dǎo)致數(shù)據(jù)泄露。

B、impdp

關(guān)鍵字說明 [ 默認值 ]
userid用戶名/口令,必須為第一個參數(shù),且不能省略。
directory用于轉(zhuǎn)儲文件, 日志文件和 SQL 文件的目錄對象。[ data_pump_dir]
dumpfile要從中導(dǎo)入的轉(zhuǎn)儲文件的列表,可以有多個。[expdat.dmp]
logfile日志文件名 [import.log]
schemas要導(dǎo)入的方案的列表。
encryption_password用于訪問轉(zhuǎn)儲文件中的加密數(shù)據(jù)的口令密鑰。
full導(dǎo)入源中的所有對象 [Y]
remap_schema將一個方案中的對象加載到另一個方案。(修改用戶名)
remap_tablespace將表空間對象重新映射到另一個表空間。(修改表空間)
reuse_datafiles如果表空間已存在, 則將其初始化 [N]。
tables標識要導(dǎo)入的表的列表。
help顯示幫助消息 [N]。

   常用的導(dǎo)入語句:

   1、將用戶 scott 的 emp 用戶表刪除,從備份文件 EXPDAT.DMP 中恢復(fù) emp 表。(提前將 EXPDAT.DMP 放入 DATA_PUMP_DIR 對應(yīng)的目錄)

impdp userid=system/oracle tables=scott.emp

     2、將備份文件 expdat.dmp 中所有對象導(dǎo)入到數(shù)據(jù)庫中,密碼為123456。(提前將 expdat.dmp 放入 DATA_PUMP_DIR 對應(yīng)的目錄)

impdp userid=system/oracle full=y encryption_password=123456

       C、exp

關(guān)鍵字說明[ 默認值 ]
userid用戶名/口令,必須為第一個參數(shù),且不能省略。
owner所有者用戶名列表,多個用英文逗號隔開。
file輸出文件。 [ expdat.dmp ]
log屏幕輸出的日志文件,沒有默認值,建議指定,否則不產(chǎn)生日志文件。
rows導(dǎo)出數(shù)據(jù)行 [Y],如果只想導(dǎo)出元數(shù)據(jù),不導(dǎo)出數(shù)據(jù),請將此關(guān)鍵字設(shè)置為N
query用于導(dǎo)出表的子集的 select 子句
tables表名列表。不同的用戶可以設(shè)置為:用戶名1.表名1,用戶名2.表名2
buffer數(shù)據(jù)緩沖區(qū)大小。建議設(shè)置為64000,可以加快導(dǎo)出速度。
direct直接路徑 [N]。建議設(shè)置為Y ,可以加快導(dǎo)出速度。
recordlengthIO 記錄的長度。建議設(shè)置為65535,可以加快導(dǎo)出速度。
grants導(dǎo)出權(quán)限 [ Y ]
indexs導(dǎo)出索引 [ Y ]
help顯示幫助消息 [N]

常用的導(dǎo)出語句:

1、將 SCOTT 的 EMP 和 DEPT 表每個表導(dǎo)出 10 行。(不足10行的按照實際導(dǎo)出行數(shù)導(dǎo)出)

exp userid=scott/tiger log=export.log tables=emp,dept query="'WHERE ROWNUM <= 10'"

2、將 scott 的 emp 和 dept 表導(dǎo)出,最高效率(導(dǎo)出文件名為默認的expdat.dmp)

exp userid=scott/tiger log=export.log tables=emp,dept direct=y buffer=64000 recordlength=65535

D、imp

關(guān)鍵字說明[ 默認值 ]
userid用戶名/口令,必須為第一個參數(shù),且不能省略。
file輸入文件。 [ expdat.dmp ]
log屏幕輸出的日志文件,沒有默認值,建議指定,否則不產(chǎn)生日志文件。
fromuser所有者用戶名列表
touser用戶名列表
tables表名列表。前面可以加用戶名,如:scott.emp,scott.dept
grants導(dǎo)入權(quán)限 [Y]
indexes導(dǎo)入索引 [Y]
rows導(dǎo)入數(shù)據(jù)行 [Y]
full導(dǎo)入整個文件。[N]
help顯示幫助消息 [N]

常用的導(dǎo)入語句:

1、將 scott.dmp 導(dǎo)入數(shù)據(jù)庫。(需要提前將 emp,dept 表刪除)

 imp userid=scott/tiger file=scott.dmp log=scott.log tables=emp,dept

四、參考資料

   1、Oracle 自帶的命令:expdp -help 、impdp -help  、exp -help 、imp -help 

到此這篇關(guān)于Oracle expdp/impdp 及 exp/imp 命令詳解的文章就介紹到這了,更多相關(guān)Oracle expdp/impdp 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論