Oracle备份还原
生活随笔
收集整理的這篇文章主要介紹了
Oracle备份还原
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Oracle有兩類備份方式:
通常是從磁盤到磁帶。物理備份又分為冷備份、熱備份; ??
(2)邏輯備份:是利用SQL語言從數據庫中抽取數據并存于二進制文件的過程。
邏輯備份使用導入導出工具:EXPDP/IMPDP或EXP/IMP;?
--冷備份
冷備份是Oracle最簡單的一種備份;執行冷備份前必須關閉數據庫;然后使用操作系統
實用工具或者第三方工具備份所有相關的數據庫文件。
優點:能簡單快速地備份。能簡單快速地恢復。
執行簡單。
缺點:必須關閉數據庫,不能進行點恢復。
--熱備份
熱備份是當數據庫正在運行時進行數
據備份的過程。執行熱備份的前提是:數據庫運行在可歸檔日志模式。適用于24X7不間斷運行的關
鍵應用系統。
優點:備份時數據庫可以是打開的。熱備份可以用來進行點恢復。初始化參數文件、
歸檔日志在數據庫正常運行時是關閉的,可用操作系統命令拷貝。
缺點:執行過程復雜。
由于數據庫不間斷運行,測試比較困難。不能用操作系統實用工具拷貝打開的文件。
必須使用Oracle提供的ocopy工具來拷貝打開的文件。熱備份可能造成CPU、I/O過載,
應在數據庫不太忙時進行。
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導出數據庫對象
冷備份和熱備份都備份物理數據庫文件,因而被稱為物理備份。
而export備份的是數據庫對象,因此被稱為邏輯備份。
優點:能執行對象或者行恢復。
備份和恢復速度更快。能夠跨操作系統平臺遷移數據庫。數據庫可一直運行。
缺點:export并
不是冷備份和熱備份的替代工具。冷、熱備份可保護介質失效。
export備份可保護用戶或應用錯誤。
--
? ? EXPDP/IMPDP是10G以后的一種新的數據導入導出方式,也稱為數據泵。
相比于傳統的EXP/IMP的方式有了很大的不同.
? ? EXP/IMP產生的文件格式和EXPDP/IMPDP并不兼容,雖然文件名字都是DMP擴展文件。
不能用EXP導出的的文件用IMPDP導入,反之則一樣.
? ? EXP/IMP的是客戶機的工作模式,由EXP/IMP指定連接串,連接到相應的ORACLE數據庫,
然后在ORACLE數據庫生成一個相應的前臺服務器成進程來完成各種請求,
所以IMP/EXP可以進行遠程導入導出.
? ? EXPDP/IMPDP直接在ORACLE數據庫生成一個后臺進程來完成相應的任務.
? ? EXP/IMP通過數據字典來獲取相應的對像信息,并且通過select來返回對像中的所有數據,
在EXP的時會進行全表掃描,也相當于做了一次塊的檢查.在exp的時候,有可能會得到表數據
不一致的情況,可以通過consistent來指定,那樣可能會導致undo表空間變得非常大。
? ? EXPDP主要是通過執行DBMS_METADATA的包來獲取對像的相應信息,而且直接是通過拷貝
相應數據文件塊的方式,所以效率要高得多.
? ? EXPDP/IMPDP還有很多特性,比如可以過相應的網絡導出導入,在大文件操作時候,
就不要生成中間文件了.還有job裝態,表空間REMAP,并行等.但是expdp/impdp在使用的時候
要創建DIRECTORY。數據量很小的時候一般還是比較推薦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# 将程序添加开机启动的三种方式
- 下一篇: 本地连接和音量图标显示