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