用戶管理的備份與恢復也稱 OS物理備份,是指通過數據庫命令設置數據庫為備份 狀態,然後用操作系統命令,拷貝需要備份或恢復的文件。這種備份與恢復需要用戶的 參與手工或自動完成。
對於使用 OS拷貝備份的數據文件,可以使用 DBVERTIFY 進行檢驗。DBVERTIFY是一個外部工具,主要用於校驗數據文件或備份的數據文件的數據塊是否正確。 例:
dbv /u01/oradata/oracle/users01.dbf BLOCKSIZE=8192
參數說明:
關鍵字 說明 (默認)
FILE 要檢驗的文件 (NONE)
START 起始塊 (文件的第一個塊)
END 結束塊 (文件的最後一個塊)
BLOCKSIZE 邏輯塊大小 (2048)
LOGFILE 輸出日志 (NONE)
FEEDBACK 顯示進程 (0)
Recover 還可以進行測試,檢測恢復的錯誤,錯誤信息記載在 alert_SID.log 文件中,通過測試,我們可以知道該恢復操作是否能正常完成。
SQL> RECOVER TABLESPACE sales TEST;
SQL> RECOVER DATABASE UNTIL CANCEL TEST;
3.1 相關設置
3.1.1 設置ARCHIVELOG與NONARCHIVELOG模式
重做日志組是以循環方式使用的,重做日志組會被覆蓋重做日志信息就會丟失。為了保存歷史以來的重做日志,數據庫可以運行在日志歸檔模式下(archivelog mode)。 在日志歸檔模式下,當日志組撤換到下一個組時後台進程 ARCn 將上一個日志文件復制到另一個地方(oracle 10g 使用快速恢復區會歸檔到該區)保存。數據庫默認為非歸檔模式(noarchivelog mode)。
設置ARCHIVELOG模式步驟:
1. 關閉數據庫,備份已有的數據,改變數據庫的運行方式是對數據庫的重要改動,所以要對數據庫做備份,對可能出現的問題作出保護。
2. 修改初試化參數: 使用 PFILE,修改初始化參數文件 init[SID].ora log_archive_start=true #啟動自動歸檔 log_archive_format=ARC%T%S.arc #歸檔文件格式 log_archive_dest=/arch12/arch #歸檔路徑
3. 啟動 Instance 到 Mount狀態,即加載數據庫但不打開數據庫:SQL > startup mount;
4. 發出修改命令SQL > alter database archivelog; SQL > alter database open;設置 NONARCHIVELOG模式步驟同上,只需修改相應參數值即可。
3.1.2 LOGGING 與 NOLOGGING
表空間、表、索引、分區可以設置為 NOLOGGING,用於快速裝入數據(Direct Load)。 在插入數據時只寫入最小的重做日志和回滾數據。在歸檔數據庫模式下,執行 Direct Load 操作後應立即進行備份,否則不能使用之前的備份進行恢復。另外,用戶可以設置數據庫的 強制日志模式,使用所有操作都記入日志。
LOGGING 與 NOLOGGING 的區別:
LOGGING NOLOGGING
所有的更改寫入 REDO 最小寫入 REDO LOG
從最近備份中完全恢復 不能從最近備份中完全恢復
不需要增加備份 需要增加備份