oracle drop dg,win平台oracle rman备份和删除dg备库归档日志脚本

总觉得使用windows跑oracle是不靠谱的事情,可以这个世界上总有很多人喜欢做类似这样的事情,对于数据库比较常见的两件事情:rman和删除dg备库归档日志,在linux/unix平台上使用shell实现很简单,可是跑到win里面,就变的烦了,不是因为其麻烦,而是因为用的人少,不知道怎么下手处理该事情,我编写了简单的实现初级功能的win下面rman备份和删除备库归档日志脚本,供大家参考,也更加欢迎朋友提出来更加好的处理方法(win是真心的不懂)

rman备份脚本

复制代码 代码如下:

--backup_oracle.bat文件

rman target / cmdfile=D:/backup/rman/backup_db.rman

log=d:/backup/rman/logfile/rmanlog%date:~0,4%%date:~5,2%%date:~8,2%.log

--backup_db.rman文件

CONFIGURE RETENTION POLICY TO REDUNDANCY = 2;

CONFIGURE DEVICE TYPE DISK PARALLELISM 2;

CONFIGURE DEFAULT DEVICE TYPE TO DISK;

backup filesperset = 5 as compressed backupset database format 'd:/backup/rman/full_%U.rman';

sql 'alter system archive log current';

backup  filesperset = 50 as compressed backupset archivelog  all format 'd:/backup/rman/arch_%U.rman'  delete input;

DELETE noprompt OBSOLETE;

crosscheck backup;

delete noprompt expired backup;

backup  format 'd:/backup/rman/ctl_%U.rman' current controlfile;

backup spfile format 'd:/backup/rman/spfile_%U.rman' ;

exit;

backup_oracle.bat

文件加入到计划任务即可

删除dg备库归档日志(已经应用)

复制代码 代码如下:

--delete_dg_archivelog.bat

rem 注意修改 部署目录

cd D:/win_xifenfei

d:

rem 注意delete_archive.sql 查询是否有记录

echo delete archivelog staring > delete_archivelog.bak

sqlplus / as sysdba @delete_archive.sql

echo rman target / cmdfile=rman_checkcross.rman>>delete_archivelog.bat

delete_archivelog.bat >>delete_dg_archivelog_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%".log

exit

--delete_archive.sql

set lines 150

col name for a150

set pagesize 0 feedback off verify off heading off echo off

spool delete_archivelog.bat

select 'del '||name from v$archived_log where APPLIED='YES' AND NAME IS NOT NULL and DEST_ID=1;

spool off

exit;

--rman_checkcross.rman

crosscheck archivelog all;

delete noprompt expired archivelog all;

exit

delete_dg_archivelog.bat

加入到计划任务即可

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值