oracle expdp導(dǎo)出和impdp導(dǎo)入使用方法

本篇介紹一下oracle expdp導(dǎo)出、impdp導(dǎo)入的使用方法 準(zhǔn)備工作 導(dǎo)出-expdp 導(dǎo)入-impdp 導(dǎo)出-expdp參數(shù)說(shuō)明 導(dǎo)入-impdp參數(shù)說(shuō)明 準(zhǔn)備工作 oracle中的expdp導(dǎo)出、impdp導(dǎo)入的使用之前,都得先完成以下三個(gè)步驟 第一步 以管理員身份,創(chuàng)建邏輯目錄 create direc

本篇介紹一下oracle expdp導(dǎo)出、impdp導(dǎo)入的使用方法

準(zhǔn)備工作

導(dǎo)出-expdp

導(dǎo)入-impdp

導(dǎo)出-expdp參數(shù)說(shuō)明

導(dǎo)入-impdp參數(shù)說(shuō)明

準(zhǔn)備工作

oracle中的expdp導(dǎo)出、impdp導(dǎo)入的使用之前,都得先完成以下三個(gè)步驟

第一步 以管理員身份,創(chuàng)建邏輯目錄

create?Directory?my_dbdata?as?'D:/my_dbdata';

第二步 查看邏輯目錄是否創(chuàng)建成功

oracle expdp導(dǎo)出和impdp導(dǎo)入使用方法

此時(shí)應(yīng)該在再查看“D:/my_dbdata”這個(gè)磁盤(pán)物理路徑是否存在。因?yàn)閛racle創(chuàng)建時(shí)并不關(guān)心該磁盤(pán)目錄是否存在,如果不存在,則在后續(xù)的操作中會(huì)報(bào)錯(cuò)

第三步 賦予導(dǎo)出用戶的邏輯目錄操作權(quán)限

比如我要導(dǎo)出一個(gè)用戶名為“answer”的庫(kù),則需要用管理員來(lái)賦予“answer”用戶對(duì)于邏輯目錄的操作權(quán)限。

grant?read,write?on?directory?my_dbdata?to?answer;

操作系統(tǒng)為windows,則打開(kāi)cmd窗口,若為linux或其他unix系統(tǒng),則直接在命令行操作

特別注意:在expdp、impdp命令使用時(shí),不要習(xí)慣性的在命令末尾加上分號(hào)“;”,會(huì)導(dǎo)致不經(jīng)意間出現(xiàn)錯(cuò)誤。

???? ? ? ?曾經(jīng)我進(jìn)行導(dǎo)入操作是,最后加了個(gè)分號(hào),語(yǔ)句如下:

impdp?eppapp0805/eppapp0805?DIRECTORY=epp_data?DUMPFILE=eppapptest_88_20130805.dmp?  ????remap_schema=eppapptest:eppapp0805;

????看見(jiàn)了沒(méi),最后那個(gè)參數(shù)是remap_schema=eppapptest:eppapp0805,表示該dmp包是從eppapptest用戶導(dǎo)出來(lái)的,要把這個(gè)dmp包導(dǎo)入到用戶eppapp0805去,結(jié)果,導(dǎo)入時(shí)oracle把“eppapp0805;”連分號(hào)一起當(dāng)成用戶名了,一看現(xiàn)有庫(kù)中不存在這個(gè)用戶,就創(chuàng)建新用戶,然后就創(chuàng)建了一個(gè)帶分號(hào)結(jié)尾的用戶。而這個(gè)用戶還不能登錄,因?yàn)橛刑厥庾址浅5挠魫?/span>

導(dǎo)出-expdp

1)按用戶導(dǎo)出

expdp?answer/answer@orcl?schemas=answer?dumpfile=answer.dmp?DIRECTORY=my_dbdata

2)按表名導(dǎo)出

expdp?answer/answer@orcl?tableS=a_answer,a_question?  ????dumpfile=m_table.dmp?DIRECTORY=my_dbdata

3)按查詢條件導(dǎo)出

expdp?answer/answer@orcl?directory=my_dbdata?dumpfile=exp_by_query.dmp?  ????tables=a_answer?query='WHERE?id?<p>4)按表空間導(dǎo)出</p><pre class="brush:sql;toolbar:false;">expdp?answer/answer?DIRECTORY=my_dbdata?DUMPFILE=tablespace.dmp?TABLESPACES=user

5)整個(gè)數(shù)據(jù)庫(kù)導(dǎo)出

expdp?answer/answer?DIRECTORY=my_dbdata?DUMPFILE=full.dmp?FULL=y

導(dǎo)入-impdp

1)導(dǎo)入到指定用戶下

impdp?answer/answer?DIRECTORY=my_dbdata?DUMPFILE=answer.dmp?SCHEMAS=answer

2)如果導(dǎo)出的用戶表空間跟導(dǎo)入的用戶表空間不一致,則按下面的方法導(dǎo)入

impdp?answer/answer?DIRECTORY=my_dbdata?DUMPFILE=answer.dmp?  ????REMAP_SCHEMA=user1(導(dǎo)出時(shí)的所屬用戶名):user2(導(dǎo)入時(shí)的所屬用戶名)

3)只導(dǎo)入dmp文件中的某幾個(gè)表

impdp?answer/answer?DIRECTORY=my_dbdata?DUMPFILE=answer.dmp?  ????TABLES=a_answer,a_question

4)導(dǎo)入表空間

impdp?answer/answer?DIRECTORY=my_dbdata?DUMPFILE=tablespace.dmp?TABLESPACES=user

5)導(dǎo)入整個(gè)數(shù)據(jù)庫(kù)

