oracle11g數(shù)據(jù)庫導入導出:①:傳統(tǒng)方式——exp(導出)和(imp)導入:②:數(shù)據(jù)泵方式——expdp導出和(impdp)導入;③:第三方工具——PL/sql Develpoer;一、什么是數(shù)據(jù)庫導入導出?oracle11g數(shù)據(jù)庫的導入/導出,就是我們通常所說的oracle數(shù)據(jù)的還原/備份 。數(shù)據(jù)庫導入:把.dmp 格式文件從本地導入到數(shù)據(jù)庫服務(wù)器中(本地oracle測試數(shù)據(jù)庫中);數(shù)據(jù)庫導出:把數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)(本地oracle測試數(shù)據(jù)庫中的數(shù)據(jù)),導出到本地生成.dmp格式文件 。.dmp 格式文件:就是oracle數(shù)據(jù)的文件格式(比如視頻是.mp4 格式,音樂是.mp3 格式);二、二者優(yōu)缺點描述:1.exp/imp:優(yōu)點:代碼書寫簡單易懂,從本地即可直接導入,不用在服務(wù)器中操作,降低難度,減少服務(wù)器上的操作也就保證了服務(wù)器上數(shù)據(jù)文件的安全性 。缺點:這種導入導出的速度相對較慢 , 合適數(shù)據(jù)庫數(shù)據(jù)較少的時候 。如果文件超過幾個G,大眾性能的電腦,至少需要4~5個小時左右 。2.expdp/impdp:優(yōu)點:導入導出速度相對較快,幾個G的數(shù)據(jù)文件一般在1~2小時左右 。缺點:代碼相對不易理解,要想實現(xiàn)導入導出的操作 , 必須在服務(wù)器上創(chuàng)建邏輯目錄(不是真正的目錄) 。我們都知道數(shù)據(jù)庫服務(wù)器的重要性,所以在上面的操作必須慎重 。所以這種方式一般由專業(yè)的程序人員來完成(不一定是DBA(數(shù)據(jù)庫管理員)來干,中小公司可能沒有DBA) 。3.PL/sql Develpoer:優(yōu)點:封裝了導入導出命令,無需每次都手動輸入命令 。方便快捷,提高效率 。缺點:長時間應(yīng)用會對其產(chǎn)生依賴,降低對代碼執(zhí)行原理的理解 。三、特別強調(diào):目標數(shù)據(jù)庫:數(shù)據(jù)即將導入的數(shù)據(jù)庫(一般是項目上正式數(shù)據(jù)庫);源數(shù)據(jù)庫:數(shù)據(jù)導出的數(shù)據(jù)庫(一般是項目上的測試數(shù)據(jù)庫);1.目標數(shù)據(jù)庫要與源數(shù)據(jù)庫有著名稱相同的表空間 。2.目標數(shù)據(jù)在進行導入時 , 用戶名盡量相同(這樣保證用戶的權(quán)限級別相同) 。3.目標數(shù)據(jù)庫每次在進行數(shù)據(jù)導入前,應(yīng)做好數(shù)據(jù)備份 , 以防數(shù)據(jù)丟失 。4.使用數(shù)據(jù)泵時,一定要現(xiàn)在服務(wù)器端建立可用的邏輯目錄,并檢查是否可用 。5.弄清是導入導出到相同版本還是不同版本(oracle10g版本與oracle11g版本) 。6.目標數(shù)據(jù)導入前,弄清楚是數(shù)據(jù)覆蓋(替換),還是僅插入新數(shù)據(jù)或替換部分數(shù)據(jù)表 。7.確定目標數(shù)據(jù)庫磁盤空間是否足夠容納新數(shù)據(jù),是否需要擴充表空間 。8.導入導出時注意字符集是否相同,一般Oracle數(shù)據(jù)庫的字符集只有一個,并且固定,一般不改變 。9.導出格式介紹:?Dmp格式:.dmp是二進制文件,可跨平臺,還能包含權(quán)限,效率好; ?Sql格式:.sql格式的文件,可用文本編輯器查看,通用性比較好,效率不如第一種,適合小數(shù)據(jù)量導入導出 。尤其注意的是表中不能有大字段 (blob,clob,long),如果有,會報錯; ?Pde格式:.pde格式的文件,.pde為PL/SQL Developer自有的文件格式 , 只能用PL/SQL Developer工具導入導出,不能用文本編輯器查看;10.確定操作者的賬號權(quán)限 。四、二者的導入導出方法:1、傳統(tǒng)方法:通用命令:exp(imp)username/password@SERVICENAME:1521 file="e:\temp.dmp" full = y;數(shù)據(jù)庫導出舉例:exp xinxiaoyong/123456@127.0.0.1:1521 file="e:\temp.dmp" full = y;exp:導出命令,導出時必寫 。imp:導入命令,導入時必寫,每次操作,二者只能選擇一個執(zhí)行 。username:導出數(shù)據(jù)的用戶名,必寫;password:導出數(shù)據(jù)的密碼,必寫;@:地址符號,必寫;SERVICENAME:Oracle的服務(wù)名,必寫;1521:端口號,1521是默認的可以不寫,非默認要寫;file="e:\temp.dmp" : 文件存放路徑地址,必寫;full=y :表示全庫導出 ??梢圆粚懀瑒t默認為no,則只導出用戶下的對象;方法細分:1.完全導入導出:exp(imp)username/password@SERVICENAME:1521 file="e:\temp.dmp" full = y;2.部分用戶表table導入導出:exp(imp)username/password@SERVICENAME:1521 file="e:\temp.dmp" tabels= (table1,table2,table3,...);3.表空間tablespaces導入導出://一個數(shù)據(jù)庫實例可以有N個表空間(tablespace),一個表空間下可以有N張表(table) 。exp(imp)username/password@SERVICENAME:1521 file="e:\temp.dmp" tablespaces=(tablespace1,tablespace2,tablespace3,...);【oracle導出所有表的表結(jié)構(gòu)命令 oracle導出表數(shù)據(jù)語句】4.用戶名username對象導入導出:exp(imp)username/password@SERVICENAME:1521 file="e:\temp.dmp"owner(username1,username2,username3);2、數(shù)據(jù)泵方法:創(chuàng)建directory:expdp(impdp) username/password@SERVICENAME:1521 schemas=usernamedumpfile=file1.dmp logfile=file1.log directory=testdata1 remap_schema=test:test;數(shù)據(jù)庫導出舉例:expdp xinxiaoyong/123456@127.0.0.1:1521 schemas=xinxiaoyong dumpfile=test.dmp logfile=test.log directory=testdata1;exp:導出命令,導出時必寫 。imp:導入命令,導入時必寫,每次操作,二者只能選擇一個執(zhí)行 。username:導出數(shù)據(jù)的用戶名,必寫;password:導出數(shù)據(jù)的密碼 , 必寫;@:地址符號,必寫;SERVICENAME:Oracle的服務(wù)名,必寫;1521:端口號,1521是默認的可以不寫,非默認要寫;schemas:導出操作的用戶名;dumpfile:導出的文件;logfile:導出的日志文件,可以不寫;directory:創(chuàng)建的文件夾名稱;remap_schema=源數(shù)據(jù)庫用戶名:目標數(shù)據(jù)庫用戶名,二者不同時必寫 , 相同可以省略;1.查看表空間:select * from dba_tablespaces;2.查看管理理員目錄(同時查看操作系統(tǒng)是否存在,因為Oracle并不關(guān)心該目錄是否存在,如果不存在,則出錯) 。select * from dba_directories;3.創(chuàng)建邏輯目錄,該命令不會在操作系統(tǒng)創(chuàng)建真正的目錄,最好以system等管理員創(chuàng)建 。create directory testdata1 as 'd:\test\dump';4.給xinxiaoyong用戶賦予在指定目錄的操作權(quán)限,最好以system等管理員賦予 。//xinxiaoyong 是用戶名(123456是用戶密碼)grant read,write on directory testdata1 to xinxiaoyong;5.導出數(shù)據(jù)1)按用戶導 expdp xinxiaoyong/123456@orcl schemas=xinxiaoyongdumpfile=expdp.dmp directory=testdata1;2)并行進程parallel expdp xinxiaoyong/123456@orcl directory=testdata1dumpfile=xinxiaoyong3.dmp parallel=40 job_name=xinxiaoyong33)按表名導 expdp xinxiaoyong/123456@orcl tables=emp,dept dumpfile=expdp.dmpdirectory=testdata1;4)按查詢條件導 expdp xinxiaoyong/123456@orcl directory=testdata1dumpfile=expdp.dmp tables=emp query='WHERE deptno=20';5)按表空間導 expdp system/manager directory=testdata1 dumpfile=tablespace.dmptablespaces=temp,example;6)導整個數(shù)據(jù)庫 expdp system/manager directory=testdata1 dumpfile=full.dmp FULL=y;6.還原數(shù)據(jù)1)導到指定用戶下 impdp xinxiaoyong/123456 directory=testdata1 dumpfile=expdp.dmpschemas=xinxiaoyong;2)改變表的owner impdp system/manager directory=testdata1 dumpfile=expdp.dmptables=xinxiaoyong.dept remap_schema =xinxiaoyong:system;3)導入表空間 impdp system/manager directory=testdata1 dumpfile=tablespace.dmptablespaces=example;4)導入數(shù)據(jù)庫 impdb system/manager directory=dump_dir dumpfile=full.dmp FULL=y;5)追加數(shù)據(jù) impdp system/manager directory=testdata1 dumpfile=expdp.dmpschemas=systemtable_exists_action;3、PLSQL方法:登錄plsql工具,所使用用戶為源數(shù)據(jù)庫有導出權(quán)限(exp_full_database,dba等)的用戶 。? 1.導出建表語句(包括存儲結(jié)構(gòu)) 導出步驟tools ->export user object,選擇要導出的對象,導出.sql格式文件并等待導出完成 , 如 下圖:

