互联网服务TSM备份

TSM for Oracle备份脚本及策略说明

TSM在实现对Oracle数据库的备份时,实际上是调用RMAN工具来完成的,为了使后期备份检查更加方便,在此介绍下我经常使用的一些方式:1.编写bak_full.sh脚本文件,主要为针对Oracle数据库的0级备份2.编写schedule_full.sh脚本文件,该文件直接在TSM中调用执行(每周六)3.编写bak_...显示全部
TSM在实现对Oracle数据库的备份时,实际上是调用RMAN工具来完成的,为了使后期备份检查更加方便,在此介绍下我经常使用的一些方式:
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目录下 (以AIX环境为例)
6.另外生成的日志放置于/home/oracle/tsm_script/baklog目录下(产生的日志文件打上时间戳)
7.定期检测和删除磁带中的RMAN过期备份版本,以实现空间回收(每月一次)

脚本文件信息:

bak_full.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 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;
=====================================================收起
参与45

查看其它 42 个回答wguode的回答

wguodewguode技术总监厦门中和志达
写的很棒的,要是能加一点备份控制文件的内容就更完美了。
互联网服务 · 2010-02-02
浏览500

回答者

wguode
技术总监厦门中和志达

wguode 最近回答过的问题

回答状态

  • 发布时间:2010-02-02
  • 关注会员:0 人
  • 回答浏览:500
  • X社区推广