功能:Oracle數(shù)據(jù)導(dǎo)入導(dǎo)出imp/exp就相當(dāng)與oracle數(shù)據(jù)還原與備份。
大多情況都可以用Oracle數(shù)據(jù)導(dǎo)入導(dǎo)出完成數(shù)據(jù)的備份和還原(不會(huì)造成數(shù)據(jù)的丟失)。
Oracle有個(gè)好處,雖然你的電腦不是服務(wù)器,但是你裝了oracle客戶(hù)端,并建立了連接
(通過(guò)net8 assistant中本地-->服務(wù)命名 添加正確的服務(wù)命名
其實(shí)你可以想成是客戶(hù)端與服務(wù)器端修了條路,然后數(shù)據(jù)就可以被拉過(guò)來(lái)了)
這樣你可以把數(shù)據(jù)導(dǎo)出到本地,雖然可能服務(wù)器離你很遠(yuǎn)。
你同樣可以把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í)行,
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í)例,向?qū)雽?dǎo)出看實(shí)例基本上就可以完成,因?yàn)閷?dǎo)入導(dǎo)出很簡(jiǎn)單。
數(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ù)中的表table1 、table2導(dǎo)出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
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文件可以很好的壓縮。
不過(guò)在上面命令后面 加上 compress=y 就可以了
數(shù)據(jù)的導(dǎo)入
1 將D:\daochu.dmp 中的數(shù)據(jù)導(dǎo)入 TEST數(shù)據(jù)庫(kù)中。
imp system/manager@TEST file=d:\daochu.dmp
上面可能有點(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能否連上。
可以通過(guò)輸入 IMP 命令和您的用戶(hù)名/口令
后接用戶(hù)名/口令的命令:
例程: IMP SCOTT/TIGER
或者, 可以通過(guò)輸入 IMP 命令和各種參數(shù)來(lái)控制“導(dǎo)入”
按照不同參數(shù)。要指定參數(shù),您可以使用關(guān)鍵字:
格式: IMP KEYWORD=value 或 KEYWORD=(value1,value2,...,vlaueN)
例程: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N
或 TABLES=(T1: P1,T1: P2),如果 T1 是分區(qū)表
USERID 必須是命令行中的第一個(gè)參數(shù)。
關(guān)鍵字 說(shuō)明(默認(rèn)) 關(guān)鍵字 說(shuō)明(默認(rèn))
--------------------------------------------------------------------------
USERID 用戶(hù)名/口令 FULL 導(dǎo)入整個(gè)文件 (N)
BUFFER 數(shù)據(jù)緩沖區(qū)大小 FROMUSER 所有人用戶(hù)名列表
FILE 輸入文件 (EXPDAT.DMP) TOUSER 用戶(hù)名列表
SHOW 只列出文件內(nèi)容 (N) TABLES 表名列表
IGNORE 忽略創(chuàng)建錯(cuò)誤 (N) RECORDLENGTH IO 記錄的長(zhǎng)度
GRANTS 導(dǎo)入權(quán)限 (Y) INCTYPE 增量導(dǎo)入類(lèi)型
INDEXES 導(dǎo)入索引 (Y) COMMIT 提交數(shù)組插入 (N)
ROWS 導(dǎo)入數(shù)據(jù)行 (Y) PARFILE 參數(shù)文件名
LOG 屏幕輸出的日志文件 CONSTRAINTS 導(dǎo)入限制 (Y)
DESTROY 覆蓋表空間數(shù)據(jù)文件 (N)
INDEXFILE 將表/索引信息寫(xiě)入指定的文件
SKIP_UNUSABLE_INDEXES 跳過(guò)不可用索引的維護(hù) (N)
FEEDBACK 每 x 行顯示進(jìn)度 (0)
TOID_NOVALIDATE 跳過(guò)指定類(lèi)型 ID 的驗(yàn)證
FILESIZE 每個(gè)轉(zhuǎn)儲(chǔ)文件的最大大小
STATISTICS 始終導(dǎo)入預(yù)計(jì)算的統(tǒng)計(jì)信息
RESUMABLE 遇到與空格有關(guān)的錯(cuò)誤時(shí)掛起 (N)
RESUMABLE_NAME 用來(lái)標(biāo)識(shí)可恢復(fù)語(yǔ)句的文本字符串
RESUMABLE_TIMEOUT RESUMABLE 的等待時(shí)間
COMPILE 編譯過(guò)程, 程序包和函數(shù) (Y)
下列關(guān)鍵字僅用于可傳輸?shù)谋砜臻g
TRANSPORT_TABLESPACE 導(dǎo)入可傳輸?shù)谋砜臻g元數(shù)據(jù) (N)
TABLESPACES 將要傳輸?shù)綌?shù)據(jù)庫(kù)的表空間
DATAFILES 將要傳輸?shù)綌?shù)據(jù)庫(kù)的數(shù)據(jù)文件
TTS_OWNERS 擁有可傳輸表空間集中數(shù)據(jù)的用戶(hù)
posted on 2007-06-05 18:41
阿偉 閱讀(783)
評(píng)論(0) 編輯 收藏 所屬分類(lèi):
DateBase