1. 程式人生 > >18、匯入和匯出

18、匯入和匯出

學習目標:

1、掌握Oracle最基礎的匯入匯出的方法

學習過程:

因為很多同學都需要把在課堂上沒有完成的資料庫複製回家繼續做。,這節課簡單講述Oracle的匯入和匯出命令,匯入/匯出是ORACLE倖存的最古老的兩個命令列工具,Exp/Imp並不是一種好的備份方式,正確的說法是Exp/Imp只能是一個好的轉儲工具,特別是在小型資料庫的轉儲,表空間的遷移,表的抽取,檢測邏輯和物理衝突等中有不小的功勞。

一、匯出資料庫

exp工具一般在oracle類似於下面的路徑中:

D:appyonghumingproduct11.1.0db_1BIN

為了使用這個命令你需要開啟DOS命令。點選開始、執行輸入cmd開啟dos命令。exp命名非常強大,而且有一個非常好的嚮導。引導你進行備份。下面舉幾個常用的例子。

1、將資料庫TEST完全匯出,使用者名稱system 密碼manager 匯出到D:daochu.dmp中

    exp system/[email protected] file=d:daochautu.dmp full=y

2、將資料庫中system使用者與sys使用者的表匯出

    exp system/[email protected] file=d:daochu.dmp owner=(system,sys)

3、將資料庫中的表table1 、table2匯出

    exp system/

[email protected] file=d:daochu.dmp tables=(table1,table2) 

4、將資料庫中的表table1中的欄位filed1以"00"打頭的資料匯出

    exp system/[email protected] file=d:daochu.dmp tables=(table1) query=" where filed1 like  '00%'"

二、匯入資料

將D:daochu.dmp 中的資料匯入 TEST資料庫中。可以使用以下命令

    imp system/

[email protected]  file=d:daochu.dmp full=y

上面可能有點問題,因為有的表已經存在,然後它就報錯,對該表就不進行匯入。在後面加上 ignore=y 就可以了。

三、遠端

其實exp/imp除了上述的功能外,還可以對遠端資料庫進行操作,具體方法如下:

1、修改tnsnames.ora檔案(在oracle client中)

D:appAdministratorproduct11.2.0dbhome_1NETWORKADMIN

加入遠端伺服器的命名:

服務名 =  

  (DESCRIPTION =  

    (ADDRESS_LIST =  

      (ADDRESS = (PROTOCOL = TCP)(HOST = 遠端IP)(PORT = 1521))  

    )  

    (CONNECT_DATA =  

      (SERVICE_NAME = orcl)  

    )  

  )  

2、測試遠端伺服器是否暢通

進入到cmd後,執行命令:tnsping  遠端IP,如果連線正常應返回下面的介面:

1

2

3

C:\Documents and Settings\Administrator>tnsping 遠端IP 

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 12-8月 -2009 09:06:53  

Copyright (c) 19972005, Oracle.  All rights reserved.

已使用的引數檔案:  

e:oracleproduct10.2.0db_1 etworkadminsqlnet.ora  

已使用 TNSNAMES 介面卡來解析別名  

Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 遠端IP)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME =  

orcl)))  

OK (50 毫秒)  

3、遠端操作資料庫

匯出:

exp username/[email protected]遠端IP:1521/服務名 file=c:本地存放資料庫備份後的路徑   

比如 exp username/[email protected]:1521/MYDATA file=c:databack.dmp  

 在以前看到文章中,沒有涉及到將埠號和服務名新增到語句中,但是,實驗失敗,因此做了上面的修正,上述語句完全實驗成功

匯入:

imp  username/[email protected]遠端IP:1521/服務名 file=要匯入遠端資料庫的檔案 full=y  

好了,完成了!這樣就不用再遠端登陸伺服器去操作了