每天日志上T的环境用duplicate做DG的注意事项

前提条件

1、数据库总量上5T

2、每天online redo总量上T,online redo的目录1.1T

3、每天23:00增量备份,第二天凌晨2:00备份完成,备份脚本对应归档日志是PLUS ARCHIVELOG DELETE ALL INPUT

4、rman设置对于archivelog是CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY

5、使用duplicate target database for standby from active database

6、duplicate过程大概需要16小时


最重要的一个知识点

使用duplicate搭建DG,duplicate完成后, dg备库需要同步的归档日志起始于duplicate开始的那个时间点

归档日志没有删除的情况下,每次PLUS ARCHIVELOG都会备份一次,即一个归档日志可以被备份多次



考虑的问题1

因duplicate需要16小时,dg备库需要同步的归档日志起始于duplicate开始的那个时间点,所以duplicate完成后需要16小时前的归档日志进行同步,24小时内会备份一次并清除已经备份的,duplicate时间16小于清理周期24,可以获得这些归档日志


考虑的问题2

假如14:00 开始做duplicate,晚上23:00开始执行备份,这样14:00到23:00就是9小时,小于16小时,无法获得16小时前的归档日志了,DG就无法同步,是不是就做不了呢?不是的,因为主库设置了CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY。


考虑的问题3

继续上面问题2,因为备份于23:00开始,第二天2:00结束,那不就是日志的保留时间在第二天的2:00到第三天的06:00,也就是保留时间超过28小时,这不就是超过了保留的极限24小时,容易把磁盘撑爆?不用担心,可以在第二天晚上23:00执行备份后,因为主库设置了CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY导致归档日志不会删除,此时可以手工删除14:00之前的归档日志,保留14:00之后的就可以。


以上三个问题,得出结论

只要duplicate for standby from active database的时间长度小于日志必须清理的时间周期即可,如上duplicate为16小时,日志清理周期为24小时



实践过程

1、第一天14:00开始执行duplicate,此刻主数据库的归档日志序列号为416005,此时归档日志目录空间为500G(因前一天23:00开始备份到下一天凌晨2:00备份完成,所以数据起始于第一天凌晨2:00至第一天14:00)

2、第二天凌晨2:00主库备份完毕,此刻主数据库的归档日志序列号为419005,此时归档日志目录空间为900G(第一天凌晨2:00至第二天凌晨2:00的)

3、第二天凌晨2:05,顺序执行如下,执行完后,此时归档日志目录空间为400G(第一天14:00至第二天凌晨2:00的)

RMAN> list backup of archivelog sequence between 416000 and 416005;

确保这些归档日志都在备份里面,都在备份里面了的话,再执行下面

RMAN> delete force archivelog until SEQUENCE 416000;

4、第二天凌晨6:00,duplicate完成,此时归档日志目录空间为550G(第一天14:00至第二天6:00的),此时归档日志起始于第一天14:00前几分钟的416001,启用DG备库应用日志,备库开始使用第一个归档日志416005

5、第二天早上10:00,DG同步得差不多了,此时主数据库的归档日志目录为700G(第一天14:00至第二天10:00的),此时再顺序执行如下,执行后,归档日志目录空间为300G(第二天2:00至第二天10:00的)

RMAN> list backup of archivelog sequence between 419000 and 419005;

确保这些归档日志都在备份里面,都在备份里面了的话,再执行下面

RMAN> delete force archivelog until SEQUENCE 419000;



其实在上面第1、2步之间,可以单独执行一次归档日志的备份,即14:30执行一次归档日志备份,到15:30归档日志备份结束后,再手工删除13:30之前的归档日志即可。当然13:00至14:00的归档日志晚上23:00时还会再备份一次,备份两次没有关系。只要保证duplicate完成后DG需要的归档日志没有删除即可,DG需要的归档日志就是起始于duplicate开始时刻点即起始于14:00的归档日志。

请使用浏览器的分享功能分享到微信等