服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Oracle - win平台oracle rman备份和删除dg备库归档日志脚本

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

2019-12-02 15:45oracle教程网 Oracle

本文介绍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


加入到计划任务即可

延伸 · 阅读

精彩推荐