Oracle數(shù)據(jù)導(dǎo)入導(dǎo)出imp/exp就相當(dāng)于oracle數(shù)據(jù)還原與備份。exp命令可以把數(shù)據(jù)從遠(yuǎn)程數(shù)據(jù)庫(kù)服務(wù)器導(dǎo)出到本地的dmp文件,imp命令可以把dmp文件從本地導(dǎo)入到遠(yuǎn)處的數(shù)據(jù)庫(kù)服務(wù)器中。利用這個(gè)功能可以構(gòu)建兩個(gè)相同的數(shù)據(jù)庫(kù),一個(gè)用來(lái)測(cè)試,一個(gè)用來(lái)正式使用。 執(zhí)行環(huán)境:可以在SQLPLUS.EXE或者DOS(命令行)中執(zhí)行,

成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)南票,10年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢(xún)建站服務(wù):18982081108
DOS中可以執(zhí)行時(shí)由于 在oracle 8i 中 安裝目錄\ora81\BIN被設(shè)置為全局路徑,
該目錄下有EXP.EXE與IMP.EXE文件被用來(lái)執(zhí)行導(dǎo)入導(dǎo)出。
oracle用java編寫(xiě),SQLPLUS.EXE、EXP.EXE、IMP.EXE這兩個(gè)文件有可能是被包裝后的類(lèi)文件。
SQLPLUS.EXE調(diào)用EXP.EXE、IMP.EXE所包裹的類(lèi),完成導(dǎo)入導(dǎo)出功能。下面介紹的是導(dǎo)入導(dǎo)出的實(shí)例。
數(shù)據(jù)導(dǎo)出:
1 將數(shù)據(jù)庫(kù)TEST完全導(dǎo)出,用戶(hù)名system 密碼manager 導(dǎo)出到D:\daochu.dmp中
exp system/manager@TEST file=d:\daochu.dmp full=y
2 將數(shù)據(jù)庫(kù)中system用戶(hù)與sys用戶(hù)的表導(dǎo)出
exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
3 將數(shù)據(jù)庫(kù)中的表inner_notify、notify_staff_relat導(dǎo)出
exp aichannel/aichannel@TESTDB2 file= d:\data\newsmgnt.dmp tables=(inner_notify,notify_staff_relat)
4 將數(shù)據(jù)庫(kù)中的表table1中的字段filed1以"00"打頭的數(shù)據(jù)導(dǎo)出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like ‘00%‘\" 上面是常用的導(dǎo)出,對(duì)于壓縮,既用winzip把dmp文件可以很好的壓縮。
也可以在上面命令后面 加上 compress=y 來(lái)實(shí)現(xiàn)。數(shù)據(jù)的導(dǎo)入
1 將D:\daochu.dmp 中的數(shù)據(jù)導(dǎo)入 TEST數(shù)據(jù)庫(kù)中。
imp system/manager@TEST file=d:\daochu.dmp
imp aichannel/aichannel@HUST full=y file=file= d:\data\newsmgnt.dmp ignore=y
上面可能有點(diǎn)問(wèn)題,因?yàn)橛械谋硪呀?jīng)存在,然后它就報(bào)錯(cuò),對(duì)該表就不進(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)限不夠它會(huì)提示。
數(shù)據(jù)庫(kù)時(shí)可以連上的。可以用tnsping TEST 來(lái)獲得數(shù)據(jù)庫(kù)TEST能否連上。
附錄一:
給用戶(hù)增加導(dǎo)入數(shù)據(jù)權(quán)限的操作
第一,啟動(dòng)sql*puls
第二,以system/manager登陸
第三,create user 用戶(hù)名 IDENTIFIED BY 密碼(如果已經(jīng)創(chuàng)建過(guò)用戶(hù),這步可以省略)
第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
DBA,CONNECT,RESOURCE,CREATE SESSION TO 用戶(hù)名字
第五, 運(yùn)行-cmd-進(jìn)入dmp文件所在的目錄,
imp userid=system/manager full=y file=*.dmp
或者 imp userid=system/manager full=y file=filename.dmp
執(zhí)行示例:
F:\Work\Oracle_Data\backupimp userid=test/test full=y file=inner_notify.dmp
屏幕顯示
Import: Release 8.1.7.0.0 - Production on 星期四 2月 16 16:50:05 2006
(c) Copyright 2000 Oracle Corporation. All rights reserved.
連接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Production
經(jīng)由常規(guī)路徑導(dǎo)出由EXPORT:V08.01.07創(chuàng)建的文件
已經(jīng)完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的導(dǎo)入
導(dǎo)出服務(wù)器使用UTF8 NCHAR 字符集 (可能的ncharset轉(zhuǎn)換)
. 正在將AICHANNEL的對(duì)象導(dǎo)入到 AICHANNEL
. . 正在導(dǎo)入表 "INNER_NOTIFY" 4行被導(dǎo)入
準(zhǔn)備啟用約束條件...
成功終止導(dǎo)入,但出現(xiàn)警告。附錄二:
Oracle 不允許直接改變表的擁有者, 利用Export/Import可以達(dá)到這一目的.
先建立import9.par,
然后,使用時(shí)命令如下:imp parfile=/filepath/import9.par
例 import9.par 內(nèi)容如下:
FROMUSER=TGPMS
TOUSER=TGPMS2(注:把表的擁有者由FROMUSER改為T(mén)OUSER,F(xiàn)ROMUSER和TOUSER的用戶(hù)可以不同)
ROWS=Y
INDEXES=Y
GRANTS=Y
CONSTRAINTS=Y
BUFFER=409600
file==/backup/ctgpc_20030623.dmp
log==/backup/import_20030623.log
Oracle數(shù)據(jù)導(dǎo)入dmp文件可以是“某個(gè)用戶(hù)下的數(shù)據(jù)庫(kù)”,也可以是“某張表”,這里以導(dǎo)入數(shù)據(jù)庫(kù)為例說(shuō)明 :
方法1:? 使用客戶(hù)端Enterprise Manager Console
用SYS用戶(hù)名,以DBA的身份在ie中登入到數(shù)據(jù)庫(kù)(ORACLE客戶(hù)端Enterprise Manager Console)?
在方案-用戶(hù)與權(quán)限-用戶(hù)? ?新建用戶(hù)? ? 同時(shí)給該用戶(hù)授予“角色”:? ? CONNECT,DBA,EXP_FULL_DATABASE,IMP_FULL_DATABASE,RESOURCE
授予系統(tǒng)權(quán)限:?
ALTER USER,COMMENT ANY TABLE,CREATE ANY VIEW,CREATESESSION,? ?CREATE USER,DELETE ANY TABLE,DROP ANY VIEW,DROP USER,? ?UNLIMITED TABLESPACE?
在命令行下執(zhí)行。
imp pg/pg@pgfs110? imp
用戶(hù)名/口令? ? ?回車(chē)
填寫(xiě)導(dǎo)入文件路徑:EXPDAT.DMPc:\a.dmp
輸入插入緩沖區(qū)大小:默認(rèn)不填 回車(chē) 只列出導(dǎo)入文件的內(nèi)容:? ?回車(chē)
忽略創(chuàng)建錯(cuò)誤:yes 導(dǎo)入權(quán)限:yes 導(dǎo)入表數(shù)據(jù):yes 導(dǎo)入整個(gè)導(dǎo)出文件:yes
等待······
成功終止導(dǎo)入,但出現(xiàn)警告。
打開(kāi)PLSQL? Developer,用新建的用戶(hù)名和口令,以normal身份登錄
在tables中可以查看導(dǎo)入到表
到此結(jié)束
方法2:? 使用pl/sql?
導(dǎo)出:? exp username/password@服務(wù)名 file=文件路徑及文件名
例:我的數(shù)據(jù)庫(kù)pcms的用戶(hù)名和密碼都是mmis,服務(wù)名為pcms 我要導(dǎo)出到D盤(pán)下的pcms.dmp文件,可以這樣寫(xiě):? exp mmis/mmis@pcms file=d:\pcms.dmp
首先,你電腦要安裝了Oracle數(shù)據(jù)庫(kù),假設(shè)你的dmp 文件叫做: 123.dmp,假設(shè)你的安裝路徑是:F:\app\個(gè)人電腦用戶(hù)名\admin\orcl\dpdump
1、把DMP文件放到 F:\app\個(gè)人電腦用戶(hù)名\admin\orcl\dpdump 放到這個(gè)目錄下面,我這只是隨便舉個(gè)例子。
2、創(chuàng)建表空間 ,假設(shè)你的表空間名為:test
------開(kāi)始------------------不要復(fù)制虛線部分-----
create tablespace test
datafile 'F:/app/個(gè)人電腦用戶(hù)名/admin/orcl/dpdump/123.dbf'
size 32m
autoextend on
next 32m maxsize 24048m
extent management local;
--------結(jié)束-----------------不要復(fù)制虛線部分---------
3、創(chuàng)建用戶(hù)假設(shè)用戶(hù)名:username 密碼是:password123,并授權(quán)
create user username identified by password123 default tablespace test;
grant resource,connect,dba to username ;
4、關(guān)鍵步驟來(lái)了,這個(gè)要在用管理員方式打開(kāi)CMD窗口中運(yùn)行,
impdp username/password123@orcl schemas=username directory=DATA_PUMP_DIR dumpfile=123.DMP
1、首先,我們可以先建立自己的一個(gè)用戶(hù)表空間,創(chuàng)建表空間的格式如下:
create tablespace test(表空間的名字)
datafile 'D:\oracle\product\10.2.0\userdata\test.dbf' (這邊可以寫(xiě)成oracle的某個(gè)路徑下)
size 50m (初始大小)
autoextend on;(自動(dòng)擴(kuò)展)
2、接下來(lái),我們可以創(chuàng)建一個(gè)自己的用戶(hù),創(chuàng)建格式如下:
CREATE USER utest (用戶(hù)名)
IDENTIFIED BY upassword(密碼)
DEFAULT TABLESPACE test(上面創(chuàng)建的表空間)
TEMPORARY TABLESPACE temp;(臨時(shí)表空間就寫(xiě)temp即可)
3、然后,我們需要給自己的用戶(hù)賦予權(quán)限來(lái)管理自己的表空間
GRANT CONNECT TO utest;
GRANT RESOURCE TO utest;
GRANT dba TO utest;--dba為最高級(jí)權(quán)限,可以創(chuàng)建數(shù)據(jù)庫(kù),表等。
以上三條語(yǔ)句的執(zhí)行環(huán)境都需要進(jìn)入oralce之后
cmd下進(jìn)入oracle的方式
sqlplus system/密碼 回車(chē)即可
關(guān)于dmp文件我們用的還是比較多的,dmp文件它是作為oracle導(dǎo)入和導(dǎo)出表使用的文件格式,今天就將dmp文件導(dǎo)出和導(dǎo)入進(jìn)行學(xué)習(xí)。
dmp文件導(dǎo)出
dmp文件導(dǎo)出用的比較多的一般是三種,他們分別是:導(dǎo)出整個(gè)數(shù)據(jù)庫(kù)實(shí)例下的所有數(shù)據(jù)、導(dǎo)出指定用戶(hù)的所有表、導(dǎo)出指定表。
這里已我的數(shù)據(jù)庫(kù)為例,進(jìn)行介紹,我的Oracle數(shù)據(jù)庫(kù)實(shí)例為"ORACLE",查看自己數(shù)據(jù)庫(kù)實(shí)例可以從"任務(wù)管理器--服務(wù)"中進(jìn)行查看,如下圖
打開(kāi)命令行:
1,將數(shù)據(jù)庫(kù)ORACLE完全導(dǎo)出,用戶(hù)名system密碼manager 導(dǎo)出到c:\daochu.dmp中
exp system/manager@ORACLE??file=c:\daochu.dmp full=y
2,將數(shù)據(jù)庫(kù)中RFD用戶(hù)與,JYZGCX用戶(hù)的表導(dǎo)出
exp system/manager@ORACLE??file=d:\daochu.dmpowner=(RFD,JYZGCX)
3,將數(shù)據(jù)庫(kù)中的表T_USER、T_ROLE導(dǎo)出
expJYZGCX/JYZGCX@ORACLEfile= ?d:\data\newsmgnt.dmp tables=(T_USER,T_ROLE)
上面的system為用戶(hù)名,manager為密碼,ORACLE為數(shù)據(jù)庫(kù)實(shí)例名,其實(shí)不一定非的用system用戶(hù),只要是擁有管理員權(quán)限的用戶(hù)都可以。
dmp文件導(dǎo)入
1,打開(kāi)“開(kāi)始”--輸入cmd— sqlplus /nolog;
2,輸入 conn / as sysdba管理員賬戶(hù)登錄;
3,需要?jiǎng)?chuàng)建表空間,如果我們知道需要導(dǎo)入的數(shù)據(jù)庫(kù)的表空間直接創(chuàng)建就可以,如果不不知道,也沒(méi)有關(guān)系,我們可以用txt打開(kāi)dmp文件,使用快捷鍵ctrl+F,查找tablespace,就可以找到這個(gè)dmp文件所對(duì)應(yīng)數(shù)據(jù)庫(kù)的表空間,然后創(chuàng)建我們找到的表空間就可以;
步,不創(chuàng)建的表空間,創(chuàng)建用戶(hù),并分配權(quán)限;
5,打開(kāi)“開(kāi)始”--輸入cmd(注意:這里是cmd窗口,不是sqlplus窗口!!!),輸入以下語(yǔ)句:“imp ?kang/123456@localhost/ORACLEfile="C:\daochu.dmp"full=y?ignore=y”
上述語(yǔ)句說(shuō)明如下:
kang是創(chuàng)建的登錄數(shù)據(jù)庫(kù)用戶(hù)名;
123456是登錄數(shù)據(jù)庫(kù)的密碼;
localhost:代表當(dāng)前數(shù)據(jù)庫(kù)的地址是本機(jī),如果是遠(yuǎn)程導(dǎo)入,替換成對(duì)應(yīng)的ip地址就行
ORACLE:是實(shí)例名稱(chēng))
file:后面的是你當(dāng)前dmp文件存放的路徑
full=y,這個(gè)貌似是全部
ignore=y,忽略一些錯(cuò)誤
備注:關(guān)于數(shù)據(jù)庫(kù)實(shí)例、表空間、用戶(hù)等基本概念和創(chuàng)建的語(yǔ)句可參考前面的文章“Oracle學(xué)習(xí)——掃盲篇”
小結(jié)
本篇文章主要講述了,oracle數(shù)據(jù)導(dǎo)出和導(dǎo)入的具體步驟,其中導(dǎo)入dmp文件的時(shí)候即便不知道表空間、用戶(hù)名和密碼也可以進(jìn)行導(dǎo)入。
文章名稱(chēng):dmp怎么在oracle,dmp怎么用
網(wǎng)站URL:http://chinadenli.net/article0/hsgjio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、全網(wǎng)營(yíng)銷(xiāo)推廣、面包屑導(dǎo)航、移動(dòng)網(wǎng)站建設(shè)、品牌網(wǎng)站制作、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)