Oracle Data Guard 备库 归档文件 删除脚本

 

 

       Oracle Data Guard 是通过归档文件来进行数据同步的。 主库的归档文件,我们可以在RMAN 备份的时候进行删除,但是备库的归档文件无法自动删除,需要写脚本来定时删除。

 

       如果直接删除归档文件的话,可能会出现一种情况,就是归档文件还没有来的急apply,就被删除掉了。所以最安全的做法是在删除归档文件做一个判断。 然后在删除。

 

       整理的一个删除备库的shell 脚本如下:

 

[oracle@qs-xezf-db2 scripts]$ cat del_st_archive.sh

#!/usr/bin/ksh

# created by tianlesoftware

# 2010/12/24

export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1

export ORACLE_SID=xxxx

export SHELL_DIR=/u02/scripts

 

del_seq=`ls /u02/archivelog/|head -1|cut -f2 -d_`

echo $del_seq

$ORACLE_HOME/bin/sqlplus -s "user/pwd@sid_pd as sysdba" <<eof >/u02/scripts/max_sn.log

set head off;

set feedback;

select max(sequence#) from v/$log_history;

exit;

eof

max_sn=`cat /u02/scripts/max_sn.log|awk '{print $1}'|grep ^[0-9]`

max_sn=`expr $max_sn - 30`

-- 我这里是保留最近的30个归档文件,这个具体情况自己决定

echo $max_sn

while [ $del_seq -lt $max_sn ]

do

  rm /u02/archivelog/1_"$del_seq"_737806218.arc

-- 这里是我定义归档文件的格式,具体根据自己的归档文件格式来匹配,关键是匹配日志的sequence no

  del_seq=`expr $del_seq + 1`

  echo $del_seq

done

 

--脚本里的红色部分根据自己的情况进行修改

 

[oracle@qs-xezf-db2 scripts]$ ls

del_st_archive.sh  del_st_arch.log  max_sn.log

--max_sn.log 是存放最大seq tmp文件。 用来进行比较的

 

添加到crontab,定时执行:

[oracle@qs-xezf-db2 scripts]$ crontab -l

00 6 * * * /u02/scripts/del_st_archive.sh >/u02/scripts/del_st_arch.log 2>&1

 

Linux Crontab 定时任务 命令详解

http://blog.csdn.net/tianlesoftware/archive/2010/02/21/5315039.aspx

 

 

 

 

 

 

------------------------------------------------------------------------------

QQ:492913789

Email:ahdba@qq.com

Blog: http://www.cndba.cn/dave

网上资源: http://tianlesoftware.download.csdn.net

相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx

DBA1 群:62697716(); DBA2 群:62697977()

DBA3 群:62697850   DBA 超级群:63306533;    

聊天 群:40132017

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,我可以帮你解答。以下是Oracle 19c Data Guard物理备库搭建的步骤: 1. 在主库上创建备份 在主库上创建备份,可以使用RMAN或者其他备份工具。备份完成后,将备份拷贝至备库服务器上。 2. 在备库上安装Oracle软件 在备库服务器上安装Oracle软件,确保与主库版本一致。安装过程中需要选择安装“Oracle Database软件”和“Oracle Net Services”组件。 3. 创建pfile或者spfile 在备库上创建pfile或者spfile,确保参数与主库一致。可以将主库的pfile拷贝至备库上,并进行修改。 4. 配置tnsnames.ora 在备库服务器上配置tnsnames.ora文件,确保与主库的配置一致。 5. 创建密码文件 在备库服务器上创建密码文件,使用主库上的orapwd工具即可。 6. 启动实例 在备库服务器上启动实例,可以使用startup nomount命令。启动完成后,使用rman工具恢复备份。 7. 配置Data Guard 修改备库的参数文件,开启Data Guard。在备库上执行以下命令: ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(ORCL_DG)'; ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=ORCL LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ORCL'; 其中,ORCL_DG为Data Guard配置名称,ORCL为备库的DB_UNIQUE_NAME,可以根据实际情况进行修改。 8. 启动Redo Transport 在主库上执行以下命令: ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE; 在备库上执行以下命令: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT; 9. 验证配置 在主库上执行以下命令,查看Data Guard状态: SELECT NAME,OPEN_MODE,DATABASE_ROLE FROM V$DATABASE; 如果备库DATABASE_ROLE为PHYSICAL STANDBY,说明配置成功。 以上就是Oracle 19c Data Guard物理备库搭建的步骤。希望能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值