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/
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/
上面可能有點問題,因為有的表已經存在,然後它就報錯,對該表就不進行匯入。在後面加上 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 |
|
已使用的引數檔案:
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
好了,完成了!這樣就不用再遠端登陸伺服器去操作了