目的:通过对相关厂商文档归纳,总结相关需注意的问题。
1. 安装TSM客户端软件
a) AIX下
安装下列文件集
tivoli.tsm.client.ba
tivoli.tsm.client.hsm.jfs2
tivoli.tsm.client.jbb
tivoli.tsm.client.api.32bit
tivoli.tsm.client.api.64bit
xlC.aix50.rte
xlC.rte
xlsmp.aix50.rte
xlsmp.rte
#simtty installp
b) window下
2. 编辑用户环境文件:(注意此用户为db2实例所使用的用户)
#su - 用户>
$vi $HOME/.profile加入(db2的32位版本,相关bin64改为bin)
export DSMI_DIR=/usr/tivoli/tsm/client/api/bin64(标识 API 可信代理进程文件(dsmtca)所在的用户定义目录路径)
export DSMI_CONFIG=/usr/tivoli/tsm/client/api/bin64/dsm.opt (标识 dsm.opt 文件(它包含 TSM 用户选项)的用户定义目录路径。与另外两个变量不同,此变量应包含全路径和文件名)
export DSMI_LOG=/usr/tivoli/tsm/client/api/bin64(标识将在其中创建错误日志(dsierror.log)的用户定义目录路径)
3. 配置dsm.opt及dsm.sys
#vi /usr/tivoli/tsm/client/api/bin64/dsm.opt
SErvername
#vi /usr/tivoli/client/api/bin64/dsm.sys
SErvername (与dsm.opt中的名称相同)
COMMMethod TCPip
TCPPort 1500
TCPServeraddress
nodename
passwordaccess generate
errorlogname /usr/tivoli/tsm/client/api/bin64/tsmdb2.log (要与DSMI_LOG下的路径一致,并且要有相应的读写权限)
#touch /usr/tivoli/tsm/client/api/bin64/tsmdb2.log
#chmod 666 /usr/tivoli/tsm/client/api/bin64/tsmdb2.log
#cp /usr/tivoli/tsm/client/api/bin64/dsm.sys /usr/tivoli/tsm/client/ba/bin
#cp /usr/tivoli/tsm/client/api/bin64/dsm.opt /usr/tivoli/tsm/client/ba/bin
4. 运行命令dsmapipw,(位于db2实例目录/sqllib/adsm中),tsm api与server连接的密码.
5. 修改db2相关参数:
在使数据库进入备份模式之前,需要使用归档日志.
a)确保没有用户使用Db2:
#db2 list applications for db dbname
#db2stop force
#db2start
其它命令:
#db2 connect to dbname
#db2 get db cfg for dbname
#db2 terminate
#db2 archive log for db sample
b)db2版本8.2以上,不必再为日志文件配置用户出口。不得不分别发送日志
文件并试图断定应使用哪个日志文件的日子已一去不复返。需要做的只是在备份命令中加上短语 include logs。一旦有了一次原始备份,并且所有日志均完好无损,即可保证不损失任何数据。或者运行db2 update db cfg for db using logarchmeth1 tsm 使用tsm管理归档日志。
c)db2版本低于8.2.需要启用用户出口(需要编译相关用户出口程序)
# db2 update db cfg for sample using userexit on 启用用户出口
#db2 update db cfg for sample using logretain on 启用归档日志
6. 开启上述参数后,数据库处于backup pending状态,要求做一次数据库的离
线全备份。
#db2 backup db dbname use tsm
7. 在线备份命令
a) db2>=8.2时
#db2 backup db online use tsm include logs(或db2 backup db online use tsm)
b) db2<8.2时
#db2 backup db online use tsm
8. 数据库恢复
a)使用db2adutl和db2 list history察看备份纪录.
#db2adutl query
#db2 list history backup all for
b)恢复备份历史纪录(每次backup,不论类型,都会备份历史纪录文件)。这里的时间戳应该是最新的
#db2 restore db history file use tsm taken at buffer 100
c)使用db2的恢复帮助工具:
#db2ckrst –d –t –r database
命令返回建议的必需的恢复操作命令
d)恢复数据库
#db2 restore db use tsm
e) 这时数据库处于rollforward-pending state的状态,需要做roll forward 操作:
#db2 rollforward db to and stop
9. 关于是否要设置logarchmeth1(主日志归档方法)参数问题:
此参数指定已归档日志的主要目标的介质类型。
如果更新 userexit 或 logretain 配置参数,将自动更新 logarchmeth1,反之亦然。所以上面配置db2参数时,已经隐式配置了它.
注意,如果您要使用 userexit 或 logretain, 必须将 logarchmeth2 设置为 OFF。
Db2 >=8.2 时使用
#db2 update dbcfg for sample using logarchmeth1 tsm (TSM中所使用的管理类的归档集要有相应的存储池)
10. 配置客户端schedule进程
a)AIX下
#vi /etc/inittab
加入dsmc::once:/usr/bin/dsmc sched 2>&1 1>/dev/null
手动启动
#nohup dsmc sched 2>&1 1>/dev/null &
b) windows下
dsmcutil install scheduler /name:"TSM Schedule进程" /password: /autostart:yes
11. 编译用户出口(注db2 version <8.1的版本,可以用8.1的db2uext2.ctsm)
复制sqllib\samples\c\db2uext2.ctsm为db2uext2.c
a)windows下
修改下列参数:
#define BUFFER_SIZE 4096 /* transmit or receive the log */ /* file in 4k portions */
#define AUDIT_ACTIVE 1 /* enable audit trail logging */
#define ERROR_ACTIVE 1 /* enable error trail logging */
#define AUDIT_ERROR_PATH "c:\\mylogs\\" /* path must end with a slash */
#define AUDIT_ERROR_ATTR "a" /* append to text file */
运行目录>\Bin\vcvars32.bat
cl db2uext2.c –I目录>\include -link 目录>\lib\tsmapi.lib
复制db2uext2.ext到sqllib\adm下.
b)linux下
修改下列参数:
#define BUFFER_SIZE 4096 /* transmit or receive the log */ /* file in 4k portions */
#define AUDIT_ACTIVE 1 /* enable audit trail logging */
#define ERROR_ACTIVE 1 /* enable error trail logging */
#define AUDIT_ERROR_PATH "/export/home/db2inst1/tsm/" /* path must end with a slash */
#define AUDIT_ERROR_ATTR "a" /* append to text file */
运行gcc –I< tsm api目录>/bin/samples -L/usr/lib -lApiDS -o db2uext2 db2uext2.c
复制到$HOME/sqllib/adm下
c)Aix下(安装了Visual Age C Compiler)
修改下列参数:
#define BUFFER_SIZE 4096 /* transmit or receive the log */ /* file in 4k portions */
#define AUDIT_ACTIVE 1 /* enable audit trail logging */
#define ERROR_ACTIVE 1 /* enable error trail logging */
#define AUDIT_ERROR_PATH "/home/db2inst1/tsm/" /* path must end with a slash */
#define AUDIT_ERROR_ATTR "a" /* append to text file */
运行cc –I< tsm api目录>/bin/samples -L/usr/lib -lApiDS -o db2uext2 db2uext2.c
复制到$HOME/sqllib/adm下
参考文档:
1.< Backing Up DB2 Using Tivoli Storage Manager>
2. 信息中心