expdp與impdp導(dǎo)出導(dǎo)入特定表方式
expdp與impdp導(dǎo)出導(dǎo)入特定表
oracle里導(dǎo)入導(dǎo)出特定的表,原本在10g或以前,很簡單的:
一、10g或以前
1、導(dǎo)出指定表 exp 'sys/pwd@server1 as sysdba' file=c:\temp\tables.dmp tables=(schema1.table1,schema1.table2) 2、導(dǎo)入指定表 imp 'sys/pwd@server2 as sysdba' file=c:\temp\tables.dmp fromuser=schema1 touser=schema1 tables=(table1,table2) ignore=Y
二、11g或12c
但12C以后,似乎就不支持這種寫法了。
可以這樣寫:
1、導(dǎo)出指定表 expdp 'sys/pwd@server1 as sysdba' directory=dbbak dumpfile=tables.dmp logfile=tables.log tables=schema1.table1,schema1.table2 2、導(dǎo)入指定表 --如果源庫和目標(biāo)庫對應(yīng)的表空間名稱一樣: impdp 'sys/pwd@server2 as sysdba' directory=dbbak dumpfile=tables.dmp tables=schema1.table1,schema1.table2 REMAP_SCHEMA=schema1:schema1 --REMAP_SCHEMA=schema1:schema1,源庫shema:目標(biāo)庫schema --如果源庫和目標(biāo)庫對應(yīng)的表空間名稱不一樣: impdp 'sys/pwd@server2 as sysdba' directory=dbbak dumpfile=tables.dmp tables=schema1.table1,schema1.table2 remap_schema=schema1:schema2 remap_tablespace=tablespace1:tablespace2 --remap_schema=schema1:schema2,源庫shema:目標(biāo)庫schema --remap_tablespace=tablespace1:tablespace2,源表空間:目標(biāo)表空間
注意目標(biāo)庫的schema對應(yīng)的賬號,因?yàn)榭赡苌婕暗絼?chuàng)建表等各種元素,要有足夠的權(quán)限,才能導(dǎo)進(jìn)去
其中,dbbak沒有的話,要先創(chuàng)建:
在sqlplus下:
create directory dbbak as 'c:\temp';--(將dbbak掛載到操作系統(tǒng)下的c:/temp文件夾) grant read,write on directory dbbak to public;
這個dbbak(名字是自己隨便起的)是個啥東東呢?是我們存放數(shù)據(jù)導(dǎo)出文件的地方,它掛載到操作系統(tǒng)的某個文件夾,比如c:\temp
。據(jù)說數(shù)據(jù)庫某種程度上類似一個操作系統(tǒng),它有自己的一套磁盤管理機(jī)制,一般不直接使用操作系統(tǒng)的文件系統(tǒng)。甚至乎,它希望直接使用“生磁盤”,就是沒有格式化過的磁盤。所以,dbbak是一個磁盤路徑映射,要將操作系統(tǒng)下的路徑映射到oracle里,才能使用。
以上這個expdp,impdp導(dǎo)出導(dǎo)入特定表,網(wǎng)上搜了之后,發(fā)覺很少有直接能使用的例子,我這兩個還是綜合起來,經(jīng)過一些測試才通過的。
三、注意
注意10g可以在客戶端直接執(zhí)行導(dǎo)入導(dǎo)出;而11g或12c,只能在服務(wù)器端執(zhí)行。
另外,如果操作系統(tǒng)是WIN2012或以上操作系統(tǒng),你在power shell里運(yùn)行以上代碼,是不行的。一定要在DOS命令行窗口才可以。似乎這個power shell還停留在oracle 10g時代,一點(diǎn)也不power。
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Oracle 實(shí)現(xiàn)類似SQL Server中自增字段的一個辦法
由于Oracle中沒有類似SQL Server中的自增字段,所以我們?nèi)绻胍ㄟ^設(shè)定類似ID性質(zhì)的唯一列的話,需要借助Oracle的sequence,先建立一個序列,然后在每次插入數(shù)據(jù)的時候,通過前觸發(fā)器來更新ID值,并將序列的序號加1,這樣的迂回方式來實(shí)現(xiàn)。2009-07-07oracle—SQL技巧之(一)連續(xù)記錄查詢sql案例測試
有這樣一個需求:需要查詢出某個客戶某一年那些天是有連續(xù)辦理過業(yè)務(wù),本文給予sql實(shí)現(xiàn)語句并測試,感興趣的朋友可以了解下2013-01-01Oracle數(shù)據(jù)泵實(shí)現(xiàn)不同用戶導(dǎo)入導(dǎo)出表級
這篇文章主要介紹了Oracle數(shù)據(jù)泵實(shí)現(xiàn)不同用戶導(dǎo)入導(dǎo)出表級,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下2022-07-07Oracle數(shù)據(jù)庫執(zhí)行慢問題排查詳細(xì)過程
這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫執(zhí)行慢問題排查的詳細(xì)過程,在企業(yè)級應(yīng)用中,數(shù)據(jù)庫的穩(wěn)定性和性能是至關(guān)重要的,文中給出了詳細(xì)的代碼實(shí)例,需要的朋友可以參考下2023-07-07oracle11g客戶端連接12c服務(wù)器ORA-01017錯誤問題解決
這篇文章主要介紹了oracle11g客戶端連接12c服務(wù)器ORA-01017錯誤,本文給大家分享完美解決方法,對oracle 12c錯誤ORA-01017問題解決方法感興趣的朋友跟隨小編一起看看吧2023-06-06oracle表空間表分區(qū)詳解及oracle表分區(qū)查詢使用方法
racle表空間表分區(qū)詳解及oracle表分區(qū)查詢使用方法,大家參考使用吧2013-12-12EXISTS關(guān)鍵字在Oracle中的簡單使用例子
在Oracle中IN和EXISTS都是用于子查詢的比較運(yùn)算符,但它們的使用方式和操作結(jié)果有所不同,這篇文章主要給大家介紹了關(guān)于EXISTS關(guān)鍵字在Oracle中的簡單使用,需要的朋友可以參考下2024-04-04Oracle創(chuàng)建Database Link的兩種方式詳解
Oracle數(shù)據(jù)庫如何創(chuàng)建Database Link呢?本文我們主要就介紹一下這部分內(nèi)容,Oracle數(shù)據(jù)庫創(chuàng)建Database Link有兩種方式,一種是通過菜單,一種是通過SQL2016-02-02