2008年(8065)
分类: 服务器与存储
2008-05-21 09:21:25
归档日志每天都要备份,我们已经叙述过正常情况下每周执行一次0级备份,因为这个备份天天都要发生,这一步我们执行我们的RMAN恢复目录维护,脚本叫做DBNAME_arc_only_disk.rcv。
代码清单8:
#************* Configure controls for Recovery Manager ************ #************* in case they have been changed ********************* configure controlfile autobackup on; configure controlfile autobackup format for device type disk to 'X:\rman\CFILE_%F.bks'; configure retention policy to recovery window of 34 days; #************* Perform nightly RMAN Archivelog Backup ************* backup archivelog all format 'X:\rman\ARC_%d_%U_%T_%s.bks'; #************* Maintenance Step to remove old Archivelogs ********* delete noprompt archivelog until time 'SYSDATE - 3'; #************* Maintenance Steps to clean Recovery Catalog ******** report obsolete device type disk; crosscheck backup completed before 'sysdate-34'; delete noprompt obsolete recovery window of 34 days device type disk; delete noprompt expired backup device type disk; #************* Show all controls configured for this ************** #************* Database in RMAN *********************************** show all; #************* List all RMAN disk backups ************************* list backup of database device type disk; |
最前面的两行命令配置RMAN自动备份控制文件和spfile,第一个命令开启它,因此运行备份命令时控制文件和spfile就被备份了;第二个命令告诉RMAN如何用指定的格式命名文件,在本例中,备份到磁盘上叫做‘X:\rman\CFILE_F%.bks’的文件;第三行告诉恢复目录目标数据库的备份保留34天;第四行才真正地执行备份,它告诉RMAN用指定的格式备份磁盘上的所有归档日志;接下来移除所有超过3天的旧归档日志,我们想在磁盘上保持归档日志3天;接下来我们就进入恢复目录维护小节了,目录维护非常重要,如果这些文件被删除维护步骤不能执行,那么恢复目录将不再包含关于备份的有效信息,紧接着报告备份作废,使磁盘满足我们的保留34天的策略,任何被认为是作废的旧的备份可以被删除,交叉检查命令将向你报告是否有文件丢失了,如果发现了丢失的文件,它们将被标记为过期的,接下来的两个删除命令从目录中移除作废的和过期的信息,记住,我们每7天从磁盘删除所有的RMAN备份文件,我们的保留策略设置为34天,因为我们的现场磁带保留策略也是这样,如果需要,我们可以在一个服务器上恢复RMAN文件到34天前,我们可以恢复文件到数据库吗?是的,我们可以!怎么做呢?因为我们有一个34天保留策略以及我们所有关于那些备份的RMAN信息都还在恢复目录中!下面的show all命令给出了我们在RMAN中配置参数,list命令显示了所有仍然保留在恢复目录中的磁盘备份。
提示:显然,恢复目录很重要所以它也需要备份,它也很容易恢复,如果你丢失了恢复目录而且处于紧要关头,你只需要导入恢复目录方案到任何数据库即可!你就得到一个新的恢复目录
。
这个脚本的批处理文件很简单,批处理文件叫做DBNAME_arc_only_disk.bat。
代码清单9:
set NLS_DATE_FORMAT=DD-MON-YYYY HH24:MI:SS set NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252 set CURDIR=D:\oracle\admin\common\backup cd %CURDIR% rman target ID/pword@DBname catalog rcatID/rcatpword@rcatname log=logs\ DBNAME_arc_only_disk.log @DBNAME_arc_only_disk.rcv page_on_backup.vbs DBNAME_arc_only_disk.log page_DBNAME_arc_only.log DBNAME |
最前面两行设置你的环境变量,第三和第四行用于任务计划,很重要,windows需要直接指定RMAN脚本的位置,因此设置好目录后将脚本移动到该目录中,接下来调用RMAN,需要登陆到target和catalog,在当前目录下的子目录logs中会生成一个单独的日志文件,然后调用清单9中的代码,如果出现任何错误哦,一个VB脚本会呼叫支持人员,如果没有错误就发送一封日志文件电子邮件