Chinaunix首页 | 论坛 | 博客
  • 博客访问: 151610
  • 博文数量: 20
  • 博客积分: 1550
  • 博客等级: 上尉
  • 技术积分: 320
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-19 17:08
文章分类

全部博文(20)

文章存档

2011年(2)

2010年(2)

2009年(1)

2008年(15)

我的朋友

分类:

2008-05-02 01:14:11

TSM下db2备份及恢复

 

目的:通过对相关厂商文档归纳,总结相关需注意的问题。

 

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加入(db232位版本,相关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.optdsm.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 apiserver连接的密码.

 

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)使用db2adutldb2 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.ctsmdb2uext2.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.extsqllib\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. 信息中心

阅读(3996) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~