日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Oracle Imp and Exp (导入和导出) 数据 工具使用

發(fā)布時(shí)間:2023/12/13 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle Imp and Exp (导入和导出) 数据 工具使用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Oracle 提供兩個(gè)工具imp.exe 和exp.exe分別用于導(dǎo)入和導(dǎo)出數(shù)據(jù)。這兩個(gè)工具位于Oracle_home/bin目錄下。

導(dǎo)入數(shù)據(jù)exp

1 將數(shù)據(jù)庫ATSTestDB完全導(dǎo)出,用戶名system 密碼123456 導(dǎo)出到c:\export.dmp中

exp system/123456@ATSTestDB file=c:\export.dmp full=y

其中ATSTestDB為數(shù)據(jù)庫名稱,system為該數(shù)據(jù)庫里的賬戶,123456為其密碼。

2 將數(shù)據(jù)庫中system用戶與sys用戶的所有相關(guān)資源導(dǎo)出(表,存儲(chǔ)過程,方法,視圖等等)

exp system/123456@ATSTestDB file= c:\export.dmp owner=(system,sys)

3 將數(shù)據(jù)庫中的表sys.table1、owbsys.table2導(dǎo)出

exp system/123456@ATSTestDB file= c:\export.dmp tables=( sys.table1, owbsys.table2)

注意,需要加上表的schema名稱,如果沒有加的話默認(rèn)是導(dǎo)當(dāng)前connected用戶的表,當(dāng)然你連接上去的賬戶要對相應(yīng)的表有權(quán)限。

4 將數(shù)據(jù)庫中的表table1中的字段Title以"GangGe"打頭的數(shù)據(jù)導(dǎo)出

exp system/123456@ATSTestDB file= c:\export.dmp tables=(table1) query=\" where Title like 'GangGe%'\"

斜杠 “\” 后面跟冒號是為了轉(zhuǎn)義字符冒號” “ “用的,因?yàn)楹竺媸且粭l條件查詢語句。Query參數(shù)只能指定一個(gè),如果Query要為多張表,所以同樣,tables里面也只能有一張表,或者多張表,然后query里面的條件在這些表上面都可以運(yùn)行。否則只好多寫幾條exp語句了。

導(dǎo)出后,或許發(fā)現(xiàn)數(shù)據(jù)比較大,我們可以用一些壓縮工具對數(shù)據(jù)進(jìn)行二次壓縮,例如用winzip, winrar, 7zip等第三方工具。同樣,exp支持一個(gè)參數(shù)用戶直接對數(shù)據(jù)進(jìn)行壓縮:compress = y, 這個(gè)參數(shù)直接加到命令的后面即可實(shí)現(xiàn)導(dǎo)出的同時(shí)壓縮數(shù)據(jù)。

導(dǎo)入數(shù)據(jù)imp

我們知道怎么提取數(shù)據(jù),那么還原的時(shí)候,就需要使用imp命令把導(dǎo)出的數(shù)據(jù)加載進(jìn)去。

1 向ATSTestDB里面加載c:\export.dmp數(shù)據(jù)

imp system/123456@ATSTestDB file=c:\export.dmp

好了,導(dǎo)數(shù)據(jù)得時(shí)候,有可能報(bào)錯(cuò)了。為什么?有兩種主要的原因:

A. 導(dǎo)入的對象(表,視圖,方法等)原本不屬于當(dāng)前連接的用戶的

B. 導(dǎo)入的對象在該數(shù)據(jù)庫的指定用戶下已經(jīng)存在

C. 導(dǎo)入的對象的原本用戶不再這個(gè)數(shù)據(jù)庫里

所有對象全部導(dǎo)入到指定的賬戶下:

Imp system/123456@ATSTestDB file=c:\export.dmp fromuser=sys touser=system

其中fromuser=sys為.dmp文件里的對象的原先的owner, touser=system 為作為導(dǎo)入的對象的新的Owner.

忽略/插入數(shù)據(jù)

Imp system/123456@ATSTestDB file=c:\export.dmp ignore=y

其中ignore=y告訴imp.exe把數(shù)據(jù)直接插入到相應(yīng)對象(并且如果導(dǎo)入的對象里面有其他的對象,如約束,索引等,會(huì)在數(shù)據(jù)插入后被創(chuàng)建)。

2 加載其中的指定表table1,table2

imp system/123456@ATSTestDB file=C:\export.dmp tables=(table1,table2)

3 忽略加載約束

有時(shí)候?qū)?shù)據(jù)進(jìn)來的時(shí)候,我們不需要把它的約束,比如一些外鍵約束等都導(dǎo)進(jìn)來,可以加上參數(shù)constraints=N

imp system/123456@ATSTestDB file=C:\export.dmp tables=(table1,table2) constraints=N

4 不加載索引(比如唯一性的索引)

imp system/123456@ATSTestDB file=C:\export.dmp tables=(table1,table2) indexs=N

5 只加載結(jié)構(gòu),不加載數(shù)據(jù)

如果只要表的結(jié)構(gòu)等定義(約束,觸發(fā)器),那么不要里面的數(shù)據(jù),可以加上參數(shù)rows=N

imp system/123456@ATSTestDB file=C:\export.dmp tables=(table1,table2) rows=N

對于上述操作登陸操作的對象system是管理員,如果不是管理員,而是普通用戶,那么這個(gè)用戶必須有創(chuàng)建刪除對象的權(quán)利,對象可能包括 表,視圖,方法,存儲(chǔ)過程等等常見的對象。為什么“可能”包括?因?yàn)檫@個(gè)視導(dǎo)入導(dǎo)出的時(shí)候是否涉及相關(guān)類型的對象而定。

至此,以上簡單的Oracle導(dǎo)入導(dǎo)出數(shù)據(jù)的命令掌握了嗎?相信夠用了。

轉(zhuǎn)載于:https://www.cnblogs.com/alexweng/p/4430470.html

總結(jié)

以上是生活随笔為你收集整理的Oracle Imp and Exp (导入和导出) 数据 工具使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。