RMAN備份databse、tablespaces、datafiles、control files、archive logs,經常的工作做成腳本,可執行塊級別block-level增量備份,跳過unused blocks,指定備份limits(數據庫邊工作邊備份),備份時檢測損壞的block,通過自動併發parallelization、減少redo、限制I/O、tape streaming磁帶流來增加備份性能
RMAN體系結構
target database目標數據庫,要備份的數據庫,RMAN通過網絡鏈接連上去
備份信息、腳本存儲在目標數據庫控制文件裏或recovery catalog目錄數據庫
channel通道就是一個鏈接,RMAN連上去進行備份,可以分配任意個鏈接,會有server process和RMAN連接
有的server process讀數據寫到disk,有的寫到tape
還有2個 polling鏈接 備用 default鏈接 缺省 和目錄數據庫有rcvcat鏈接
RMAN也能集成在OEM上
rman target sys/oracle@orcl nocatalog
orcl在tnsnames.ora中設置,缺省在$ORACLE_HOME/network/admin
nocatalog不使用目錄數據庫
RMAN repository倉庫有2個,一個是目標數據庫,一個是目錄數據庫。元數據會始終記錄在目標數據庫control file
control_file_record_keep_time決定記錄被覆蓋前在控制文件最小保存天數,如果沒到時間,有新數據要用,控制文件會grow in size
SBT:System Back to Tape往磁帶上進行系統備份,把數據寫到磁帶上
channel分兩種:自動分配、手動分配
自動分配channel使用configure進行配置
連上查看配置信息,從連接數據庫control file讀取
修改缺省設備類型爲tape
清除變成缺省值
RMAN>configure default device type to sbt;配置缺省設備類型,自動分配通道,隱式的看不到
RMAN>configure device type disk parallelism 3; 指定併發度3參數
RMAN>configure channel device type disk 指定目錄,格式
2>format = ‘/backup/rman/%u’;
RMAN>configure channel device type disk
2>maxpiecesize 2G;
RMAN>configure retention policy to recovery 指定恢復窗口
2>window of 7 days;
RMAN>configure retention policy to redundancy 2 冗餘爲2
RMAN>configure controlfile autobackup on;
手動分配channel, backup、copy、restore命令至少需要一個channel,RMAN連上來server process與之對應,相當於dedicated server模式,能指定併發度,寫到不同media介質上,設置讀寫速度,避免對系統造成衝擊
RMAN>run {
2>allocate channel c1 type disk 分配c1 channel進行備份
3> format = ‘/db01/backup/user0520.bak’;
4>backup datafile ‘/db01/ORADATA/users01.dbf’;} 備份指令
RMAN>run {
backup
incremental level 0
format ‘/u01/db01/backup/%d_%s_%p’
fileperset 5
(database include current controlfile);
sql ‘alter database archive log current’;
}
介質管理 磁帶庫、光盤塔等存儲設備要支持RMAN,配置好*.iso/*.dio動態庫,RMAN、oracle就能操縱存儲設備了
RMAN connection類型
target db
recovery catalog db 備份很多數據庫,易於維護
auxiliary輔助 db:standby db、duplicate複製 db、TSPITR instance(TableSpace Point In Time
Recovery表空間時間點恢復)
rman target / as sysdba 連接到本地
rman target / nocatalog
log 寫RMAN輸出結果追加到log裏
@ 執行命令腳本
inactive mode 分析時多用analysis
batch mode自動工作
使用here document參考 http://zh.wikipedia.org/wiki/Here_document
一個簡單的腳本 vi rman.sh
#!/bin/bash
rman target sys/oracle@orcl nocatalog <<!
show all;
exit;
!
sh rman.sh 執行
RMAN常用命令
RMAN>report schema; target db表空間情況
RMAN>list backup of database;
RMAN>list backup of datafile “/db01/ORADATA/u03/users01.dbf”;
RMAN>list copy of tablespace “system”;
RMAN>list backup of tablespace “SYSTEM”;
RMAN>report need backup increamental 3; 增量備份
RMAN>report need backup days 3;
RMAN>report need backup redundancy 2;
RMAN>report need backup recovery window of 3 days;
RMAN佔用很多資源、內存,使用show parameter process命令查看,必要時使用alter system set 。。 scope=spfile;分配合適資源
連接需要sysdba權限,OS能訪問存儲設備,remote操作設置口令文件,確保口令文件備份了