分享

Oracle RMAN备份相关脚本

 宅必备 2022-05-30 发布于江苏

历史信息查看请查看个人网页www.zhaibibei.cn 
这是一个坚持Oracle,Python原创内容的公众号,欢迎关注


这节讲日常用到的RMAN备份的相关脚本

RMAN设置

CONFIGURE CONTROLFILE AUTOBACKUP ON;

RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 1 DAYS;

备份到磁盘

1. 压缩并备份到FRA

这是样例,下面脚本在这上面做修改

vim /home/oracle/backup.sh

source ~/.bash_profile

rman target / <<EOF

RUN {

crosscheck archivelog all;

delete noprompt expired archivelog all;

crosscheck backup;

delete noprompt expired backup;

report obsolete;

delete noprompt obsolete;

allocate channel c1 type disk;

allocate channel c2 type disk;

BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG;

backup current controlfile;

release channel c1;

release channel c2;

}

EOF

exit

2. 备份数据文件到自定义位置

RUN {

crosscheck archivelog all;

delete noprompt expired archivelog all; 

crosscheck backup; 

delete noprompt expired backup;

report obsolete;

delete noprompt obsolete;

allocate channel c1 type disk;

backup format 'E:\BAK\LEDFULLBAK\LEDMES_dbf_%U' filesperset 5 database;

backup format 'E:\BAK\LEDFULLBAK\LEDMES_arc_%U' filesperset 10 archivelog all;

backup format 'E:\BAK\LEDFULLBAK\LEDMES_ctl_%U' current controlfile;

release channel c1;

}

3. 备份并删除归档日志

 RMAN> backup archivelog all delete input format '/u01/app/oracle/rmanbak/lf_%d_%U';

4. 增量备份

BACKUP INCREMENTAL LEVEL 0  DATABASE;

BACKUP INCREMENTAL LEVEL 1 DATABASE;

BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;

5. 脚本调用rman备份文件

rman target sys/system nocatalog CMDFILE 'E:\BAK\LEDFULLBAK\rman_full.txt' log='E:\BAK\log\full_backup_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%".log'

备份到磁带

这里我使用的是HP DP进行的备份

主要是前面分配通道时候有所不同

run {

allocate channel 'dev_0' type 'sbt_tape'

parms 'ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=ased3,OB2BARLIST=Daily_ased3)';

allocate channel 'dev_1' type 'sbt_tape'

parms 'ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=ased3,OB2BARLIST=Daily_ased3)';

}

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多