rman技術速查手冊(轉載)
1、配置catalog恢復目錄
create tablespace ts_rman datafile='d:oratestrman.dbf' size=100M;
create user rman identified by rman default tablespace ts_rman;
grant connect ,resource , RECOVERY_CATALOG_OWNER to rman;
連線到目標資料庫和CATALOG資料庫
rman target / catalog
建立CATALOG使用者的表
rman>create catalog
登記目標資料庫:
rman>register database
解除登記資料庫(在恢復目錄資料庫上執行)
SQL> select db_key,dbid from rc_database --查出dbid
SQL> execute dbms_rcvcat.unregisterdatabase(db_key, db_id);
刪除CATALOG使用者的表
rman>drop catalog;
2、rman備份方案
採用多級備份是為了減少了恢復所需要的時間和減少每天備份所需要的時間,而又保證系統有很好的恢復性。
以下是一種建議的方案:
每半年做一個資料庫的全備份(包含只讀表空間)
每個月做一次零級備份(不包含只讀表空間)
每個星期做一次一級備份
每天做一個二級備份
任何表空間改成只讀狀態後做一個該表空間的備份。
當需要時(如四個小時歸檔檔案系統就要接近滿了)備份歸檔檔案
資料庫全備份指令碼:
run {
allocate channel c1 type disk;
backup full tag 'dbfull' format '/mnt/raid/rman_bk/ora_o_%d_%t%s%p%u' database ;
sql 'alter system archive log current' ;
backup(archivelog all format '/mnt/raid/rman_bk/ora_a_%d_%t%s%p%u');
release channel c1;
}
零級備份指令碼(只讀表空間除外)
run {
allocate channel c1 type disk;
backup incremental level 0 filesperset 5 tag 'dbL0' format '/mnt/raid/rman_bk/ora_o_%d_%t%s%p%u' database skip readonly;
sql 'alter system archive log current' ;
backup(archivelog all format '/mnt/raid/rman_bk/ora_a_%d_%t%s%p%u');
release channel c1;
}
一級備份指令碼
run {
allocate channel c1 type disk;
backup incremental level 1 filesperset 5 tag 'dbL1' format '/mnt/raid/rman_bk/ora_o_%d_%t%s%p%u' database skip readonly;
sql 'alter system archive log current' ;
backup(archivelog all format '/mnt/raid/rman_bk/ora_a_%d_%t%s%p%u');
release channel c1;
}
二級備份指令碼
run {
allocate channel c1 type disk;
backup incremental level 2 filesperset 5 tag 'dbL2' format '/mnt/raid/rman_bk/ora_o_%d_%t%s%p%u' database skip readonly;
sql 'alter system archive log current' ;
backup(archivelog all format '/mnt/raid/rman_bk/ora_a_%d_%t%s%p%u');
release channel c1;
}
表空間備份指令碼(以users表空間為例)
run {
allocate channel c1 type disk;
backup tag 'tsusers' format '/mnt/raid/rman_bk/ora_o_%d_%t%s%p%u' tablespace users;
sql 'alter system archive log current' ;
backup(archivelog all format '/mnt/raid/rman_bk/ora_a_%d_%t%s%p%u');
release channel c1;
}
歸檔檔案備份指令碼
run {
allocate channel c1 type disk;
backup(archivelog all format '/mnt/raid/rman_bk/ora_a_%d_%t%s%p%u');
release channel c1;
}
則每天所需要備份的資料量只有一天的改變數。而做恢復時最多隻要恢復當月的一個零級備份+三個一級備份+6個二級備份+當天的歸檔檔案。
3、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;
restore tablespace users;
recover tablespace users;
sql 'alter database open';
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;
啟動資料庫:startup mount
恢復語句:
run{
allocate channel c1 type disk;
restore database;
recover database;
sql 'alter database open resetlogs';
release channel c1;
}
4、維護RMAN RMAN的維護主要分為幾個方面
a、 檢視RMAN的資訊
檢查現有備份
RMAN>list backup
列出過期備份
RMAN>report obsolete
刪除過期的備份
RMAN>allocate channel for maintenance type disk;
RMAN>change backupset id delete;
RMAN>release channel;
刪除所有過期的備份
RMAN>delete obsolete;
b、 同步或重置RMAN
如果目標資料庫物理物件發生了變化,如新增了一個資料檔案,需要用如下命令同步:
RMAN>resync catalog;
如果目標資料庫reset了資料庫,需要用如下命令同步
RMAN>reset database;
當手工刪除了資料庫的歸檔檔案後,要執行以下指令碼同步
RMAN>allocate channel for maintenance type disk;
RMAN> change archivelog all crosscheck;
RMAN>release channel;
當手工刪除了資料庫的RMAN備份後,要執行以下指令碼來同步
RMAN>allocate channel for maintenance type disk;
RMAN>crosscheck backup;
RMAN>delete expired backup;
RMAN>release channel;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/802415/viewspace-823031/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- rman技術速查手冊
- JS速查手冊JS
- WEB速查手冊Web
- IT公司速查手冊
- CMD 命令速查手冊
- HTML_速查手冊HTML
- 免費下載 |《Serverless 開發速查手冊》讓你速查秒懂 ServerlessServer
- java 詞彙錶速查手冊Java
- xhEditor技術手冊
- 資料庫命令速查手冊資料庫
- Turbolinux 各類技術文件和手冊(轉)Linux
- 預約下載 | 《Serverless 開發速查手冊》全新上線Server
- Git 常用命令速查手冊Git
- 細述:CSS常用資訊速查手冊CSS
- 《Linux命令速查手冊》筆記Linux筆記
- 轉載Oracle AWR速查Oracle
- 快速查詢對方IP技術總彙(轉)
- Git操作手冊|命令速查表Git
- rman duplicate操作手冊
- RMAN基本操作手冊
- linux核心命令列引數速查手冊Linux命令列
- PostgreSQL 速查、備忘手冊 | PostgreSQL Quick Find and TutorialSQLUI
- 2-如何檢視技術手冊
- RMAN故障解決——RMAN使用者手冊
- Redis常用命令與常用配置速查手冊Redis
- 腦動力PHP函式速查效率手冊pdfPHP函式
- Linux系統常用命令速查手冊Linux
- 微服務 2.0 技術棧選型手冊微服務
- 管理RMAN資料庫——RMAN使用者手冊資料庫
- RMAN使用者手冊總結
- Puppet監控速查手冊:問題/原因→解決方案
- Shell指令碼程式設計總結及速查手冊指令碼程式設計
- 查詢RMAN資料庫——RMAN使用者手冊資料庫
- 程式設計師技術進階手冊(一)程式設計師
- 技術預測法(轉載)
- 容器化-Docker-1-速查手冊-Docker常用命令Docker
- 使用RMAN執行維護操作——RMAN使用者手冊
- 使用RMAN建立STANDBY資料庫——RMAN使用者手冊資料庫