功能Oracle數據導入導出imp/exp就相當與oracle數據還原與備份大多情況都可以用Oracle數據導入導出完成數據的備份和還原(不會造成數據的丟失)
Oracle有個好處雖然你的電腦不是服務器但是你裝了oracle客戶端並建立了連接 (通過net assistant中本地——>服務命名 添加正確的服務命名
其實你可以想成是客戶端與服務器端修了條路然後數據就可以被拉過來了)這樣你可以把數據導出到本地雖然可能服務器離你很遠你同樣可以把dmp文件從本地導入到遠處的數據庫服務器中
利用這個功能你可以構建倆個相同的數據庫一個用來測試一個用來正式使用
執行環境可以在SQLPLUSEXE或者DOS(命令行)中執行DOS中可以執行時由於 在oracle i 中 安裝目錄\ora\BIN被設置為全局路徑該目錄下有EXPEXE與IMPEXE文件被用來執行導入導出
oracle用java編寫我想SQLPLUSEXEEXPEXEIMPEXE這倆個文件是被包裝後的類文件SQLPLUSEXE調用EXPEXEIMPEXE他們所包裹的類完成導入導出功能
下面介紹的是導入導出的實例向導入導出看實例基本上就可以完成因為導入導出很簡單
數據導出
將數據庫TEST完全導出用戶名system 密碼manager 導出到D\daochudmp中
exp system/manager@TEST file=d\daochudmp full=y
將數據庫中system用戶與sys用戶的表導出
exp system/manager@TEST file=d\daochudmp owner=(systemsys)
將數據庫中的表table table導出
exp system/manager@TEST file=d\daochudmp tables=(tabletable)
將數據庫中的表table中的字段filed以打頭的數據導出
exp system/manager@TEST file=d\daochudmp tables=(table) query=\ where filed like %\
上面是常用的導出對於壓縮我不太在意用winzip把dmp文件可以很好的壓縮
不過在上面命令後面 加上 compress=y 就可以了
數據的導入 將D\daochudmp 中的數據導入 TEST數據庫中
imp system/manager@TEST file=d\daochudmp
上面可能有點問題因為有的表已經存在然後它就報錯對該表就不進行導入
在後面加上 ignore=y 就可以了
將d\daochudmp中的表table 導入
imp system/manager@TEST file=d\daochudmp tables=(table)
基本上上面的導入導出夠用了不少情況我是將表徹底刪除然後導入
注意
你要有足夠的權限權限不夠它會提示你
數據庫時可以連上的可以用tnsping TEST 來獲得數據庫TEST能否連上
From:http://tw.wingwit.com/Article/program/Oracle/201311/17723.html