1.归档备份的目的
可以使用BACKUP … KEEP来创建一个包含所有的(all-inclusive)和不受备份保留策略约束的备份。
备份是包含所有的,因为每个需要还原和恢复数据库的文件都备份到一个单一的磁盘或磁带位置。KEEP选项也指定备份永远或指定的时期内不受保留策略约束。使用BACKUP … KEEP创建的备份的通用名称是归档备份。
备份和恢复策略的一个目的是保存数据。可以使用BACKUP … KEEP保留一个数据库备份比保留策略规定的时间更长。例如,可以在每年的第一天备份数据库来满足监管要求和在站外存储介质。在做归档备份的多年之后,可以还原和恢复它来查询备份时记载的数据。
归档备份的另外一个目的是创建一个想用来还原做测试目的和然后删除它的备份。例如,可以备份数据库,在测试环境中还原数据库,然后在测试数据库可以操作之后丢弃归档备份。一个相关的目的是创建一个自包含的(self-contained)备份,在将它传输到其它用户或主机之后可以删除它。例如,其它用户可能想使用数据库的拷贝来生成报告或测试。
2.归档备份的基本概念
可以使用BACKUP命令的KEEP选项来免除保留策略对备份的影响。
可以使用CHANGE命令的KEEP和NOKEEP选项来更改存在的备份的状态。具有KEEP属性的备份是有效的备份,可以像任何其它备份一样恢复。
可以使用KEEP UNTIL TIME子语句为归档备份指定一个终止日期,或指定备份FOREVER保留。如果指定NULL,那么当UNTIL时间过去后,RMAN标记备份为过期的,不管任何配置的保留策略。例如,如果指定KEEP UNTIL TIME ’01-JAN-13’,那么当2013-01-01午夜之后的一秒时备份是过期的。如果指定UNTIL TIME是9:00 p.m,那么备份在9:01 p.m过期。
当在命令BACKUP中指定KEEP,RMAN产生多个备份集。注意BACKUP … KEEP命令以下的特点:
1) 它自动备份数据文件,控制文件(即使控制文件自动备份被禁用)和spfile。
2) 它自动产生归档redo日志备份来确保数据库备份可以恢复到一致的状态。
3) 如果FORMAT,POOL或TAG参数被指定,那么它们为所有备份所用。因为这个原因,FORMAT字符串必须允许多个备份片的创建。指定%U替换变量是最容易满足这个要求的方式。
4) 它支持可选的RESTORE POINT子语句来创建一个正常的还原点,它是一个备份必须恢复到的一致性状态的SCN的标签,。SCN是在数据文件备份刚刚完成之后捕获的。RMAN与恢复目录重新同步还原点,当备份存在时维护还原点。
3.为长期存储做归档备份
通常,做归档备份到磁带。因为数据保护备份很可能在一组仍然可访问和可循环使用的磁带上,为归档备份保留一组磁带是很明智的。
可以写归档备份到这组特定的磁带上,然后将它们存放在异地存储。可以通过创建动态更新的存储脚本或shell脚本来为创建归档备份改变步骤。当运行这个脚本,可以动态设置还原点的名称,备份格式,等等。
使用BACKUP命令和KEEP选项来做归档备份。
以下场景做一个备份标签是QUARTERLY长期的归档备份,将它分配给一个特定的为长期存储保留的Oracle Secure Backup磁带家族。注意示例的以下特性:
1)FOREVER关键字预示备份永不会符合备份保留策略规定的删除条件。
2)BACKUP命令创建名称为FY06Q4的还原点来匹配备份是一致的点的SCN。
创建一个长期的归档备份:
1) 启动RMAN,连接到目标数据库和恢复目录。
目标数据为呵以是打开或挂载状态。KEEP FOREVER要求使用恢复目录,但其它任何KEEP选项不要求。
2) 支持BACKUP … KEEP来做备份。
以下示例产生数据文件和归档日志备份和创建正常的还原点。指定的还原点必须还不存在。
日志备份只包含那些需要用来还原这个备份到一致状态的归档日志。数据库执行在线redo日志切换来归档在当前在线日志中的redo,这是必要的以让这个新的备份一致。控制文件自动备份有还原点的一个拷贝,因此控制文件一旦还原就可以用来参考。
RUN
{
ALLOCATE CHANNEL c1 DEVICE TYPE sbt
PARMS ‘ENV=(OB_MEDIA_FAMILY=archival_backup)’;
BACKUP DATABASE
TAG quarterly
KEEP FOREVER
RESTORE POINT FY06Q4;
}
以下变异保持365天的备份而不是永久保存它。在一年过去后,不管备份保留策略设置,备份变成过期的。
RUN
{
ALLOCATE CHANNEL c1 DEVICE TYPE sbt
PARMS ‘ENV=(OB_MEDIA_FAMILY=archival_backup)’;
BACKUP DATABASE
TAG quarterly
KEEP UNTIL TIME ‘SYSDATE+365’
RESTORE POINT FY06Q4;
}
3)验证备份来确认数据库可以使用这个备份恢复(参考“"Validating Backups Before Restoring Them”中的描述)。
当归档备份在创建时,如果某些操作比如插入PDB在执行,归档备份可能会无效。验证备份来确认归档备份可以用来成功恢复数据库。定期验证归档备份是一个好的做法。
4.做临时的归档备份
归档备份的一个目的是创建一个测试数据库。
做一个测试数据库的技术和做一个长期存储的归档备份本质上是相同的,不同之处是在创建备份之后很快就想要删除它。
可以使用BACKUP … KEEP UNTIL参数指定备份的临时状态。假设你想做一个备份和在同一天还原它到新的主机。在这个情况中,你可以指定KEEP UNTIL TIME SYSDATE+1来指示RMAN为备份只覆盖保留策略一天。一天之后,备份变成过期的,不管任何配置的备份保留策略。
以下示例中的命令使用标签TESTDB在一个临时磁盘上做一个归档备份。示例创建一个还原点,它是备份可以恢复到的时间的标签。如果在备份过程中数据库在打开状态,RMAN才备份归档redo日志。脱机备份时不需要归档日志,也不就需要备份它们。
BACKUP DATABASE
FORMAT ‘/disk1/oraclebck/%U’
TAG TESTDB
KEEP UNTIL TIME ‘SYSDATE+1’
RESTORE POINT TESTDB06;
还原一个归档备份的建议技术是使用DUPLICATE命令。
来源:《Oracle Database Backup and Recovery User’s Guide,19c》
本文详细阐述了Oracle数据库归档备份的目的,包括数据保护、测试与合规要求。讲解了归档备份的基本概念,如使用BACKUP…KEEP选项、归档备份的期限设定,以及如何针对长期存储(磁带备份)和临时需求(短期过期备份)进行操作。涵盖了创建归档备份的步骤和验证备份的有效性。
&spm=1001.2101.3001.5002&articleId=125311964&d=1&t=3&u=aa84767e83544f0f8850b26964a788c1)
3616

被折叠的 条评论
为什么被折叠?