文章插圖
導出數(shù)據(jù)文件 ;
2.導出步驟tools ->export tables,選擇要導出的表及導出的格式進行導出 。
導出為dmp格式 , 如下圖:

文章插圖
導出為sql格式,如下圖:

文章插圖
導出為pde格式,如下圖:

文章插圖
提示說明:采用第三方工具導出導入整個數(shù)據(jù)庫的話,耗時較長,一定要有足夠的時間來操作(數(shù)據(jù)量大的話需要好幾個小時) 。
3.導入建表語句 ?? 導入步驟tools->import tables->SQL Inserts 導入.sql文件 4.導入數(shù)據(jù); ?? tools->import talbes , 然后再根據(jù)導出的數(shù)據(jù)格式選擇導入dmp文件,或者sql文件 , 或者pde文件 。?? 提示說明:導入之前最好把以前的表刪除,當然導入另外數(shù)據(jù)庫除外 。另外導入時當發(fā)現(xiàn)進度條一直卡在一個點,而且導出的文件不再增大時,甚至是提示程序未響應(yīng),千萬不要以為程序卡死了,這個導入導出就是比較緩慢 , 只要沒有提示報錯,由于水平有限 , 本文檔僅提供參考 。如代碼有錯誤之處,請見諒 。另外附上Oracle exp導出數(shù)據(jù)詳細介紹
Oracle exp導出數(shù)據(jù)Oracle exp工具可以選擇性的導出數(shù)據(jù)庫的對象和表數(shù)據(jù) , 導出DMP文件以備以后進行數(shù)據(jù)恢復(fù) 。下面分別講解如何通過EXP導出數(shù)據(jù)庫的表、方案、表空間、數(shù)據(jù)庫四個不同對象的數(shù)據(jù) 。
使用EXP工具可以使用第三方工具PL/SQL DEVELOPER進行導出,也可以直接通過DOS命令行窗口直接進行導出 。
EXP 導出表進入DOS命令行窗口,輸入以下命令:
exp username/password使用用戶名和密碼登錄,然后按照工具提示,導出對應(yīng)的表結(jié)構(gòu)數(shù)據(jù),具體步驟如下圖:
文章插圖
從上圖可以看出,我們要導出的是student用戶的學生信息表(stuinfo) , 其中導出的數(shù)據(jù)文件保存的路徑是在d:\student.dmp 。然后通過選擇要導出的類型選擇導出表(T),再然后按照提示一步一步的進行,就可以導出想要的表結(jié)構(gòu)數(shù)據(jù) 。
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助:- 優(yōu)化sufer軟件導出圖片步驟,提升數(shù)據(jù)處理效率
- 如何在360瀏覽器中允許所有網(wǎng)站運行 JavaScript
- Edge瀏覽器收藏夾導出方法詳解
- DBeaver操作指南:將視圖數(shù)據(jù)導出為DBUnit文件
- 盤點OPPO的所有手機 oppo手機
- 如何高效導入和導出Raw圖片
- PR如何使用Ctrl Shift K快速剪切所有軌道素材的位置
- 出馬仙所有名字大全 全部仙家的名字
- 如何導出搜狗拼音詞庫
- WordPress文章和頁面導出導入技巧
