功能:Oracle數據導入導出imp/exp就相當與oracle數據還原與備份。大多情況都可以用Oracle數據導入導出完成數據的備份和還原(不會造成數據的丟失)。
Oracle有個好處,雖然你的電腦不是服務器,但是你裝了oracle客戶端,並建立了連接 (通過net8 assistant中本地——>服務命名 添加正確的服務命名 其實你可以想成是客戶端與服務器端修了條路,然後數據就可以被拉過來了)這樣你可以把數據導出到本地,雖然可能服務器離你很遠。你同樣可以把dmp文件從本地導入到遠處的數據庫服務器中。 利用這個功能你可以構建倆個相同的數據庫,一個用來測試,一個用來正式使用。 執行環境:可以在SQLPLUS.EXE或者DOS(命令行)中執行,DOS中可以執行時由於 在oracle 8i 中安裝目錄\ora81\BIN被設置爲全局路徑,該目錄下有EXP.EXE與IMP.EXE文件被用來執行導入導出。 oracle用java編寫,我想SQLPLUS.EXE、EXP.EXE、IMP.EXE這倆個文件是被包裝後的類文件。SQLPLUS.EXE調用EXP.EXE、IMP.EXE他們所包裹的類,完成導入導出功能。 下面介紹的是導入導出的實例,嚮導入導出看實例基本上就可以完成,因爲導入導出很簡單。 數據導出: 1 將數據庫TEST完全導出,用戶名gdoa 密碼123 導出到D:\TEST_BK.dmp中 2 將數據庫中gdoa用戶與sys用戶的表導出 3 將數據庫中的表table1 、table2導出 4 將數據庫中的表table1中的字段filed1以"00"打頭的數據導出 上面是常用的導出,對於壓縮我不太在意,用winzip把dmp文件可以很好的壓縮。 不過在上面命令後面 加上 compress=y 就可以了 數據的導入1 將D:\TEST_BK.dmp 中的數據導入 TEST數據庫中。 imp gdoa/123@TEST file=d:\TEST_BK.dmp 上面可能有點問題,因爲有的表已經存在,然後它就報錯,對該表就不進行導入。 在後面加上 ignore=y 就可以了。 2 將d:\TEST_BK.dmp中的表table1 導入 imp gdoa/123@TEST file=d:\TEST_BK.dmp tables=(table1) 基本上上面的導入導出夠用了。不少情況我是將表徹底刪除,然後導入。 注意: 你要有足夠的權限,權限不夠它會提示你。 數據庫時可以連上的。可以用tnsping TEST 來獲得數據庫TEST能否連上。 |
導出 EXP USER/PASSWORD@ODBC FILE=C:\***.DMP ROWS=N //不保存數據;
導出 EXP USER/PASSWORD@ODBC FILE=C:\***.DMP //保存數據;
導出 EXP USER/PASSWORD@ODBC FILE=C:\***.DMP full=y //全部導出;
以前我們一般都是使用PL/SQL Developer來實現,但是PL/SQL Developer在導出、導入數據時有兩個問題:
1、要把表數據和對象(存儲過程、視圖)分開導出 2、導出的視圖如果有註釋,那麼在導入時常常會出錯。 其實,PL/SQL的導出、導入功能使用的是Oracle自帶的工具:exp和imp,這兩個工具的導出導入數據時提供了很多功能,PL/SQL 只是使用其中的一些功能。下面對它們簡單介紹一下: 1 exp/imp使用方法及實例 exp/imp爲一種數據庫備份恢復工具也可以作爲不同數據庫之間傳遞數據的工具兩個數據庫所在的操作系統可以不同exp 可以將數據庫數據導出爲二進制文件imp 可以將導出的數據文件再導入到相同的數據庫或不同的數據庫 數據庫導出有四種模式full(全庫導出), owner(用戶導出), table(表導出), tablespace(表空間導出). full( 全庫導出): 導出除ORDSYS,MDSYS,CTXSYS,ORDPLUGINS,LBACSYS 這些系統用戶之外的所有用戶的數據. owner( 用戶導出): 導出某個或某些用戶的所有權限和數據. tables( 表導出): 導出某些表(可以是不同用戶的)的結構和數據. tablespace( 表空間導出):表空間導出數據. 執行exp 有三種方法:交互式,命令行和參數文件 交互式:直接輸入exp 命令用戶可以按照exp 提示的信息一步一步操作,比較簡單. 命令行:輸入命令行exp username/password parameter=value. 參數文件:輸入命令行exp username/password parfile=filename exp 所需的參數從參數文件引入. 參數是可以重複的優先級爲命令行優於參數文件後面的參數值覆蓋於前面的參數值. 參數介紹 詳細的介紹可通過exp help=y或imp helpe=y來查看。下面只對一些常用的參數進行說明。 導出、導入實例 導入數據: |