impdb?answer/answer?DIRECTORY=my_dbdata?DUMPFILE=full.dmp?FULL=y;

6)追加數(shù)據(jù)

impdp?answer/answer?DIRECTORY=my_dbdata?DUMPFILE=answer.dmp?  ????SCHEMAS=answer?TABLE_EXISTS_ACTION=append

導(dǎo)出-expdp參數(shù)說(shuō)明

CONTENT

用于指定要導(dǎo)出的內(nèi)容,默認(rèn)為ALL

CONTENT=ALL:導(dǎo)出對(duì)象定義和所有數(shù)據(jù)

? ? ? ? DATA_ONLY:只導(dǎo)出數(shù)據(jù)

? ? ? ? METADATA_ONLY:只導(dǎo)出對(duì)象定義

DIRECTORY

指定邏輯目錄的名稱,為之前創(chuàng)建的邏輯目錄。

EXCLUDE

用于指定執(zhí)行操作時(shí)釋放要排除的對(duì)象類型或相關(guān)對(duì)象

EXCLUDE=object_type[:name_clause] [,….]

object_type用于指定要排除的對(duì)象類型,name_clause用于指定要排除的具體對(duì)象

例:EXCLUDE=TABLE:EMP

EXCLUDE和include不能同時(shí)使用

INCLUDE

導(dǎo)出時(shí)包含指定的類型

例:INCLUDE=TABLE_DATA,

? ?INCLUDE=TABLE:”LIKE ‘TAB%'”

? ?INCLUDE=TABLE:”NOT LIKE ‘TAB%’”…

EXCLUDE和INCLUDE不能同時(shí)使用

FILESIZE

指定導(dǎo)出文件的大小,默認(rèn)為0,表示沒(méi)有大小限制(單位為bytes)

TABLESPACE

指定一個(gè)表空間導(dǎo)出

QUERY

QUERY=[schema.]
[table_name:] query_clause

schema為指定方案名,table_name為指定表名,query_clause用于指定條件限制子句

例:expdp answer/answer directory=my_dbdata dumpfiel=answer.dmp tables=a_answer query=’WHERE deptno=20’

QUERY選項(xiàng)不能與CONNECT=METADATA_ONLY,EXTIMATE_ONLY,TRANSPORT_TABLESPACES等選項(xiàng)同時(shí)使用.

PARALLEL

并行操作:指定執(zhí)行導(dǎo)出操作的并行進(jìn)程個(gè)數(shù),默認(rèn)值為1

您可以通過(guò)PARALLEL
參數(shù)為導(dǎo)出使用一個(gè)以上的線程加速作業(yè)。每個(gè)線程創(chuàng)建一個(gè)單獨(dú)的轉(zhuǎn)儲(chǔ)文件,因此參數(shù)dumpfile
應(yīng)當(dāng)擁有和并行度一樣多的項(xiàng)目。您可以指定通配符作為文件名,而不是顯式地輸入各個(gè)文件名,

例:expdp answer/answer tables=a_answer directory=my_dbdata dumpfile=expCASES_%U.dmp parallel=4

注意:dumpfile
參數(shù)擁有一個(gè)通配符%U,它指示文件將按需要?jiǎng)?chuàng)建,格式將為expCASES_nn.dmp,其中nn 從01 開(kāi)始,然后按需要向上增加。

在并行模式下,狀態(tài)屏幕將顯示四個(gè)工作進(jìn)程。(在默認(rèn)模式下,只有一個(gè)進(jìn)程是可見(jiàn)的)所有的工作進(jìn)程同步取出數(shù)據(jù),并在狀態(tài)屏幕上顯示它們的進(jìn)度。

分離訪問(wèn)數(shù)據(jù)文件和轉(zhuǎn)儲(chǔ)目錄文件系統(tǒng)的輸入/輸出通道是很重要的。否則,與維護(hù)Data
Pump 作業(yè)相關(guān)的開(kāi)銷可能超過(guò)并行線程的效益,并因此而降低性能。并行方式只有在表的數(shù)量多于并行值并且表很大時(shí)才是有效的。

導(dǎo)入-impdp參數(shù)說(shuō)明

TABBLE_EXISTS_ACTION

TABBLE_EXISTS_ACTION={SKIP
| APPEND | TRUNCATE | FRPLACE }

SKIP:導(dǎo)入時(shí)會(huì)跳過(guò)已存在的對(duì)象

APPEND:導(dǎo)入時(shí)會(huì)追加數(shù)據(jù)

TRUNCATE:導(dǎo)入時(shí)會(huì)截?cái)啾恚缓笞芳有碌臄?shù)據(jù)

REPLACE:導(dǎo)入時(shí)會(huì)刪除已存在的表,重建表再追加數(shù)據(jù)

REMAP_SCHEMA

用于將源方案中的所有對(duì)象裝載到目標(biāo)方案中。

例:如果dmp文件導(dǎo)出時(shí)對(duì)應(yīng)用戶名為 user1,

? ? 導(dǎo)入時(shí)對(duì)應(yīng)用戶名為user2,

則因?yàn)橛脩裘灰恢露鵁o(wú)法導(dǎo)入,需要這樣用

REMAP_SCHEMA=user1:user2

REMAP_TABLESPACE

將源表空間的所有對(duì)象導(dǎo)入到目標(biāo)表空間

REMAP_TABLESPACE=source_tablespace:target:tablespace

REMAP_DATAFILE

將源數(shù)據(jù)文件轉(zhuǎn)變?yōu)槟繕?biāo)數(shù)據(jù)文件,在不同平臺(tái)之間搬移表空間可能需要該選項(xiàng)

REMAP_DATAFIEL=source_datafie:target_datafile

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊9 分享