1.编写bak_full.sh脚本文件,主要为针对Oracle数据库的0级备份2.编写schedule_full.sh脚本文件,该文件直接在TSM中调用执行(每周六)
3.编写bak_incr.sh脚本文件,主要为针对Oracle数据库的1级备份4.编写schedule_incr.sh脚本文件,该脚本直接在TSM中调用执行(每周一至周五)
5.所有的备份脚本放置于/home/oracle/tsm_script目录下6.另外生成的日志放置于/home/oracle/tsm_script/baklog目录下(产生的日志文件打上时间戳)
7.定期检测和删除磁带中的RMAN过期备份版本,以实现空间回收(每月一次)脚本文件信息:
bak_full.sh内容:
====================================================================
connect target /
run {
allocate channel t1 type sbt;
allocate channel t2 type sbt;
send 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
backup incremental level 0
format 'orcl_full_%T_%t_%U'database;
sql 'alter system archive log current';
backup format 'orcl_arhc_%T_%t_%U' archivelog all delete all input;
release channel t1;
release channel t2;
}
=====================================================================
schedule_full.sh内容:
=====================================================================
CMDFILE=/home/oracle/tsm_script/bak_full.sh
LOGFILE=/home/oracle/tsm_script/baklog/full_baklog_`date +%y%m%d`.log
rman cmdfile $CMDFILE msglog $LOGFILE
=====================================================================
bak_incr.sh内容:
=====================================================================
connect catalog rman/rman@rmanlog
connect target /
run {
allocate channel t1 type sbt;
allocate channel t2 type sbt;
send 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
backup incremental level 1
format 'orcl_incr_%T_%t_%U'database;
sql 'alter system archive log current';
backup format 'orcl_arhc_%T_%t_%U' archivelog all delete all input;
release channel t1;
release channel t2;
}
============================================================
schedule_incr.sh内容:
===============================================================
CMDFILE=/home/oracle/tsm_script/bak_incr.sh
LOGFILE=/home/oracle/tsm_script/baklog/incr_baklog_`date +%y%m%d`.log
rman cmdfile $CMDFILE msglog $LOGFILE
===========================================================说明:生成的日志文件自动打上(年份+月份+日期),在实现方面:
AIX环境下为XXXX_baklog_`date +%y%m%d`.log
Windows环境下为XXXX_baklog_%date:~4,6%.log另外如要定期回收磁带空间,还需要设置RMAN的过期版本删除脚本bak_maintenance.sh内容:
===============================================================
connect catalog rman/rman@rmanlog
connect target /
allocate channel for maintenance type sbt;
send 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
report obsolete;
delete noprompt obsolete;
release channel;