linux和windows下自动备份作业与自动作业删除

linux下:

[oracle@his01 ~]$ crontab -e
0 3 * * 5 /backup/sh/backup_fulldb.sh >> /backup/rman .log
--删备份
0 3 * * 5 find /backup/backupset/  -mtime +15 -name '*.bak' -exec  rm -rf {} \;   
--删日志
0 3 * * * find /archivelog/  -mtime +30 -name '*.arc' -exec  rm -rf {} \;
注意:如果是使用root用户:0 3 * * 5 su - oracle -c  /autobak/rmlog.sh
--自动备份作业
[oracle@his01 sh]$ cat backup_fulldb.sh 
export ORACLE_SID=orcl
rman target / nocatalog << EOF
run
{
  allocate channel c1 type disk;
  allocate channel c2 type disk;
  sql 'alter system archive log current';
  backup database format '/backup/backupset/dbfull_%d_%s_u%_%p.bak' ; 
--备份并删除归档:
backup database format '/backup/backupset/dbfull_%d_%s_u%_%p.bak' plus archivelog delete all input format '/backup/backuparc/arch_%U';
--压缩备份:
backup as compressed backupset database format '/backup/backupset/dbfull_%d_%s_u%_%p.bak' plus archivelog delete all input format '/backup/backuparc/arch_%U';
  backup current controlfile format '/backup/backupset/cf_%U';
--检查备份集并删除过期记录
  crosscheck backup of database;   
  delete noprompt obsolete;
  delete  noprompt expired backup of database; 
  delete archivelog until time 'sysdate-30';
--检查备份日志并删除过期记录
  crosscheck archivelog all;
  delete noprompt expired archivelog all;
  release channel c1; 
  release channel c2;
}

windows下:
分两步:
1、先写一个后缀名为.bat的批处理文件内容如下:
关于备份:
set ORACLE_SID=bhinsid
rman target sys/aqa cmdfile D:\autoscript\bakfull.sql

关于日志:
del D:\archivelog\*.arc /s /f /q     rem物理删除日志删除archivelog所有文件arc结尾文件
set ORACLE_SID=bhinsid
rman target sys/aqa cmdfile D:\autoscript\delarchivelog.sql



2、创建自动脚本:
关于备份集bakfull.sql
RUN {
allocate channel c1 type disk;
sql 'alter system archive log current';
backup current controlfile format 'G:\rmanbak\ctl_%U.ctl';
backup database format 'G:\rmanbak\db_%U' plus archivelog delete all input format 'G:\rmanbak\arch_%U';  
crosscheck backupset;
delete expired backup;
delete noprompt obsolete ;
release channel c1;
}

关于日志delarchivelog.sql
RUN {
allocate channel c1 type disk;
crosscheck archivelog all;
delete expired archivelog all;

delete archivelog all completed before 'sysdate-15';
release channel c1;
}






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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值