热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

OracleDataGuard(RAC+DG)归档删除策略及脚本

DataGuard备库归档文件删除策略,此次备库的归档删除策略是在单机版的基础上进行升级,增加了日志功能,支持对2个节点RAC主库的

Data Guard 备库归档文件删除策略,此次备库的归档删除策略是在单机版的基础上进行升级,增加了日志功能,支持对2个节点RAC主库的

1、Data Guard 主库归档文件删除策略:

当我们设置:

RMAN>configure archivelog deletion policy to applied on standby;

在Maximum Availability和 Maximum Performance下,RMAN备份归档文件的时候,,加上delete input的时候,归档会被删除。

RMAN> configure archivelog deletion policy to none;

此时归档删除策略会被取消。

2、Data Guard 备库归档文件删除策略

此次备库的归档删除策略是在单机版的基础上进行升级,增加了日志功能,支持对2个节点RAC主库的归档文件在备库上删除的功能,可以作为计划任务执行也可以以交互的形式单独执行。

由于备库一般不执行rman备份计划,所以需要脚本删除这些归档日志文件。

[Oracle@ backup_scripts]$ vim delstarch.sh

export ORACLE_THREAD=$1
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=bdspoc
export SHELL_DIR=/u01/app/oracle/backup_scripts
export DATE=$(date +%Y-%m-%d\ %H:%M:%S)
if [ ! $ORACLE_THREAD ];then
read -p "Enter deleted thread[1|2]: "
DB_THREAD=$REPLY
else
DB_THREAD=$ORACLE_THREAD
fi
if [ $DB_THREAD == 1 ];then
del_seq=`ls /arch|grep ^1|cut -f2 -d_|sort -n |head -1`
echo $del_seq "is the minimum archlog sequence"
$ORACLE_HOME/bin/sqlplus -s "sys/***** as sysdba" <$SHELL_DIR/max_sn.log
set head off;
set feedback;
select max(sequence#) from v\$log_history where THREAD#=1;
exit;
eof
max_sn=`cat /u01/app/oracle/backup_scripts/max_sn.log|awk '{print $1}'|grep ^[0-9]`
#保留最近的20个归档,其他都删除
max_sn=`expr $max_sn - 20`
echo $max_sn "is the maximum archlog sequence"
while [ $del_seq -lt $max_sn ]
do
DATE=$(date +%Y%m%d_%H%M%S)
rm /arch/1_"$del_seq"_816281825.arc
DATE=$(date +%Y-%m-%d\ %H:%M:%S)
#由于log_archive_format 为%t_%s_%r.arc类型,%r为resetlog id
echo "$DATE" /arch/1_"$del_seq"_816281825.arc >> $SHELL_DIR/delarch.log
del_seq=`expr $del_seq + 1`
echo "$DATE" 1_"$del_seq"_816281825.arc
done
elif [ $DB_THREAD == 2 ];then
del_seq=`ls /arch|grep ^2|cut -f2 -d_|sort -n |head -1`
echo $del_seq "is the minimum archlog sequence"
$ORACLE_HOME/bin/sqlplus -s "sys/***** as sysdba" <$SHELL_DIR/max_sn.log
set head off;
set feedback;
select max(sequence#) from v\$log_history where upper(THREAD#)=2;
exit;
eof
max_sn=`cat /u01/app/oracle/backup_scripts/max_sn.log|awk '{print $1}'|grep ^[0-9]`
max_sn=`expr $max_sn - 20`
echo $max_sn "is the maximum archlog sequence"
while [ $del_seq -lt $max_sn ]
do
rm /arch/2_"$del_seq"_816281825.arc
DATE=$(date +%Y-%m-%d\ %H:%M:%S)
echo "$DATE" /arch/2_"$del_seq"_816281825.arc >> $SHELL_DIR/delarch.log
echo "$DATE" 2_"$del_seq"_816281825.arc has been deleted
del_seq=`expr $del_seq + 1`
done
else
echo "$DATE" There has a fault db_thread value! >> $SHELL_DIR/delarch.log
fi

可以交互式执行,例如:

[oracle@ backup_scripts]$ sh delstarch.sh
Enter deleted thread[1|2]: 1 --选择删除从哪个节点归档来的日志文件

也可以做成计划任务执行该脚本

[root@ ~]# crontab -l

0 1 * * * su - oracle -c /u01/app/oracle/backup_scripts/delstarch.sh 1

0 2 * * * su - oracle -c /u01/app/oracle/backup_scripts/delstarch.sh 2

每天1点执行1节点归档来的日志文件,2点执行2节点归档来的日志文件。

推荐阅读:

Oracle 11G RAC 修改归档模式

Oracle RMAN 清除归档日志

Oracle 11g Flashback Data Archive(闪回数据归档)

linux

推荐阅读
  • 请看|间隔时间_Postgresql 主从复制 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • PostgreSQL 10 离线安装指南
    本文详细介绍了如何在无法联网的服务器上进行 PostgreSQL 10 的离线安装,并涵盖了从下载安装包到配置远程访问的完整步骤。 ... [详细]
  • 本文介绍了一种在 MySQL 客户端执行 NOW() 函数时出现时间偏差的问题,并详细描述了如何通过配置文件调整时区设置来解决该问题。演示场景中,假设当前北京时间为2023年2月17日19:31:37,而查询结果显示的时间比实际时间晚8小时。 ... [详细]
  • 在成功安装和测试MySQL及Apache之后,接下来的步骤是安装PHP。为了确保安全性和配置的一致性,建议在安装PHP前先停止MySQL和Apache服务,并将MySQL集成到PHP中。 ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 在Fedora 31上部署PostgreSQL 12
    本文详细介绍如何在Fedora 31操作系统上安装和配置PostgreSQL 12数据库。包括环境准备、安装步骤、配置优化以及安全设置,确保数据库能够稳定运行并提供高效的性能。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 在使用 DataGridView 时,如果在当前单元格中输入内容但光标未移开,点击保存按钮后,输入的内容可能无法保存。只有当光标离开单元格后,才能成功保存数据。本文将探讨如何通过调用 DataGridView 的内置方法解决此问题。 ... [详细]
  • 本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ... [详细]
  • 如何在PostgreSQL中查看数据表
    本文将指导您使用pgAdmin工具连接到PostgreSQL数据库,并展示如何浏览和查找其中的数据表。通过简单的步骤,您可以轻松访问所需的表结构和数据。 ... [详细]
  • 近期,考虑到在Vim内部进行GDB调试、运行Python脚本和数据库连接等多样化需求,思考是否可以通过集成终端来简化这些操作,而非逐一编写Vim脚本来实现。通过研究发现,确实存在一种高效的方法——利用特定插件实现终端功能的整合。 ... [详细]
author-avatar
博瑞装饰王龙骏
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有