Oracle資料庫匯入匯出 imp/exp備份還原
Oracle資料匯入匯出imp/exp
Oracle資料匯入匯出imp/exp
在cmd的dos命令提示符下執行,而不是在sqlplus裡面,但是格式一定要類似於:
imp/exp 使用者名稱/密碼@service_name或oracle_sid full=y file=C:\匯出檔名稱.dmp ignore=y
imp 命令是在dos提示符下執行的,直接cmd後執行而不是在sql下執行的
資料匯出:
1 將資料庫完全匯出,使用者名稱wlj ,密碼wlj 匯出到D:exportoracle.dmp中
exp wlj/[email protected] file=d:exportoracle.dmp full=y
注意:
如果出現:
EXP-00056: 遇到 ORACLE 錯誤 12154
ORA-12154: TNS: 無法解析指定的連線識別符號
EXP-00000: 匯出終止失敗
這個很明顯是連線不上你的資料庫,你可以檢視一下你的net manager裡面的服務名有沒配置好
解決方法:1、不再服務端的話,在其它機器可能通過service_name或oracle_sid來訪問資料庫,注意service_name必須寫正確,需要檢視oracle net manager 中的資料庫的tns配置例項名稱(上面@後面的 orcl)是否與需要連線的一樣,cmd中使用 tnsping orcl 可以ping同的話,就說明沒有問題。
2、在服務端的話,在伺服器本地匯出檔案時要用伺服器本地的連線名,也就是說要檢視伺服器的tnsnames.ora檔案中的服務名稱,有的話就是使用相應的名稱,若沒有,則使用空,什麼也不填寫,如圖2,大致目錄D:\Softs\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN下面tnsnames.ora 如圖1
圖1
圖2
2 將資料庫中system使用者與sys使用者的表匯出
exp wlj/[email protected] file=d:exportoracle.dmp owner=(system,sys)
3 將資料庫中的表inner_notify、notify_staff_relat匯出
exp wlj/[email protected] file= d:exportoracle.dmp tables=(inner_notify,notify_staff_relat)
4 將資料庫中的表table1中的欄位filed1以"00"打頭的資料匯出
exp wlj/[email protected] file=d:exportoracle.dmp tables=(table1) query=" where filed1 like '00%'"
上面是常用的匯出,對於壓縮,既用winzip把dmp檔案可以很好的壓縮。
也可以在上面命令後面 加上 compress=y 來實現。
資料的匯入
1 將d:exportoracle.dmp 中的資料匯入 TEST資料庫中。
imp wlj/[email protected] file=d:exportoracle.dmp
imp wlj/[email protected] full=y file=d:exportoracle.dmp ignore=y
如果出現問題,可能是因為有的表已經存在,然後它就報錯,對該表就不進行匯入。
在後面加上 ignore=y 就可以了。
2 將d:exportoracle.dmp中的表table1 匯入
imp wlj/[email protected] file=d:exportoracle.dmp tables=(table1)
注意:基本上上面的匯入匯出夠用了。不少情況要先是將表徹底刪除,然後匯入。
注意:1、操作者要有足夠的許可權,許可權不夠它會提示。
2、資料庫是可以連上的。可以用tnsping orcl 來獲得資料庫orcl能否連上。
當然,上面的方法在匯出資料時可能會匯出很大的包,那是因為你的使用者可能在授權的時候授予了DBA的許可權,所以可以採用下面方法來進行資料庫備份:
資料庫備份
建議系統過渡後,每週進行一次備份。或者在資料表發生重大改變前,對要改變的資料表進行備份。
執行以下步驟,進行備份。
在命令列裡,敲入“cmd”,回車,進入命令列視窗。
在視窗中,輸入:
exp mas/[email protected]
系統提示:輸入陣列提取緩衝區大小: 4096 >
可以直接回車;
www.2cto.com
系統提示:匯出檔案: EXPDAT.DMP>
此處輸入匯出檔案的位置,其路徑必須存在,Oracle在這裡不會自動建立路徑,但可以建立檔名。備份檔案以dmp作為字尾。
輸入內容如:e:\work\mas_db_090925v1.dmp 回車
系統提示: (1)E(完整的資料庫),(2)U(使用者) 或 (3)T(表): (2)U > u
此處可以輸入u,也可以直接回車,因為系統此時預設的是U
系統提示:匯出許可權(yes/no):yes>回車
系統提示:匯出表資料(yes/no):yes>回車
系統提示:壓縮區(yes/no):yes>回車
系統提示:要匯出的使用者: (RETURN 以退出) > mas
系統提示:要匯出的使用者: (RETURN 以退出) > 回車
此時系統會自動進行備份.