重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 68|回复: 0
打印 上一主题 下一主题

[Oracle] Oracle DG主备架构下归档日志删除方案

[复制链接]
跳转到指定楼层
楼主
发表于 5 天前 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、使用RMAN配置两种删除策略
11g以后,归档日志的删除策略可以配置如下两种:

CONFIGURE ARCHIVELOG DELETION POLICY TO SHIPPED ON ALL STANDBY;
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY;
说明:

1、需要在rman中进行配置rman target /
2、POLICY TO SHIPPED ON ALL STANDBY表示归档日志必须已经传输到所有备库主机,才能删除对应的归档日志;
3、POLICY TO APPLIED ON ALL STANDBY表示归档日志已经传输到所有备库主机,并且备库上必须应用完归档日志,才能删除对应的归档日志;

总结:
1、上述两种配置,可以确认归档日志传输至备库以后才可以被删除。
2、推荐使用 TO APPLIED ON ALL STANDBY这个!!另外一个出现过bug问题。

案例说明,如果备库未应用,主库归档日志删除时,报错如下

RMAN> delete archivelog all;
released channel: ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=45 device type=DISK
RMAN-08120: WARNING: archived log not deleted, not yet applied by standby
archived log file name=/oradata/arch/1_52_1236681669.dbf thread=1 sequence=52
二、主备架构下,主库归档日志删除方案
特别注意:如果主备异常,情况一直未被发现或者处理,主库的归档日志可能越积越多,最终撑爆归档目录,进一步主库数据库无法使用。

(一)主库归档日志的删除方案如下
1、rman配置归档日志删除策略(主库上执行)

rman target /
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY;
2、归档日志备份和删除策略

backup  format  '/backup/xxxx_arch_%T_%s_%p_%t' archivelog all delete input;  
备注:备份完成的归档文件,备份完立刻删除掉
3、主库归档日志定时删除任务(强制删除N天以前的归档日志),防止归档日志撑爆的问题

delete noprompt FORCE archivelog all completed before 'sysdate-3';
(二)主库归档日志定时删除任务案例,强制删除3天以前的归档日志,不管备库是否接受和应用!
1)创建归档日志强制删除脚本
su - oracle
mkdir  /home/oracle/scripts
vi /home/oracle/scripts/delete_arch.sh
#!/bin/bash
source /home/oracle/.bash_profile
DTIME=`date +%Y%m%d%H%M%S`
log=/home/oracle/scripts/${DTIME}.log
date > ${log}
rman target / nocatalog  log=${log} append    <<EOF
delete noprompt FORCE archivelog all completed before 'sysdate-3';
exit
EOF
2)脚本权限修改
chmod 775 /home/oracle/scripts/delete_arch.sh
3)验证
ll /home/oracle/scripts/delete_arch.sh
-rwxrwxr-x 1 oracle oinstall 247 Jun 29 16:53 /home/oracle/scripts/delete_arch.sh
4)制定crontab定时任务
crontab -e
30 5 * * *  /home/oracle/scripts/delete_arch.sh >>/home/oracle/scripts/delete_arch.out 2>&1
每天早上5点30分,运行/home/oracle/delete_arch.sh脚本,删除符合条件的归档日志文件
三、主备架构下,备库归档日志删除方案
特别注意:备库的归档日志,不会随着主库删除而删除,需要单独制定备库归档日志文件的删除策略!!

备库归档日志删除方案:
1)rman配置归档日志删除策略,即POLICY TO APPLIED ON ALL STANDBY;
2)备库建立归档日志定时删除任务(强制删除N天以前的归档日志),防止归档日志撑爆的问题。

(一)备库归档日志删除策略
1、rman配置归档日志删除策略(备库上执行)

rman target /
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY;
2、错误案例,如果归档日志备库还未应用,则备库删除归档日志时,报错如下

RMAN> delete archivelog all;
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=36 device type=DISK
RMAN-08120: WARNING: archived log not deleted, not yet applied by standby
archived log file name=/oradata/arch/1_52_1236681669.dbf thread=1 sequence=52
RMAN-08120: WARNING: archived log not deleted, not yet applied by standby
archived log file name=/oradata/arch/1_53_1236681669.dbf thread=1 sequence=53
List of Archived Log Copies for database with db_unique_name ORCL_ST
=====================================================================
Key     Thrd Seq     S Low Time
------- ---- ------- - ---------
1       1    51      A 29-JUN-26
        Name: /oradata/arch/1_51_1236681669.dbf

Do you really want to delete the above objects (enter YES or NO)? yes
deleted archived log
archived log file name=/oradata/arch/1_51_1236681669.dbf RECID=1 STAMP=1237216215
Deleted 1 objects
(二)备库归档日志定时删除任务案例,强制删除3天以前的归档日志,不管备库是否接受和应用!
1)创建归档日志强制删除脚本
su - oracle
mkdir  /home/oracle/scripts
vi /home/oracle/scripts/delete_arch.sh
#!/bin/bash
source /home/oracle/.bash_profile
DTIME=`date +%Y%m%d%H%M%S`
log=/home/oracle/scripts/${DTIME}.log
date > ${log}
rman target / nocatalog  log=${log} append    <<EOF
delete noprompt FORCE archivelog all completed before 'sysdate-3';
exit
EOF
2)脚本权限修改
chmod 775 /home/oracle/scripts/delete_arch.sh
3)验证
ll /home/oracle/scripts/delete_arch.sh
-rwxrwxr-x 1 oracle oinstall 247 Jun 29 16:53 /home/oracle/scripts/delete_arch.sh
4)制定crontab定时任务
crontab -e
30 5 * * *  /home/oracle/scripts/delete_arch.sh >>/home/oracle/scripts/delete_arch.out 2>&1
每天早上5点30分,运行/home/oracle/delete_arch.sh脚本,删除符合条件的归档日志文件

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2026-7-24 00:15 , Processed in 0.360224 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表