rman技術速查手冊
一、備份方案:
採用多級備份是為了減少了恢復所需要的時間和減少每天備份所需要的時間,而又保證系統有很好的恢復性。
以下是一種建議的方案:
每半年做一個資料庫的全備份(包含只讀表空間)
每個月做一次零級備份(不包含只讀表空間)
每個星期做一次一級備份
每天做一個二級備份
任何表空間改成只讀狀態後做一個該表空間的備份。
當需要時(如四個小時歸檔檔案系統就要接近滿了)備份歸檔檔案
1、資料庫全備份指令碼:
run {
allocate channel c1 type disk;
backup full tag 'dbfull' format '/opt/backup/full_%d_%u' (database include current controlfile);
sql 'alter system archive log current' ;
backup format '/opt/backup/archivelog_%d_%u' (archivelog all);
release channel c1;
}
2、零級備份:
run {
allocate channel c1 type disk;
backup incremental level 0 filesperset 5 tag 'dbL0' format '/opt/backup/ora_0_%d_%u' (database include current controlfile);
sql 'alter system archive log current' ;
backup format '/opt/backup/archivelog_%d_%u' (archivelog all);
release channel c1;
}
3、一級備份:
run {
allocate channel c1 type disk;
backup incremental level 1 filesperset 5 tag 'dbL1' format '/opt/backup/ora_0_%d_%u' (database include current controlfile);
sql 'alter system archive log current' ;
backup format '/opt/backup/archivelog_%d_%u' (archivelog all);
release channel c1;
}
4、二級備份:
run {
allocate channel c1 type disk;
backup incremental level 2 filesperset 5 tag 'dbL2' format '/opt/backup/ora_0_%d_%u' (database include current controlfile);
sql 'alter system archive log current' ;
backup format '/opt/backup/archivelog_%d_%u' (archivelog all);
release channel c1;
}
5、表空間備份指令碼(以users表空間為例):
run {
allocate channel c1 type disk;
backup tag 'tsusers' format '/opt/backup/ora_0_%d_%u' tablespace users;
sql 'alter system archive log current' ;
backup format '/opt/backup/archivelog_%d_%u' (archivelog all);
release channel c1;
}
6、歸檔檔案備份指令碼:
run {
allocate channel c1 type disk;
backup format '/opt/backup/archivelog_%d_%u' (archivelog all);
release channel c1;
}
二、RMAN恢復案例
1 、丟失全部資料檔案,控制檔案、日誌檔案必須存在
模擬介質損壞:刪除所有dbf檔案
啟動資料庫:startup mount
恢復語句:
run{
allocate channel c1 type disk;
restore database;
recover database;
sql 'alter database open';
release channel c1;
}
注意:Oracle永遠不會備份使用臨時檔案的TEMPORARY表空間,因為臨時表空間包含的只是暫時
性的資料,根本不必還原。不過在還原後資料字典中還是有臨時表空間的相關資訊,你只要
簡單的重建一個臨時表空間,設定其為預設臨時表空間,再把以前的臨時表空間刪除即可。
SQL> create temporary tablespace temp2 tempfile 'd:oracleoradataoradbtemp02.dbf' size 100M;
SQL> alter database default temporary tablespace temp2;
SQL> drop tablespace temp including contents and datafiles;
2、丟失非系統資料檔案恢復
模擬介質損壞:刪除users01.dbf檔案
啟動資料庫:startup mount
恢復語句:
run {
allocate channel c1 type disk;
sql 'alter tablespace users offline';
restore tablespace users;
recover tablespace users;
sql 'alter tablespace users online';
release channel c1;
}
3、 丟失全部資料檔案、控制檔案、日誌檔案恢復
注意:在備份時配置了configure controlfile autobackup on;
[oracle@Linux1 rman_backup]$ rman target /
RMAN> set DBID=285819149
RMAN> restore controlfile from autobackup(也可以:restore controlfile from ‘file name’ );
啟動資料庫:startup mount
恢復語句:
run{
allocate channel c1 type disk;
restore database;
recover database;
sql 'alter database open resetlogs';
release channel c1;
}
4、不完全恢復
A、基於時間點的不完全恢復:
sql'ALTER DATABASE OPEN RESESTLOGS';
1、 檢視RMAN的資訊
檢查現有備份
RMAN>list backup
列出過期備份
RMAN>report obsolete
刪除過期的備份
RMAN>change backupset id delete;
刪除所有過期的備份
RMAN>delete obsolete;
2、 同步或重置RMAN
如果目標資料庫物理物件發生了變化,如新增了一個資料檔案,需要用如下命令同步:
RMAN>resync catalog;
如果目標資料庫reset了資料庫,需要用如下命令同步
RMAN>reset database;
當手工刪除了資料庫的歸檔檔案後,要執行以下指令碼同步
RMAN>crosscheck archivelog all ;
RMAN>delete expired archivelog all;
當手工刪除了資料庫的RMAN備份後,要執行以下指令碼來同步
RMAN>crosscheck backup;
RMAN>delete expired backup;
本文轉自:垃圾廣告.com/blog/138556
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90618/viewspace-622832/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- rman技術速查手冊(轉載)
- JS速查手冊JS
- WEB速查手冊Web
- IT公司速查手冊
- CMD 命令速查手冊
- HTML_速查手冊HTML
- java 詞彙錶速查手冊Java
- xhEditor技術手冊
- 資料庫命令速查手冊資料庫
- Git 常用命令速查手冊Git
- 細述:CSS常用資訊速查手冊CSS
- 《Linux命令速查手冊》筆記Linux筆記
- Git操作手冊|命令速查表Git
- rman duplicate操作手冊
- RMAN基本操作手冊
- linux核心命令列引數速查手冊Linux命令列
- PostgreSQL 速查、備忘手冊 | PostgreSQL Quick Find and TutorialSQLUI
- 2-如何檢視技術手冊
- 免費下載 |《Serverless 開發速查手冊》讓你速查秒懂 ServerlessServer
- RMAN故障解決——RMAN使用者手冊
- Redis常用命令與常用配置速查手冊Redis
- 腦動力PHP函式速查效率手冊pdfPHP函式
- Linux系統常用命令速查手冊Linux
- 微服務 2.0 技術棧選型手冊微服務
- 管理RMAN資料庫——RMAN使用者手冊資料庫
- RMAN使用者手冊總結
- Puppet監控速查手冊:問題/原因→解決方案
- Shell指令碼程式設計總結及速查手冊指令碼程式設計
- 查詢RMAN資料庫——RMAN使用者手冊資料庫
- 程式設計師技術進階手冊(一)程式設計師
- Turbolinux 各類技術文件和手冊(轉)Linux
- 容器化-Docker-1-速查手冊-Docker常用命令Docker
- 預約下載 | 《Serverless 開發速查手冊》全新上線Server
- 使用RMAN執行維護操作——RMAN使用者手冊
- 使用RMAN建立STANDBY資料庫——RMAN使用者手冊資料庫
- ARM系列處理器應用技術完全手冊
- git參考手冊--文字說明+git速查命令表(圖片)Git
- 程式設計師必備:技術面試準備手冊程式設計師面試