RMAN備份filesperset用法

RMAN備份filesperset用法sql

用filesperset控制備份集的尺寸
當指定filesperset參數時,rman比較filesperset與自動計算出來的值(對每一個已分配通道的文件數目)
並取其中較小的那個值來保證全部的通道被使用。
若是指定或者經過組合backupSpec語句暗示的文件數目比filesperset要大,
那麼rman建立多個備份集來維護正確的速率(ratio);
若是沒有指定filesperset,rman比較計算出來的值(文件數目除以已分配的通道)和默認值64,
並取其中較小的那個值來保證全部通道可用。
Rman一般嘗試建立足夠的備份集以使全部已分配的通道有事可作。
一個例外是通道比要備份的文件還要多數據庫

allocate channel 提供備份併發度,若平均文件數<filesperset則會按照 平均文件數/備份集 進行備份,若超過則按照filesperset的數量生成備份集;例如:
一、run {
allocate channel ch1 type disk;
allocate channel ch2 type disk;
backup datafile 3,4,5,6 filesperset 3;
release channel ch1;
release channel ch2;
}
平均數是 4(文件數)/2(channel數) = 2 ,小於filesperset 3,則生成2個備份集,每一個備份集包含2個數據文件併發

二、run {
allocate channel ch1 type disk;
allocate channel ch2 type disk;
backup datafile 3,4,5,6 filesperset 1;
release channel ch1;
release channel ch2;
}
則生成4個備份集,每一個包含一個數據文件ide

建立RMAN備份 恢復目錄數據庫
這是前段時間給客戶作的RMAN備份策略,今天有時間整理出來,但願對你們有些幫助,若有不對的地方歡迎你們給予指點,謝謝!spa

1.建立恢復目錄數據庫orm

若是不是在本地配置RMAN恢復目錄,ip

在一臺WINDOW2000電腦上安裝ORACLE數據庫,最好保證數據庫版本與目標數據庫的版本想同。rem

創建RMAN 數據庫用戶及表空間:get

RECOVER CATALOG 表空間(cattbs):1G
系統表空間: 100M
UNDO表空間: 100M
臨時表空間(TEMP): 100Minput

用如下命令建立RMAN 用戶並授予權限:
create user rman identified rman default tablespace cattbs temporary tablespace temp;

授予權限:
Grant connect, resource to rman;
Grant recovery_catalog_owner to rman

建立恢復目錄:

進入RMN 若是恢復目錄與目標數據庫不在同一臺機子上,用如下:

Rman catalog rman/rman@192.168.100.144.

Rman> create catalog

C:/rman target sys/a123456@192.168.100.2 catalog rman /rman
Rman> register database;

若是想從新註冊,查詢數 據字典DB 獲得DB_KEY與DB_ID 執行DBMS_RCVAT.UNREGISTERDATABASE 命令取消註冊。從新註冊。

Sql> conn rman/rman

Sql> select * from db;

Sql> exec dbms_rcvcat.unregisterdatabase(DB_KEY,DB_ID);

Rman> resync catalog;

每半年作一個數據庫的全備份(包含只讀表空間)
每月作一次零級備份(不包含只讀表空間)
每一個星期作一次一級備份
天天作一個二級備份

數據庫全備份腳本:
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup full tag 'dbfull' format '/backup/ncfc/full%d%p%t' database ;
sql 'alter system archive log current' ;
backup format /backup/ncfc/dbL0/dbL0%d%p%t.arc' filesperset 5 archivelog all delete input;
release channel c1;
release channel c2;
release channel c3;
}

零級備份腳本(只讀表空間除外)
run {
allocate channel c1 type disk maxpiecesize =20G;
allocate channel c2 type disk maxpiecesize =20G;
allocate channel c3 type disk maxpiecesize =20G;
backup incremental level 0 filesperset 10 tag 'dbL0' format '/backup/ncfc/dbL0/dbL0%u%p%c ' database skip readonly;
sql 'alter system archive log current' ;
backup format '/backup/ncfc/dbL0/arch%u%p%c.arc' filesperset 5 archivelog from time "sysdate-1" all;
release channel c1;
release channel c2;
release channel c3;
}

一級備份腳本
run {
allocate channel c1 type disk maxpiecesize =20G;
allocate channel c2 type disk maxpiecesize =20G;
allocate channel c3 type disk maxpiecesize =20G;
backup incremental level 1 filesperset 5 tag 'dbL1' format '/backup/ncfc/dbL1/dbL1%d%p%t ' ddatabase skip readonly;
sql 'alter system archive log current' ;
backup format '/backup/ncfc/dbL1/dbL1%d%p%t.arc' filesperset 5 archivelog from time "sysdate-1" all;
release channel c1;
release channel c2;
release channel c3;
}

二級備份腳本
run {
allocate channel c1 type disk maxpiecesize =20G;
allocate channel c2 type disk maxpiecesize =20G;
allocate channel c3 type disk maxpiecesize =20G;
backup incremental level 2 filesperset 5 tag 'dbL2' format '/backup/ncfc/dbL2/dbL2%u%p%c' ddatabase skip readonly;
sql 'alter system archive log current' ;
backup format '/backup/ncfc/dbL2/dbL2%d%p%t.arc' filesperset 5 archivelog from time "sysdate-1" all;
release channel c1;
release channel c2;
release channel c3;
}

歸檔文件備份腳本
run {
allocate channel dev1 type disk maxpiecesize =20G;
allocate channel dev2 type disk maxpiecesize =20G;
allocate channel dev3 type disk maxpiecesize =20G;
sql 'alter system archive log current' ;
backup format '/backup/ncfc/arc/arch%u%p%c ' archivelog from time "sysdate-1" all;
release channel dev1;
release channel dev2;
release channel dev3;
}

表空間備份腳本(以users表空間爲例)
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup tag 'tabsp' format '/backup/ncfc/tabsp/tabsp%u%p%c' tablespace users;
sql 'alter system archive log current' ;
backup format 'e:\oradata\%d%p%t.arc' filesperset 5 archivelog all delete input;
release channel c1;
release channel c2;
release channel c3;
}

則天天所須要備份的數據量只有一天的改變量。而作恢復時最多隻要恢復當月的一個零級備份+三個一級備份+6個二級備份+當天的歸檔文件。若是不能接受這樣的恢復時間,就只可以減小零級備份之間的時間間隔(如能夠每一個星期作一個零級備份,這樣恢復時最多隻須要恢復一個星期的數據量)。

備份CATALOG數據庫(數據庫邏輯輸出)exp pafile=exp.dat其中exp.dat以下userid=rman/rmanfile=rmanexp.dmp

相關文章
相關標籤/搜索