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

总觉得使用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
 

加入到计划任务即可

时间: 2025-01-25 21:02:42

win平台oracle rman备份和删除dg备库归档日志脚本_oracle的相关文章

win中oracle实现rman备份和删除dg备库归档日志脚本

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

Oracle中DG备库报错ORA-00313、00312、27037

DATAGUARD配置如下: PROD为主库,SBDB为备库 日志组1-3组为redolog file,4-6组为standby log 在创建standby log后主库关库,使用冷备tar包将数据传输到备库进行的恢复. DG配置完成之后,启动备库之后,备库alert日志报错如下: Errors in file /u01/app/oracle/admin/SBDB/udump/sbdb_rfs_14903.trc: ORA-00313: open failed for members of l

备库归档删除策略失效的问题分析

最近碰到了一个有些奇怪的问题,自己当时排查问题时间紧,没有细细琢磨,今天抽空看了下,终于发现了端倪. 首先是在早晨收到了报警邮件,报警邮件内容如下:ZABBIX-监控系统: ------------------------------------报警内容: DG_issue ------------------------------------报警级别: PROBLEM ------------------------------------监控项目: dg_issue:2015-10-29

【DG】DG备库报ORA-28000: the account is locked的解决办法

[DG]DG备库报ORA-28000: the account is locked的解决办法 测试用户为lhr现象:主备库的lhr用户的状态都是OPEN,但是,备库连接的时候报ORA-28000: the account is locked错误.在主库执行"alter user lhr identified by lhr account unlock;"同步到备库也不能解决,在备库该命令不能执行. 解决:重启DG环境的备库实例即可 参考:ORA-28000 On Active Data

Oracle RMAN备份(三)联机RMAN 数据库备份

七. 联机RMAN 数据库备份 7.1 联机数据库备份 要使用RMAN执行联机备份操作,数据库必须置于Archivelog 模式. 如果不在归档模式,则尝试联机备份时RMAN就会生成一个错误. Oracle 归档与非归档的切换 http://blog.csdn.net/tianlesoftware/archive/2009/10/19/4693470.aspx 连接备份示例: RMAN> Configure default device type to disk; RMAN> configur

ORACLE rman备份之ORA-19809 ORA-19804

    2016年3月8日,接到某综合网管系统负责人申告,该系统RMAN备份失败,RMAN备份失败日志如下: 操作系统:REDHAT linux 5.6 数据库版本:11.2.0.3channel ORA_DISK_1: starting piece 1 at 07-MAR-16 RMAN-03009: failure of backup command on ORA_DISK_1 channel at 03/07/2016 11:36:24 ORA-19809: limit exceeded

三种Oracle RMAN备份加密策略(上)

  说明:本篇参考eygle老师的作品<Oracle DBA手记4:数据安全警示录>,特此表示感谢.   数据安全,特别是企业核心业务数据的安全问题,是当今全社会共同关注的问题.从前几天轰轰烈烈的携程服务终止,风闻数据库被删除事件,到去年多次发生的互联网公司用户账号密码外泄风波,都不断挑战业界紧绷的神经.在当今社会,数据就是财富已经不是乌托邦,而是彻彻底底的现实.出现过信息泄露安全事故的企业,在商誉和品牌上的损失都是难以评估的.   从信息系统的角度看,备份是我们DBA的命脉,也是我们的&qu

ORACLE rman备份之ORA-00230

    2016年4月13日接到一呼叫平台负责人告警,oracle 9.2.0.8数据库的rman备份出现异常,控制文件无法备份,报错信息如下: RMAN> run{ 2> allocate channel c1 type disk; 3> backup current controlfile format '/tmp/ora_contr.bak'; 4> release channel c1; 5> } using target database controlfile i

ORACLE RMAN备份失败之ORA-19599

    近期的oracle数据库巡检中,一地市oracle数据库的rman备份出现失败如下: 查看数据库rman备份日志,日志提示归档中有坏块: 输入归档日志线程=1 序列=43530 RECID=35316 STAMP=949830743 通道 c4: 正在启动段 1 于 20-7月 -17 RMAN-03009: backup 命令 (c1 通道上, 在 07/20/2017 09:52:28 上) 失败ORA-19599: 块编号 8 已在 archived log E:\BACKUP\A