共計 4337 個字符,預計需要花費 11 分鐘才能閱讀完成。
這篇文章主要為大家展示了“oracle RMAN 怎么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓丸趣 TV 小編帶領大家一起研究并學習一下“oracle RMAN 怎么用”這篇文章吧。
1.RMAN 環境簡介
1)RMAN 是對數據庫進行備份和恢復操作并自動管理相關備份策略的客戶端工具。
2)RMAN 環境至少包括兩部分:
目標數據庫(target database):即需要進行備份和恢復的數據庫,在 RMAN 命令行下通過 target 命令指定;
RMAN 客戶端:默認存放于 $ORACLE_HOME/bin 目錄下的可執行程序,用于執行 RMAN 命令進行數據庫備份和恢復操作。
在某些情況下,RMAN 環境還可能包括:
快速恢復區(fast recovery area):用于存放和管理備份恢復相關文件的地方,可通過 DB_RECOVERY_FILE_DEST 和 DB_RECOVERY_FILE_DEST_SIZE 設置。
介質管理器:RMAN 與介質設備打交道所需要的應用程序;
恢復目錄(recovery catalog):單獨的數據庫方案,用于存儲其管理的多個目標數據庫的元數據。
2. 啟動 RMAN 并連接到目標數據庫
1)使用 RMAN 連接到數據庫時,默認使用 SYSDBA 角色登陸。
2)RMAN 連接語法
3. 查看當前 RMAN 配置
1)通過 show all;命令,可以查看當前的配置。
4. 備份數據庫
1)通過 backup 命令備份數據庫,默認情況下將備份文件放到快速恢復區中,若要備份到其他路徑,需要設置 FORMAT 參數。
2)RMAN 默認備份類型為備份集而非鏡像。可通過輸入 BACKUP AS COPY 來備份鏡像文件。
5. 在歸檔模式備份數據庫
1)若數據庫開啟歸檔,則數據庫支持 open 狀態進行 RMAN 備份,但此時的備份為非一致性備份,即在恢復時,需要使用到歸檔 redo 日志,才能使數據庫恢復到一致性狀態。
2)backup database plus archivelog;
6. 在非歸檔模式下進行 RMAN 備份
1)在非歸檔模式下的數據庫,只能進行一致性備份,備份前需要將數據庫一致性關閉后,打開到 mount 狀態,再進行備份。
2)shutdown immediate;
backup database
7. 常用典型備份選項
1)FORMAT:指定備份片段的存放路徑和命名規則。
BACKUP FORMAT /u01/app/oracle/oradata/enmo1/AL_%d/%t/%s/%p ARCHIVELOG LIKE %arc_dest%
其中:%U 獲得系統分配的一個唯一名;%d 為 DB_NAME;%t 備份設置的時間戳;%s 為備份設置的編號;%p 為備份片段編號。
2)TAG:給備份片段指定一個標簽,若不指定,則系統自動生成一個隨機唯一標簽。標簽在備份原數據中總是以大寫方式存儲。
BACKUP TAG weekly_full_db_bkup DATABASE MAXSETSIZE 10M;
8. 創建增量備份
1)增量備份分為累計增量備份(cumulative incremental backup)和差異增量備份(differential incremental backup)。oracle 默認類型為差異增量備份。
2)差異增量備份和累積增量備份的差別:
差異增量備份:每次備份至上一次備份級別小于等于當前級別的備份。
累積增量備份:每次備份至上一次小于當前級別的備份。
3)增量備份需要先進行一次 0 級備份,作為備份的起點。
4)oracle 建議備份的級別只限于 0 級和 1 級,方便備份管理。
5)增量備份例子:
backup incremental level 0 database;—- 0 級增量備份,作為增量備份策略的基礎
backup incremental level 1 cumulative database;—- 1 級累積增量備份
backup incremental level 1 database;—- 1 級差異增量備份
9. 創建增量更新備份
1)RMAN 支持增量更新備份,但是該特性需要以下前提條件:
第一,需要 0 級數據文件鏡像作為基礎,并且這些鏡像需要一個系統定義或者個人定義的標簽。
第二,定期備份期間,1 級差異增量備份的標簽需要和 0 級數據文件鏡像的標簽一致。通過 BACKUP FOR RECOVER OF COPY 命令可以指定一個只備份從上一個相同標簽的備份以來發生數據塊改變的增量備份。
第三,定期備份期間,增量備份被應用到 0 級鏡像上,由于數據文件鏡像已經被增量備份更新過,這樣在介質恢復時,所需要的工作量將大大減少。
2)命令例子:
backup incremental level 0 for recover of copy tag test database; —- 使用 tag 標記數據文件鏡像作為備份策略基礎
recover copy of database with tag test —- 增量更新備份
10. 檢查數據庫文件和備份的有效性
1)有效性包括:數據文件是否存在于正確的路徑下,并且是否存在物理塊損壞。通過 CHECK LOGICAL 命令,還可以檢查是否存在邏輯塊損壞。
2)在備份時,對數據文件和歸檔日志文件進行檢查:BACKUP VALIDATE CHECK LOGICAL DATABASE ARCHIVELOG ALL;
3)支持對數據文件中的數據庫進行檢查:VALIDATE DATAFILE 4 BLOCK 10 TO 30;
4)支持對數據庫備份集進行驗證:VALIDATE BACKUPSET 3;
11. 使用腳本文件來執行 RMAN 任務
1)RMAN 支持所有格式的文件
2) 腳本文件的引用可以通過 RMAN @/my_dir/test.txt 或者登陸 RMAN 后通過 @/my_dir/test.txt 引用。
12. 使用 list 列出 RMAN 備份信息
1)list backup of database by backup;
list backup by file;
list backup summary;
list expired backupset/copy;
list backup recoverable;
13. 使用 REPORT 列出 RMAN 備份信息
REPORT NEED BACKUP DATABASE;– 列出當前需要備份的數據文件
REPORT OBSOLETE;
REPORT SCHEMA;
REPORT UNRECOVERABLE;
14. 維護 RMAN 備份
1)CROSSCHECK:該命令將同步數據庫備份和鏡像在實際存儲上的位置和資源庫中的邏輯記錄,如果備份文件在磁盤存在,CROSSCHECK 會檢查文件頭部是否有效。一般在刪除備份之前,需要進行 CROSSCHECK 檢查。
2)例子:CROSSCHECK BACKUP ; CROSSCHECK COPY;
15. 刪除超時的備份
1)DELETE 命令將會刪除磁盤或者磁帶上的備份文件,并且更新控制文件中的狀態為“已刪除”或者刪除備份目錄(backup catalog)中的記錄。
2)DELETE OBSOLETE;
16. 使用數據恢復建議器(data recovery advisor)進行失敗診斷和修復
1)列出當前失敗并確定修復選項:oracle 中失敗是指被 Health Monitor 監測到的數據損壞,例如邏輯或物理的數據塊損壞、數據文件丟失等。監測到的失敗有不同的優先級(CRITICAL、HIGHT 和 LOW),還有狀態(OPEN 和 CLOSED)。
2)通過 LIST FAILURE 可以查看當前監測到的失敗,若在同一會話中執行 ADVISE FAILURE 命令,數據庫會列出手工和自動的修復選項以供選擇。
3)一般首先通過手工修復方式來進行修復,若手工修復不成功,再進行自動修復。
17. 使用閃回數據庫技術
1)想使用閃回數據庫技術,需要先開啟閃回日志功能。(閃回日志只能存放在快速恢復區中,并且不會進行歸檔)
2)閃回數據庫不能用于介質恢復和修復數據文件的丟失。
3)閃回數據庫需要在 mount 狀態下進行。
4)命令:
shutdown immediate ;—- 調整至 mount 狀態
startup mount;
flashback database to scn 1526845;—- 閃回到過去的某時刻
flashback database to restore point before_points;
flashback database to timestamp to_date(20140510 , yyyymmdd
alter database read only;—- 將數據庫置為只讀狀態,進行驗證
shutdown immediate;—- 若閃回后滿足要求,啟動數據庫
startup mount;
alter database open resetlogs;
18. 還原和恢復數據庫文件
1)還原是指從所有的備份或鏡像文件中找到一個用于恢復操作的數據文件。
2)恢復是指在還原的數據文件上應用 redo 日志或增量備份中記錄的變化,使得數據文件向前滾到一個 SCN 值或者一個時間點。
3)在對數據庫進行還原恢復操作時,可以先進行預覽:restore database preview summary;
4)恢復整個數據庫:
startup force mount;—- 將數據庫至于 mount 狀態
restore database;—- 還原數據庫
recover database;—- 恢復數據庫
alter database open;
5)恢復表空間:當數據庫處于打開狀態,可以通過 restore tablespace 和 recover tablespace 來進行表空間級的還原和恢復。在對表空間進行還原和恢復時,需要將表空間涉及到的數據文件置為離線,恢復完成后,再設為在線。
alter tablespace users offline;
alter tablespace users online;
6)對數據塊進行恢復
RMAN 工具在進行備份時,會將備份過程中檢測到的壞塊記錄到 V$DATABASE_BLOCK_CORRUPTION 視圖中;
在備份過程中,壞塊還會記錄在告警日志和 TRACE 文件中,可以通過 V$DIAG_INFO 查看這些文件的位置,找到相關文件進行壞塊查看。
使用 RMAN 進行壞塊恢復
recover corruption list;—- 修復所有的壞塊
recover datafile 1 block 33, 44 datafile 2 blocke 1 to 200;
以上是“oracle RMAN 怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道!