存储 频道

征文:TSM For BA/Oracle的典型实施文档

第4章 配置TDPO FOR ORACLE

4.1、安装
在4台AIX的oracle数据库服务器上安装以下2个文件集
tivoli.tsm.client.oracle.aix53.64bit
tivoli.tsm.client.oracle.tools.aix53.64bit
安装完成后,在AIX系统中,会生成/usr/tivoli/tsm/client/oracle/bin64

4.2、配置
4.2.1、配置/usr/tivoli/tsm/client/oracle/bin64下dsm.opt和tdpo.opt
编辑文件/usr/tivoli/tsm/client/oracle/bin64/dsm.opt
Servername tdporacle

编辑文件/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt
DSMI_ORC_CONFIG /usr/tivoli/tsm/client/oracle/bin64/dsm.opt
DSMI_LOG /tmp/tsm/log
TDPO_NODE ORACLENODE

4.2.2、更改oracle用户的环境变量
以root用户切换至oracle数据库的实例用户,更改该用户的.profile文件,将
export LD_LIBRARY_PATH=$ORACLE_HOME/lib此变量更改至.profile文件的最前面

4.2.3、链接库文件
以root用户切换至oracle数据库的实例用户,执行以下操作:
$ln -s /usr/lib/libobk64.a $ORACLE_HOME/lib/libobk.a

4.2.4、设置目录权限
chmod -R 777 /tmp/tsm/log
chown -R oracleinstall /tmp/tsm/log

4.2.5、sbttest测试
su – oracle
sbttest test
The sbt function pointers are loaded from libobk.a(shr.o) library.
-- sbtinit succeeded
Return code -1 from sbtinit, bsercoer = 0, bsercerrno = 0
Message 0 not found; product=RDBMS; facility=SBT

4.2.6、生成密码文件
以root用户执行/usr/tivoli/tsm/client/oracle/bin64/tdpoconf password

连续输入三次密码password,当出现如上图的成功提示后,
在/usr/tivoli/tsm/client/oracle/bin64下生成一个口令文件TDPO.rac01

4.2.7、更改rman设置
su – oracle
rman target /
CONFIGURE RETENTION POLICY TO REDUNDANCY 7;(设置备份冗余度为两个版本)
CONFIGURE CONTROLFILE AUTOBACKUP ON;(设置控制文件自动备份)

4.3、oracle备份
4.3.1、通过系统任务定义备份(oracle的增量备份)和file的调度
##############TSM CLIENT SCHEDULE###########################################################
0 7 * * 0 /tmp/tsm/script/fullfs.sh>/dev/console 2>&1 #FullBackup Files at 07:00 Sunday

4.3.2、文件备份脚本
脚本/tmp/tsm/script/fullfs.sh
export LOGFILE=/tmp/tsm/log/`date +%m%d.%H%M`file_full.log
dsmc selective file_a -subdir=yes>$LOGFILE
dsmc selective /cm_etl/CM_ETL_LOG/ -subdir=yes>>$LOGFILE

脚本/tmp/tsm/script/increfs.sh
export LOGFILE=/tmp/tsm/log/`date +%m%d.%H%M`file_incre.log
dsmc incremental file_a -subdir=yes>$LOGFILE
dsmc incremental /cm_etl/CM_ETL_LOG/ -subdir=yes>>$LOGFILE

4.3.3、oracle备份脚本
oracle完全备份(包括datafile,controfile,archivelog)
脚本/tmp/tsm/rman/full.sh
rq=`date +"%Y.%m.%d_%H.%M.%S"`
su - oracle -c /tmp/tsm/rman/rman.full.sh >/tmp/tsm/log/rman.full.$rq 2>&1

脚本/tmp/tsm/rman/rman.full.sh
export ORACLE_SID=aml
rman target / rcvcat rman/rman@catalog << EOF_RMAN
run{
allocate channel t1 type 'sbt_tape' parms 'ENV=(tdpo_optfile=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
allocate channel t2 type 'sbt_tape' parms 'ENV=(tdpo_optfile=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
allocate channel t3 type 'sbt_tape' parms 'ENV=(tdpo_optfile=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
allocate channel t4 type 'sbt_tape' parms 'ENV=(tdpo_optfile=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
allocate channel t5 type 'sbt_tape' parms 'ENV=(tdpo_optfile=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
backup full tag 'dbfull' format 'dbfull_%t_%s_%p' diskratio=0 database include current controlfile;
sql 'alter system archive log current';
backup format 'arch%t_%s_%p' diskratio=0 archivelog all delete input;
release channel t1;
release channel t2;
release channel t3;
release channel t4;
release channel t5;
}
EOF_RMAN
## delete OLD backups
export ORACLE_SID=aml
rman target / << EOF_RMAN
allocate channel for maintenance type 'sbt_tape' parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
crosscheck backup;
crosscheck archivelog all;
report obsolete;
delete noprompt obsolete recovery window of 90 days;
delete noprompt expired backup;
release channel;
EOF_RMAN

0
相关文章