Linux平台下的Oracle自动备份案例(使用RMAN)

企鹅博客
企鹅博客
企鹅博客
25193
文章
0
评论
2020年9月1日03:05:55 评论 76 views

有个童鞋问rman的自动备份脚本程序,我之前有写过exp备份指定方案自动备份案例(Linux平台下的Oracle自动备份案例(使用exp工具)  http://www.linuxidc.com/Linux/2013-10/91923.htm ),现在补充下rman的案例。
为此写出下文,仅以记录并分享这个过程。

环境:
操作系统:RHEL5.4
数据库:Oracle 10.2.0
相关变量值:
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
备份的数据库实例名:test
备份的目标目录:/backup_rman

实现过程如下:
第一步:准备目录
mkdir /backup_rman
chown oracle:oinstall /backup_rman
chmod 755 /backup_rman

第二步:备份脚本程序的编写
1、创建备份脚本
切换到oracle用户,在oracle家目录下面创建bin目录,新建文件rman_backup.sh
mkdir bin
cd bin
touch rman_backup.sh
chmod 755 rman_backup.sh
编辑rman_backup.sh文件,添加如下内容:
#!/bin/bash
source /home/oracle/.bash_profile
/u01/app/oracle/product/10.2.0/db_1/bin/rman target / nocatalog cmdfile=/home/oracle/bin/rman_cmd  log=/backup_rman/rman_full_`date +%Y%m%d%H%M`.log
2、创建rman的备份脚本文件
cd ~/bin
touch rman_cmd
编辑rman_cmd文件添加如下内容(根据需要,可以进行适当的修改):
crosscheck archivelog all;
delete noprompt expired archivelog all;
run {
        configure retention policy to recovery window of 4 days;
        configure controlfile autobackup off;
        allocate channel c1 device type disk  format '/backup_rman/rman_full_%T_%U'  maxpiecesize=3G;
        allocate channel c2 device type disk  format '/backup_rman/rman_full_%T_%U'  maxpiecesize=3G;
        allocate channel c3 device type disk  format '/backup_rman/rman_full_%T_%U'  maxpiecesize=3G;
        backup database plus archivelog delete all input;
        backup current controlfile format '/backup_rman/rman_%T_CTL_%U';
        backup spfile format '/backup_rman/rman_%T_SPFILE_%U';
        release channel c1;
        release channel c2;
        release channel c3;
}
crosscheck backupset;
delete noprompt expired backup;
delete noprompt obsolete;
crosscheck archivelog all;
delete noprompt expired archivelog all;

第三步:添加crontab计划任务
使用oracle用户添加例行任务:
crontab -e
新打开的窗口中添加一下内容:
0 24 * * * /home/oracle/bin/rman_backup.sh
(*/3 * * * * /home/oracle/bin/rman_backup.sh)
注,括号内的可以是做测试的时候用的,每三分钟执行一次备份,例为每天凌晨24点执行备份

第四步:执行验证:
1、crontab成功执行验证:
在root下执行tail -f /var/log/cron,监控cron日志来确保crontab的成功执行:
Aug 31 00:20:06 model crontab[6380]: (oracle) BEGIN EDIT (oracle)
Aug 31 00:20:48 model crontab[6380]: (oracle) REPLACE (oracle)
Aug 31 00:20:48 model crontab[6380]: (oracle) END EDIT (oracle)
Aug 31 00:21:01 model crond[26958]: (oracle) RELOAD (cron/oracle)
Aug 31 00:21:01 model crond[6412]: (oracle) CMD (/home/oracle/bin/rman_backup.sh)
Aug 31 00:24:01 model crond[6621]: (oracle) CMD (/home/oracle/bin/rman_backup.sh)

2、查看rman是否执行,并且执行成功
a.可在rman执行的时候执行ps -ef | grep rman | grep -v grep来查看rman进程是否成功启动
b.查看/backup_rman目录中是否有备份生成的文件:
$ [email protected] /backup_rman> ls
rman_20120831_CTL_0mnjvu15_1_1    rman_full_20120831_0injvtrq_1_1
rman_20120831_CTL_0vnjvu57_1_1    rman_full_20120831_0jnjvtvs_1_1
rman_20120831_SPFILE_0nnjvu18_1_1  rman_full_20120831_0knjvu0c_1_1
rman_20120831_SPFILE_10njvu5a_1_1  rman_full_20120831_0lnjvu13_1_1
rman_full_201208310021.log        rman_full_20120831_0onjvu1a_1_1
rman_full_201208310024.log        rman_full_20120831_0pnjvu1e_1_1
rman_full_20120831_0dnjvtrg_1_1    rman_full_20120831_0qnjvu1e_1_1
rman_full_20120831_0enjvtrg_1_1    rman_full_20120831_0rnjvu1i_1_1
rman_full_20120831_0fnjvtrg_1_1    rman_full_20120831_0snjvu4s_1_1
rman_full_20120831_0gnjvtrp_1_1    rman_full_20120831_0tnjvu52_1_1
rman_full_20120831_0hnjvtrp_1_1    rman_full_20120831_0unjvu55_1_1

验证结果:rman自动备份任务执行成功!

推荐阅读:

Oracle基础教程之通过RMAN复制数据库 http://www.linuxidc.com/Linux/2013-07/87072.htm

RMAN备份策略制定参考内容 http://www.linuxidc.com/Linux/2013-03/81695.htm

RMAN备份学习笔记 http://www.linuxidc.com/Linux/2013-03/81892.htm

继续阅读
企鹅博客
  • 本文由 发表于 2020年9月1日03:05:55
  • 转载请务必保留本文链接:https://www.qieseo.com/188669.html
NUMA导致的Oracle性能问题 Linux-数据库

NUMA导致的Oracle性能问题

背景简介: Oracle版本:11.2.0.4   OS 版本:OEL5.8 在一次Oracle的Dataguard正常switchover过程中,遇到了一个极其诡异的问题,一条主业务的SQL语句在新...
Oracle中IP地址和掩码转换成CIDR格式 Linux-数据库

Oracle中IP地址和掩码转换成CIDR格式

遇到的问题如下:数据库中存储了IP地址,以及IP地址掩码,需要将他们转化成CIDR格式的,并且不仅仅是将掩码转化成CIDR对应的数字的问题,需要将原有的IP地址转化成对应的网络地址,例如IP地址是58...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: