2008年(8065)
分类: 服务器与存储
2008-05-21 09:20:29
这一步通常每周执行一次,我们有一些更大、更活动的数据库创建的数量巨大的归档日志,在恢复或克隆时,恢复数据库的时间将很长,在这些情况下,我们在一周内将不止执行一次0级备份,在0级RMAN备份中,我们执行非恢复目录维护,脚本叫做DBname_lvl_0_disk.rcv。
代码清单3:
#************* 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 channel 1 device type disk format 'X:\rman\BACKUPPIECE_%d _%U_%T_%s.bks' maxpiecesize 2048M; configure retention policy to recovery window of 34 days; #************* Perform weekly RMAN level 0 Database Backup *************** backup as compressed backupset incremental level = 0 database; #************* Confirm level 0 Backup is valid *************************** restore database check logical validate; |
第一个命令配置RMAN让控制文件和spfile自动备份,第二个命令指定RMAN用一种特定的格式给文件命名,本例中,备份到磁盘上的文件叫做“X:\rman\CFILE_F%.bks”,第三个命令创建一个磁盘通道并命名为“1”,命名备份片“X:\rman\BACKUPPICE_%d_%U_%T_%s.bks”以及任何一个备份片的大小不能超过2GB,第四个命令告诉恢复目录目标数据库的备份应该保留34天,第五个命令才是真正的执行备份,它告诉RMAN创建一个压缩的备份集,它真正可以容纳更多的备份片,它还指定了仅对数据库执行一个完整备份,没有备份归档日志,因为存储是最主要的问题,压缩备份对节省空间真正的有帮助,我们发现这是RMAN最有用的特性之一,最后一行的命令执行已经完成的备份检查,它读取备份文件并确认它们没有被破坏,我强烈建议不要跳过这一步,没有什么比在需要恢复一个数据库时发现一个或更多的文件不可用更糟糕的了。
提示:只有当备份文件确认有效后你才可以使用它们,是的,事情就是这样!我已经试过多次在备份完成后但检查确认未完成之前的实验了。
我使用一个Windows批处理文件调用RMAN 0级备份脚本,这个批处理文件叫做DBname_lvl_0_disk.bat。
代码清单4:
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_lvl_0_disk.log @DBname_lvl_0_disk.rcv page_on_backup.vbs DBname_level_0_disk.log page_DBname_level_0.log Dbname |
最前面两行设置操作系统的环境变量,我们更喜欢详细一点的日期掩码,05-DEC-2007 23:59:59"比"05-DEC-2007"好,日期格式在恢复过程中变得更重要了,设置NLS_LANG变量,移除所有数据库正在使用的字符设置疑惑,第三和第四行对于使用计划任务而言是很重要的,Windows需要直接指定RMAN脚本的位置,因此设置好目录并将脚本移动到那里,接下来,才真正的调用RMAN,需要同时登陆到target和catalog,在当前目录下一个独立的叫做“logs”的子目录下创建一个日志文件,以及调用列表4中的脚本代码,如果出现任何错误,一个VB脚本被调用呼叫支持人员,如果不出现错误,那么只会发送一封日志文件的电子邮件,在第9小节会有更多细节信息。