首页 > Oracle > ora-xxxxx > 如何修改DG的主库删除归档策略!
2013
11-28

如何修改DG的主库删除归档策略!

在DG的生产环境中,主备库的归档删除策略是一定要配置的,oracle并不会主动删除归档日志,所以需要在搭建DG之后,修改相应的配置,但需要注意的是,在最大可用(maximum availability)和最大性能(maximum performance)两种模式下,必须要在归档文件在备库应用后才可以删除。

针对最大保护(maximum protection)模式下,因为这种模式是同时写到主库和备库的,所以这种模式可以直接删除归档。

那么在Maximum Availability和 Maximum Performance下,RMAN 备份归档文件的时候,如果我们加上delete input,那么如何确定归档文件该不该删除。我们这里只针对11G极其以后的版本说明,因为在10G以前,需要通过脚本判断备库是否应用了日志,在11G的版本,RMAN提供了一个配置归档文件删除策略的参数:

1. 在主库查看参数

CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; 就是这个参数,这个参数有3个值可以配置,如下:

(1)NONE : 设置为该值时,则不启用归档文件的删除策略。默认情况下就是NONE。
(2)APPLIED ON STANDBY :设置为该值时,会强制检查待删除的log 是否已经在备库apply,只有apply后的log才能删除。当通过附加的 DELETE INPUT 子句删除Standby数据库仍需要的日志时,会提示RMAN-08137错误。不过仍然可以手动通过 DELETE ARCHIVELOG 方式删除。
(3)SHIPPED TO ALL STANDBY: 当归档传送到备库就可以删除。

2. 配置参数为applied on standby

这里修改参数报错,提示无效的归档参数策略,然后设置这个参数后会强制进行检查,但如果我们的主库是最大性能或者最大可用性,即使这里指定了这个参数进行强制检查,oracle也不会检查,所以需要修改一个隐含参数,使其强制进行归档文件检查

启用这个参数之后,数据库需要重启才能生效,这样oracle就会强制检查所有的备库日志是否apply,只有备库apply之后,主库的归档文件才可以删除。

至于主库的归档日志文件删除策略就可以通过此方式配置,而备库则没有这样的参数可以配置,可以通过脚本,检查归档文件是否引用 ,如果应用,删除即可!

最后编辑:
作者:Jerry
一个积极向上的小青年,热衷于分享--Focus on DB,BI,ETL