RMAN备份filesperset用法
用filesperset控制备份集的尺寸
当指定filesperset参数时,rman比较filesperset与自动计算出来的值(对每个已分配通道的文件数目)
并取其中较小的那个值来保证所有的通道被使用。
如果指定或者通过组合backupSpec语句暗示的文件数目比filesperset要大,
那么rman创建多个备份集来维护正确的速率(ratio);
如果没有指定filesperset,rman比较计算出来的值(文件数目除以已分配的通道)和默认值64,
并取其中较小的那个值来保证所有通道可用。
Rman通常尝试创建足够的备份集以使所有已分配的通道有事可做。
一个例外是通道比要备份的文件还要多
allocate channel 提供备份并发度,若平均文件数<filesperset则会按照 平均文件数/备份集 进行备份,若超过则按照filesperset的数量生成备份集;例如:
1、run {
allocate channel ch2 type disk;
allocate channel ch3 type disk;
backup datafile 3,4,5,6 filesperset 3;
release channel ch2;
release channel ch3;
}
平均数是 4(文件数)/2(channel数) = 2 ,小于filesperset 3,则生成2个备份集,每个备份集包含2个数据文件
2、run {
allocate channel ch2 type disk;
allocate channel ch3 type disk;
backup datafile 3,4,5,6 filesperset 1;
release channel ch2;
release channel ch3;
}
则生成4个备份集,每个包含一个数据文件
创建RMAN备份 恢复目录数据库
这是前段时间给客户做的RMAN备份策略,今天有时间整理出来,希望对大家有些帮助,如有不对的地方欢迎大家给予指点,谢谢!
1.创建恢复目录数据库
如果不是在本地配置RMAN恢复目录,
在一台WINDOW2000电脑上安装ORACLE数据库,最好保证数据库版本与目标数据库的版本想同。
建立RMAN 数据库用户及表空间:
RECOVER CATALOG 表空间(cattbs):1G
系统表空间: 100M
UNDO表空间: 100M
临时表空间(TEMP): 100M
用以下命令创建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/rman
file=rmanexp.dmp
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。