基于Linux下 Oracle 备份策略 RMAN
—\**********************************
— 基于Linux下 Oracle 备份策略(RMAN)
—\**********************************
对于 Oracle 数据库的备份与恢复,尽管存在热备,冷备以及逻辑备份之外,使用最多的莫过于使用RMAN进行备份与恢复。而制定RMAN备份策
略则是基于数据库丢失的容忍程度,即恢复策略来制定。在下面的备份策略中,给出的是一个通用的备份策略。在该备份策略中,使用了catalog方
式来保持备份脚本以及备份信息。在实际环境中应根据具体的情况对此进行相应的调整。
一、步骤
1.确认备份可用空间以及备份路径,根据需要创建相应文件夹
1.对于账户的连接创建一个connect.rcv,该文件包含连接到target 和catalog信息
2.创建通用的脚本用于删除过旧的备份和备份控制文件以及备份归档日志
global_del_obso —删除过旧的**备份
global_bkctl —备份控制文件
global_arch —备份归档日志
3.创建0,1,2级增量备份
这三个脚本中均包含第2步的3个脚本,先调用global_del,然后做增量备份,最后备份归档日志global_arch和控制文件global_bkctl
4.创建inc0.rcv,inc1.rcv,inc2.rcv
文件内容包含调用 @@/
5.编辑第4步的三个文件分别为inc0.sh,inc1.sh,inc2.sh
nohup $ORACLE_HOME/bin/rman cmdfile=/u03/bk/scripts/inc1.rcv log=/u03/bk/scripts/inc0.log append &
6.使用crontab制定备份计划
二、具体实现
演示环境:
系统: CentOS release 4.6 (Final) + Oracle 10g
目标数据库: austin
恢复目录数据库: david
备份目录: /u03/bk
连接脚本所在路径:/u03/bk/scripts
注:监听需要配置好且已启动
1.连接脚本
connect.rcv文件内容
connect catalog rman/rman@david;
connect target sys/oracle@austin;
catalog的通用脚本
rman cmdfile=/u03/bk/scripts/connect.rcv —(**在rman中使用外部脚本)
rman catalog rman/rman@david target sys/oracle@austin —使用该脚本连接后创**建通用脚本
2.建立通用脚本
—删除不必要的**备份
RMAN> createglobal script global_del_obso comment’A script for obsolete backup and delete it’ {
2> crosscheck archivelogall;
3> delete noprompt expired archivelogall;
4> allocate channel ch1 device typedisk;
5> delete noprompt obsolete recovery window of7 days;
6> release channel ch1;
7> }
—备份控制文件脚本
RMAN> createglobal script global_bkctl comment’A script for backup control file’{
2> allocate channel ch1 device typedisk;
3> backupas compressed backupset
4> currentcontrolfilereuse
5> format=’/u03/bk/backupctl.ctl’
6> tag=’bkctl’;
7> release channel ch1;
8> }
—备份归档日志脚本
RMAN> createglobal script global_arch comment “backup archivelog and then delete it” {
2> allocate channel ch1 device typedisk;
3> allocate channel ch2 device typedisk;
还没有评论,来说两句吧...