當前位置:
首頁 >
Oracle备份还原
發(fā)布時間:2025/3/11
25
豆豆
生活随笔
收集整理的這篇文章主要介紹了
Oracle备份还原
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Oracle有兩類備份方式:
通常是從磁盤到磁帶。物理備份又分為冷備份、熱備份; ??
(2)邏輯備份:是利用SQL語言從數(shù)據(jù)庫中抽取數(shù)據(jù)并存于二進制文件的過程。
邏輯備份使用導入導出工具:EXPDP/IMPDP或EXP/IMP;?
--冷備份
冷備份是Oracle最簡單的一種備份;執(zhí)行冷備份前必須關閉數(shù)據(jù)庫;然后使用操作系統(tǒng)
實用工具或者第三方工具備份所有相關的數(shù)據(jù)庫文件。
優(yōu)點:能簡單快速地備份。能簡單快速地恢復。
執(zhí)行簡單。
缺點:必須關閉數(shù)據(jù)庫,不能進行點恢復。
--熱備份
熱備份是當數(shù)據(jù)庫正在運行時進行數(shù)
據(jù)備份的過程。執(zhí)行熱備份的前提是:數(shù)據(jù)庫運行在可歸檔日志模式。適用于24X7不間斷運行的關
鍵應用系統(tǒng)。
優(yōu)點:備份時數(shù)據(jù)庫可以是打開的。熱備份可以用來進行點恢復。初始化參數(shù)文件、
歸檔日志在數(shù)據(jù)庫正常運行時是關閉的,可用操作系統(tǒng)命令拷貝。
缺點:執(zhí)行過程復雜。
由于數(shù)據(jù)庫不間斷運行,測試比較困難。不能用操作系統(tǒng)實用工具拷貝打開的文件。
必須使用Oracle提供的ocopy工具來拷貝打開的文件。熱備份可能造成CPU、I/O過載,
應在數(shù)據(jù)庫不太忙時進行。
sqlplus system/manager
SQL> alter tablespace XXX begin backup;
SQL> host ocopy c:\oradata\MYDB\xxx.ora c:\backup\xxx.ora
SQL> alter tablespace XXX end backup;
其中第二步也可以再開個DOS窗口作,或者光打HOST命令臨時回到DOS提示符,
再打ocopy命令,完成再exit回到sqlplus
為什么用ocopy而不用copy?
OCOPY allows writing to continue while the backup is running. The COPY is a closed copy and the files may be marked either as "fuzzy" or "corrupt". ?OCOPY opens the file using CreateFile() with the FILE_SHARE_READ and FILE_SHARE_WRITE flags. This allows writing to continue while we take the backup. ?Inconsistencies in the backup are repaired by applying archived redo during recovery. The 'copy' command from NT doesn't use these flags since it wants to prevent writes to the file while the copy is taking place.
--Export導出數(shù)據(jù)庫對象
冷備份和熱備份都備份物理數(shù)據(jù)庫文件,因而被稱為物理備份。
而export備份的是數(shù)據(jù)庫對象,因此被稱為邏輯備份。
優(yōu)點:能執(zhí)行對象或者行恢復。
備份和恢復速度更快。能夠跨操作系統(tǒng)平臺遷移數(shù)據(jù)庫。數(shù)據(jù)庫可一直運行。
缺點:export并
不是冷備份和熱備份的替代工具。冷、熱備份可保護介質失效。
export備份可保護用戶或應用錯誤。
--
? ? EXPDP/IMPDP是10G以后的一種新的數(shù)據(jù)導入導出方式,也稱為數(shù)據(jù)泵。
相比于傳統(tǒng)的EXP/IMP的方式有了很大的不同.
? ? EXP/IMP產生的文件格式和EXPDP/IMPDP并不兼容,雖然文件名字都是DMP擴展文件。
不能用EXP導出的的文件用IMPDP導入,反之則一樣.
? ? EXP/IMP的是客戶機的工作模式,由EXP/IMP指定連接串,連接到相應的ORACLE數(shù)據(jù)庫,
然后在ORACLE數(shù)據(jù)庫生成一個相應的前臺服務器成進程來完成各種請求,
所以IMP/EXP可以進行遠程導入導出.
? ? EXPDP/IMPDP直接在ORACLE數(shù)據(jù)庫生成一個后臺進程來完成相應的任務.
? ? EXP/IMP通過數(shù)據(jù)字典來獲取相應的對像信息,并且通過select來返回對像中的所有數(shù)據(jù),
在EXP的時會進行全表掃描,也相當于做了一次塊的檢查.在exp的時候,有可能會得到表數(shù)據(jù)
不一致的情況,可以通過consistent來指定,那樣可能會導致undo表空間變得非常大。
? ? EXPDP主要是通過執(zhí)行DBMS_METADATA的包來獲取對像的相應信息,而且直接是通過拷貝
相應數(shù)據(jù)文件塊的方式,所以效率要高得多.
? ? EXPDP/IMPDP還有很多特性,比如可以過相應的網(wǎng)絡導出導入,在大文件操作時候,
就不要生成中間文件了.還有job裝態(tài),表空間REMAP,并行等.但是expdp/impdp在使用的時候
要創(chuàng)建DIRECTORY。數(shù)據(jù)量很小的時候一般還是比較推薦EXP/IMP方式.
-------------------------exp\imp---------------------------
在cmd窗口運行:
exp scott/tiger@vpmdb file=d:\xx.dmp ?
imp scott/tiger@vpmdb file=d:\xx.dmp ?
exp scott/tiger@vpmdb file=d:\xx.dmp tables=emp,dept?
imp scott/tiger@vpmdb file=d:\xx.dmp tables=emp,dept
-------------------------expdp\impdp---------------------------
expdp -help
impdp -help
create or replace directory bakdir as 'D:\bak';
GRANT WRITE ON DIRECTORY bakdir TO scott WITH GRANT OPTION
/
GRANT READ ON DIRECTORY bakdir TO scott WITH GRANT OPTION
/
在cmd窗口運行:
expdp scott/tiger@vpmdb directory=bakdir dumpfile=xx.dmp ?
impdp scott/tiger@vpmdb directory=bakdir dumpfile=xx.dmp ?
expdp scott/tiger@vpmdb directory=bakdir ?dumpfile=xx1.dmp tables=(emp,dept)?
expdp scott/tiger@vpmdb directory=bakdir ?dumpfile=xx1.dmp tables=%emp%
?
impdp scott/tiger@vpmdb directory=bakdir ?dumpfile=xx1.dmp tables=(emp,dept)
expdp lushanguat/lushanguat@ls directory=bakdir dumpfile=xx.dmp tables=( TS_USER_ROLE) ?--失敗
exp lushanguat/lushanguat@ls ?file=d:\xx.dmp tables=usermgr.TS_USER_ROLE?
總結
以上是生活随笔為你收集整理的Oracle备份还原的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# 将程序添加开机启动的三种方式
- 下一篇: 本地连接和音量图标显示