Oracle数据库导入导出 imp/exp备份还原
生活随笔
收集整理的這篇文章主要介紹了
Oracle数据库导入导出 imp/exp备份还原
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Oracle數(shù)據(jù)導(dǎo)入導(dǎo)出imp/exp?
Oracle數(shù)據(jù)導(dǎo)入導(dǎo)出imp/exp 在cmd的dos命令提示符下執(zhí)行,而不是在sqlplus里面,但是格式一定要類似于: imp/exp?用戶名/密碼@service_name或oracle_sid full=y? file=C:\導(dǎo)出文件名稱.dmp ignore=y imp 命令是在dos提示符下執(zhí)行的,直接cmd后執(zhí)行而不是在sql下執(zhí)行的 數(shù)據(jù)導(dǎo)出: 1 將數(shù)據(jù)庫完全導(dǎo)出,用戶名wlj ,密碼wlj 導(dǎo)出到D:exportoracle.dmp中 exp wlj/wlj@orcl file=d:exportoracle.dmp full=y 注意: 如果出現(xiàn): ? ? ? ? ? ? ? ? EXP-00056: 遇到 ORACLE 錯誤 12154? ? ? ? ? ? ? ? ORA-12154: TNS: 無法解析指定的連接標(biāo)識符
? ? ? ? ? ? ? ? EXP-00000: 導(dǎo)出終止失敗 這個很明顯是連接不上你的數(shù)據(jù)庫,你可以查看一下你的net manager里面的服務(wù)名有沒配置好 解決方法:1、不再服務(wù)端的話,在其它機(jī)器可能通過service_name或oracle_sid來訪問數(shù)據(jù)庫,注意service_name必須寫正確,需要查看oracle net? manager 中的數(shù)據(jù)庫的tns配置實例名稱(上面@后面的 orcl)是否與需要連接的一樣,cmd中使用 tnsping orcl 可以ping同的話,就說明沒有問題。 ? ? ? ? ? ? ? ? ? 2、在服務(wù)端的話,在服務(wù)器本地導(dǎo)出文件時要用服務(wù)器本地的連接名,也就是說要查看服務(wù)器的tnsnames.ora文件中的服務(wù)名稱,有的話就是使用相應(yīng)的名稱,若沒有,則使用空,什么也不填寫,如圖2,大致目錄D:\Softs\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN下面tnsnames.ora 如圖1
圖1
?
圖2
? 2 將數(shù)據(jù)庫中system用戶與sys用戶的表導(dǎo)出 exp?wlj/wlj@orc file=d:exportoracle.dmp owner=(system,sys) 3 將數(shù)據(jù)庫中的表inner_notify、notify_staff_relat導(dǎo)出 exp wlj/wlj@orcl file= d:exportoracle.dmp tables=(inner_notify,notify_staff_relat) 4 將數(shù)據(jù)庫中的表table1中的字段filed1以"00"打頭的數(shù)據(jù)導(dǎo)出 exp??wlj/wlj@orcl? file=d:exportoracle.dmp tables=(table1) query=" where filed1 like '00%'" 上面是常用的導(dǎo)出,對于壓縮,既用winzip把dmp文件可以很好的壓縮。 也可以在上面命令后面 加上 compress=y 來實現(xiàn)。 ? 數(shù)據(jù)的導(dǎo)入 1 將d:exportoracle.dmp 中的數(shù)據(jù)導(dǎo)入 TEST數(shù)據(jù)庫中。 imp?wlj/wlj@orcl file=d:exportoracle.dmp imp??wlj/wlj@orcl full=y? file=d:exportoracle.dmp ignore=y 如果出現(xiàn)問題,可能是因為有的表已經(jīng)存在,然后它就報錯,對該表就不進(jìn)行導(dǎo)入。 在后面加上 ignore=y 就可以了。 2 將d:exportoracle.dmp中的表table1 導(dǎo)入 imp??wlj/wlj@orcl? ?file=d:exportoracle.dmp? tables=(table1) 注意:基本上上面的導(dǎo)入導(dǎo)出夠用了。不少情況要先是將表徹底刪除,然后導(dǎo)入。 注意:1、操作者要有足夠的權(quán)限,權(quán)限不夠它會提示。 2、數(shù)據(jù)庫是可以連上的。可以用tnsping orcl 來獲得數(shù)據(jù)庫orcl能否連上。 當(dāng)然,上面的方法在導(dǎo)出數(shù)據(jù)時可能會導(dǎo)出很大的包,那是因為你的用戶可能在授權(quán)的時候授予了DBA的權(quán)限,所以可以采用下面方法來進(jìn)行數(shù)據(jù)庫備份: 數(shù)據(jù)庫備份 建議系統(tǒng)過渡后,每周進(jìn)行一次備份。或者在數(shù)據(jù)表發(fā)生重大改變前,對要改變的數(shù)據(jù)表進(jìn)行備份。 執(zhí)行以下步驟,進(jìn)行備份。 在命令行里,敲入“cmd”,回車,進(jìn)入命令行窗口。 在窗口中,輸入: exp mas/123456@mas 系統(tǒng)提示:輸入數(shù)組提取緩沖區(qū)大小: 4096 > 可以直接回車; www.2cto.com? 系統(tǒng)提示:導(dǎo)出文件: EXPDAT.DMP> 此處輸入導(dǎo)出文件的位置,其路徑必須存在,Oracle在這里不會自動建立路徑,但可以建立文件名。備份文件以dmp作為后綴。 輸入內(nèi)容如:e:\work\mas_db_090925v1.dmp 回車 系統(tǒng)提示: (1)E(完整的數(shù)據(jù)庫),(2)U(用戶) 或 (3)T(表): (2)U > u 此處可以輸入u,也可以直接回車,因為系統(tǒng)此時默認(rèn)的是U 系統(tǒng)提示:導(dǎo)出權(quán)限(yes/no):yes>回車 系統(tǒng)提示:導(dǎo)出表數(shù)據(jù)(yes/no):yes>回車 系統(tǒng)提示:壓縮區(qū)(yes/no):yes>回車 系統(tǒng)提示:要導(dǎo)出的用戶: (RETURN 以退出) > mas 系統(tǒng)提示:要導(dǎo)出的用戶: (RETURN 以退出) > 回車 此時系統(tǒng)會自動進(jìn)行備份.轉(zhuǎn)載于:https://www.cnblogs.com/1175429393wljblog/p/9529334.html
總結(jié)
以上是生活随笔為你收集整理的Oracle数据库导入导出 imp/exp备份还原的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redis数据结构对象
- 下一篇: 解决xampp启动mysql失败