導(dǎo)出表:
創(chuàng)新互聯(lián)公司是一家以成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、品牌設(shè)計(jì)、軟件運(yùn)維、網(wǎng)站推廣、小程序App開發(fā)等移動開發(fā)為一體互聯(lián)網(wǎng)公司。已累計(jì)為辦公空間設(shè)計(jì)等眾行業(yè)中小客戶提供優(yōu)質(zhì)的互聯(lián)網(wǎng)建站和軟件開發(fā)服務(wù)。
exp scott/tiger@mycon tables=(dept,emp) file=tab1.dmp
導(dǎo)出用戶:
exp system/manager@mycon owner=scott file=usr1.dmp
導(dǎo)出數(shù)據(jù)庫:
1.完全導(dǎo)出
exp system/manager@mycon full=y inctype=complete file=full1.dmp
2.增量導(dǎo)出
exp system/manager@mycon full=y inctype=incremental file=inc1.dmp
3.累積導(dǎo)出
exp system/manager@mycon full=y inctype=cumulative file=cum1.dmp
imp example:
導(dǎo)入表:
imp system/manager@mycon file=c:\tab1.dmp tables=(dept,emp) touser=scott
導(dǎo)入用戶:
imp system/manager@mycon file=usr1.dmp fromuser=scott touser=scott
導(dǎo)入數(shù)據(jù)庫:
1.全庫導(dǎo)入
imp system/manager@mycon file=full1.dmp full=y
2.增量導(dǎo)入
1)導(dǎo)入數(shù)據(jù)庫最新信息
imp system/manager@mycon inctype=system full=y file=inc7.dmp
2)導(dǎo)入最近完全導(dǎo)出文件
imp system/manager@mycon inctype=restore full=y file=full1.dmp
3)導(dǎo)入所有累積導(dǎo)出文件
imp system/manager@mycon inctype=restore full=y file=cum1.dmp
4)導(dǎo)入最近一次增量導(dǎo)出的文件
imp system/manager@mycon inctype=restore full=y file=inc1.dmp
導(dǎo)出dmp:選擇oracle導(dǎo)出,找到bin下面的imp.exe,設(shè)定導(dǎo)出文件名導(dǎo)出
導(dǎo)出表數(shù)據(jù),查詢?nèi)頂?shù)據(jù)(不帶rowid),全部選中右鍵導(dǎo)出SQL文件
打開oracle sql developer工具,連接上數(shù)據(jù)庫服務(wù),然后打開表列表,選擇需要導(dǎo)出的表,然后右擊選擇導(dǎo)出
請點(diǎn)擊輸入圖片描述
在導(dǎo)出向?qū)ы撁?,如圖可以看到,是否需要導(dǎo)出DLL,是否美化顯示等選項(xiàng),可以根據(jù)需要進(jìn)行勾選。最下面選擇編碼和導(dǎo)出的文件目錄
請點(diǎn)擊輸入圖片描述
這一步,需要選擇導(dǎo)出的列字段,可以選擇其中部分字段,默認(rèn)是全部列勾選的,如果不需要修改可以直接點(diǎn)擊下一步
請點(diǎn)擊輸入圖片描述
這一步需要指定過濾的where條件,如圖所示,在where字句中輸入條件,輸入完條件之后可以點(diǎn)擊刷新按鈕查看過濾效果
請點(diǎn)擊輸入圖片描述
到這一步是導(dǎo)出概要,可以查看導(dǎo)出有關(guān)的信息等,沒有問題的話,可以直接點(diǎn)擊完成,即可開始導(dǎo)出數(shù)據(jù)了。
請點(diǎn)擊輸入圖片描述
如果表里的數(shù)據(jù)量比較大,在導(dǎo)出的時(shí)候需要等待一段時(shí)間,可以選擇后臺運(yùn)行,這樣可以同時(shí)做其它的操作。導(dǎo)出程序在后臺導(dǎo)出,完成之后會有提醒。
請點(diǎn)擊輸入圖片描述
導(dǎo)出完成之后,打開剛剛設(shè)置的導(dǎo)出文件目錄,查看導(dǎo)出的文件和數(shù)據(jù)是否正確。
請點(diǎn)擊輸入圖片描述
直接用命令導(dǎo)出導(dǎo)入,把一個(gè)用戶的所有試圖、存儲過程、表、序列都導(dǎo)出了
導(dǎo)出:
cmd
exp username/password@數(shù)據(jù)庫名稱 file=F:\sss.sql
導(dǎo)入:導(dǎo)入之前需創(chuàng)建一個(gè)空庫(名稱不同也可以),一個(gè)一樣的用戶,也是命令導(dǎo)入
imp username/password@數(shù)據(jù)庫名稱 file=F:\sss.sql full=Y
不懂可以Q我
Oracle數(shù)據(jù)導(dǎo)入導(dǎo)出imp/exp
功能:Oracle數(shù)據(jù)導(dǎo)入導(dǎo)出imp/exp就相當(dāng)與oracle數(shù)據(jù)還原與備份。
大多情況都可以用Oracle數(shù)據(jù)導(dǎo)入導(dǎo)出完成數(shù)據(jù)的備份和還原(不會造成數(shù)據(jù)的丟失)。
Oracle有個(gè)好處,雖然你的電腦不是服務(wù)器,但是你裝了oracle客戶端,并建立了連接
(通過Net Configuration Assistant添加正確的服務(wù)命名,其實(shí)你可以想成是客戶端與服務(wù)器端 修了條路,然后數(shù)據(jù)就可以被拉過來了)
這樣你可以把數(shù)據(jù)導(dǎo)出到本地,雖然可能服務(wù)器離你很遠(yuǎn)。
你同樣可以把dmp文件從本地導(dǎo)入到遠(yuǎn)處的數(shù)據(jù)庫服務(wù)器中。
利用這個(gè)功能你可以構(gòu)建倆個(gè)相同的數(shù)據(jù)庫,一個(gè)用來測試,一個(gè)用來正式使用。
執(zhí)行環(huán)境:可以在SQLPLUS.EXE或者DOS(命令行)中執(zhí)行,
DOS中可以執(zhí)行時(shí)由于 在oracle 8i 中 安裝目錄\$ora10g\BIN被設(shè)置為全局路徑,
該目錄下有EXP.EXE與IMP.EXE文件被用來執(zhí)行導(dǎo)入導(dǎo)出。
oracle用java編寫,我想SQLPLUS.EXE、EXP.EXE、IMP.EXE這倆個(gè)文件是被包裝后的類文件。
SQLPLUS.EXE調(diào)用EXP.EXE、IMP.EXE他們所包裹的類,完成導(dǎo)入導(dǎo)出功能。
下面介紹的是導(dǎo)入導(dǎo)出的實(shí)例,向?qū)雽?dǎo)出看實(shí)例基本上就可以完成,因?yàn)閷?dǎo)入導(dǎo)出很簡單。
數(shù)據(jù)導(dǎo)出:
1 將數(shù)據(jù)庫TEST完全導(dǎo)出,用戶名system 密碼manager 導(dǎo)出到D:\daochu.dmp中
exp system/manager@TEST file=d:\daochu.dmp full=y
2 將數(shù)據(jù)庫中system用戶與sys用戶的表導(dǎo)出
exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
3 將數(shù)據(jù)庫中的表table1 、table2導(dǎo)出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
4 將數(shù)據(jù)庫中的表table1中的字段filed1以"00"打頭的數(shù)據(jù)導(dǎo)出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
上面是常用的導(dǎo)出,對于壓縮我不太在意,用winzip把dmp文件可以很好的壓縮。
不過在上面命令后面 加上 compress=y 就可以了
數(shù)據(jù)的導(dǎo)入
1 將D:\daochu.dmp 中的數(shù)據(jù)導(dǎo)入 TEST數(shù)據(jù)庫中。
imp system/manager@TEST file=d:\daochu.dmp
上面可能有點(diǎn)問題,因?yàn)橛械谋硪呀?jīng)存在,然后它就報(bào)錯(cuò),對該表就不進(jìn)行導(dǎo)入。
在后面加上 ignore=y 就可以了。
2 將d:\daochu.dmp中的表table1 導(dǎo)入
imp system/manager@TEST file=d:\daochu.dmp tables=(table1)
基本上上面的導(dǎo)入導(dǎo)出夠用了。不少情況我是將表徹底刪除,然后導(dǎo)入。
注意:
你要有足夠的權(quán)限,權(quán)限不夠它會提示你。
數(shù)據(jù)庫時(shí)可以連上的??梢杂胻nsping TEST 來獲得數(shù)據(jù)庫TEST能否連上。
數(shù)據(jù)導(dǎo)出:
exp hkb/hkb@boss_14 full=y file=c:\orabackup\hkbfull.dmp log=c:\orabackup\hkbfull.log;
導(dǎo)出注意事項(xiàng):導(dǎo)出的是當(dāng)前用戶的的數(shù)據(jù),當(dāng)前用戶如果有DBA的權(quán)限,則導(dǎo)出所有數(shù)據(jù)!
同名用戶之間的數(shù)據(jù)導(dǎo)入:
imp hkb/hkb@xe file=c:\orabackup\hkbfull.dmp log=c:\orabackup\hkbimp.log full=y
不同名之間的數(shù)據(jù)導(dǎo)入:
imp system/test@xe fromuser=hkb touser=hkb_new file=c:\orabackup\hkbfull.dmp
log=c:\orabackup\hkbimp.log;
用exp、imp試試\x0d\x0a導(dǎo)出全庫\x0d\x0a導(dǎo)入:導(dǎo)入之前需創(chuàng)造一個(gè)空庫(可以和前一個(gè)庫名不一樣)、一個(gè)一樣的用戶\x0d\x0acmd\x0d\x0aimp username/password@數(shù)據(jù)庫名稱 file=文件路徑 full=Y\x0d\x0a導(dǎo)出:\x0d\x0aexp username/password@數(shù)據(jù)庫名稱 file=文件路徑(生成的文件)\x0d\x0a我導(dǎo)出的時(shí)候文件直接設(shè)成.sql,蠻好 \x0d\x0a\x0d\x0a導(dǎo)出部分表\x0d\x0a打開cmd\x0d\x0a導(dǎo)出表,確定監(jiān)聽是否開啟,數(shù)據(jù)庫服務(wù)是否開啟\x0d\x0aexp scott/tiger@orcl file=F:\sign.sql tables=表名,表名 grants=y\x0d\x0a\x0d\x0a導(dǎo)入表,確定新數(shù)據(jù)庫服務(wù)是否開啟\x0d\x0aimp scott/tiger@數(shù)據(jù)庫名 file=F:\sign.sql fromuser=scott ignore=y commit=y grants=y