RMAN是Oracle官方提供的备份和恢复工具,在数据库备份和恢复方面有着很好的性能和稳定性。因此,Oracle管理员必须掌握RMAN备份和恢复技术。下面是分享两个常用的RMAN备份脚本。
1. RMAN全备份脚本
RMAN全备份脚本是备份整个数据库,包括数据文件、控制文件、归档日志。这个脚本要求在每次备份之前手动修改备份目录、备份标签和备份后是否自动清除过期备份等参数。
# RMAN全备份脚本
run {
allocate channel c1 device type disk;
allocate channel c2 device type disk;
backup as compressed backupset
filesperset 10
database include current controlfile
tag full_backup
format '/backup/full_backup_%d_%s_%t.bak';
delete noprompt obsolete;
}
说明:
- allocate channel:指定备份设备类型,例如disk、tape等。
- backup as:备份的方式,这里使用压缩备份集备份,并规定每10个数据文件打包成1个备份集。
- database include:备份的对象,包括当前正在使用的控制文件,这里是备份整个数据库。
- tag:备份标签,方便以后查找和恢复特定标签的备份。
- format:备份文件的存放位置和文件名格式。这里规定备份文件格式为/full_backup_%d_%s_%t.bak。
- delete noprompt obsolete:删除过期备份。
2. RMAN增量备份脚本
RMAN增量备份脚本备份新增或修改的数据,并标记备份为增量备份。这个脚本同样要求在每次备份之前手动修改备份目录、备份标签和备份后是否自动清除过期备份等参数。
# RMAN增量备份脚本
run {
allocate channel c1 device type disk;
allocate channel c2 device type disk;
backup as compressed backupset
incremental level=1
filesperset 10
database include current controlfile
tag incr_backup
format '/backup/incr_backup_%d_%s_%t.bak';
delete noprompt obsolete;
}
说明:
- increment level:指定备份级别,这里是增量备份一级。
- format:备份文件的存放位置和文件名格式。这里规定备份文件格式为incr_backup_%d_%s_%t.bak。
- delete noprompt obsolete:删除过期备份。
示例1:执行全备份脚本
RMAN> @/backup/scripts/full_backup.rman
示例2:执行增量备份脚本
RMAN> @/backup/scripts/incr_backup.rman
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:rman备份脚本和rman增量备份脚本分享 - Python技术站