如何使用TSM备份DB2

如题所述

安装好软件后,需要分别对 TSM server 进行配置。

使用 TSM 对 DB2 进行备份,必须对 DB2 备份数据的保存策略以及保存位置进行定义。因此,需要在 TSM server
上,对以下几项进行配置和定义。

定义设备类 (device class)

需要根据备份数据库的大小和备份、还原频率来选择某一种类型的设备类来存储 DB2 的备份数据库。TSM server 使用 define devclass
来完成此功能。

这里使用 FILE 类型的设备类来模拟磁带存储 DB2 备份数据。具体的命令如下:
Define devclass filedevclass devtype=file directory=d:\tsmfiledata\db2backup

如果运行成功,则返回如下结果:
ANR2203I Device class FILEDEVCLASS defined.

该命令定义了一个新的设备类:filedevclass,它的目录指向 d:\tsmfiledata\db2backup。

定义存储池 (storage pool) 和存储卷 (volume)

存储池是一个逻辑概念,它表示了备份 / 归档数据的实际存储设备,每一个存储池都对应了一个特定的设备类。TSM server 使用 define
stgpool 来完成此功能。

下面定义一个存储池用来表示 DB2 备份数据的实际存储位置。具体的命令如下:
Define stgpool db2filepool filedevclass maxscratch=100

如果运行成功,则返回如下结果:
ANR2200I Storage pool DB2FILEPOOL defined(device class FILEDEVCLASS)

他定义了一个新的存储池 db2filepool,并关联了之前定义的设备类 filedevclass.

对于存储池,如果 maxscratch>0, 则表示可以使用 scratch
类型的存储卷,不需要特别定义。当然也可以使用自己定义的存储卷,使用的命令是 define volume。具体示例如下:
Define volume db2filepool d:\tsmfiledata\db2backup\volm1 format=100

如果运行成功,则返回如下结果:
ANR2491I Volume Creation Process starting for D:\TSMFILEDATA\DB2BACKUP\VOLM1

上述命令在 db2filepool 中定义了一个大小为 100M 的存储卷 ,
位置是:D:\tsmfiledata\db2backup\volm1。

定义节点

为了让 DB2 通过 TSM client API 备份数据,必须在 TSM server 上为其注册一个节点,设置它的节点名及密码。相关的命令为
register node。具体示例如下:

register node db2 password

在这里,db2 为新注册的节点,默认注册到 STANDARD 的策略域上。

定义策略

在 TSM server 中,需要为 DB2 使用的节点定义其存储策略。

定义策略域 (policy domain):

TSM server 使用 define domain 命令来定义策略域,具体示例如下:
Define domain db2domain description=”policy domain for db2 backup”

如果运行成功,则返回如下结果:
ANR1500I Policy domain DB2DOMAIN defined

该命令定义了一个名为 db2domain 的策略域。

定义策略集 (policy set):

TSM server 使用 define policyset 命令来定义策略域,具体示例如下:
Define policyset db2domain db2policyset description=”policy set for db2”

如果运行成功,则返回如下结果:
ANR1510I Policy set DB2POLICYSET defined in policy domain DB2DOMAIN

该命令定义了一个名为 db2policyset 的策略集,它是属于 db2domain 这个策略域中的。

定义管理类 (management class):

TSM server 使用 define mgmtclass 命令来定义策略域,具体示例如下:
Define mgmtclass db2domain db2policyset db2mgmtclass
description=”management class for db2”

如果运行成功,则返回如下结果:
ANR1510I Management class DB2MGMTCLASS defined in
policy domain DB2DOMAIN, set DB2POLICYSET.

上述命令定义了管理类 db2mgmtclass, 它属于策略集 db2policyset, 策略域 db2domain。

把定义的管理类作为该策略集中的默认管理类。

TSM server 使用 assign defmgmtclass 命令把设置某个策略集中的默认管理类。具体示例如下:
Assign defmgmtclass db2domain db2policyset db2mgmtclass

如果运行成功,则返回如下结果:
ANR1538I Default management class set to DB2MGMTCLASS
for policy domain DB2DOMAIN, set DB2POLICYSET.

该命令把之前定义的管理类 db2mgmtclass 设置成策略集 db2policyset 的默认管理类。

定义拷贝组 (copy group)

分别为备份数据和归档数据定义 copy group

定义拷贝组的命令是 define copygroup,根据参数 type 的设置,可以分别定义 backup copy group 和 archive
copy group。具体的命令如下:

定义备份拷贝组:
Define copygroup db2domain db2policyset db2mgmtclass dest=db2filepool

如果运行成功,则返回如下结果:
ANR1530I Backup copy group STANDARD defined in policy domain DB2DOMAIN,
set DB2POLICYSET, management class DB2MGMTCLASS.

定义归档拷贝组:
Define copygroup db2domain db2policyset db2mgmtclass
type=archive dest=db2archivepool

如果运行成功,则返回如下结果:
ANR1535I Archive copy group STANDARD defined in policyset
domain DB2DOMAIN,set DB2POILCYSET, management class DB2MGMTCLASS.

这两个命令在 db2mgmtclass 中分别定义了 backup copy group 和 archive copy group, 并指明 backup
和 archive 的数据分别存储在 db2filepool 和 db2archivepool 两个存储池中。其中 db2archivepool 存储池的定义与
db2filepool 的定义是类似的,这里就不再介绍。

验证并激活策略集

TSM server 使用 validate policyset 以及 active policyset
命令来验证并激活策略集。只有激活以后的策略集,才会在后面的备份中使用到。具体的命令示例如下:

验证策略集:
Validate policyset db2domain db2policyset

如果运行成功,则返回如下结果:
ANR1515I Policy set DB2POLICYSET validated in domain DB2DOMAIN(ready for activation)

激活策略集:
Activate policyset db2domain db2policyset

该命令会询问客户是否确认执行,确认后,如果运行成功,则返回如下结果:

ANR1514I Policy set DB2POLICYSET activated in policy domain DB2DOMAIN

上述俩命令验证并激活了策略域 db2domain 中的策略集 db2policyset.

更新 TSM 节点信息

需要更新节点信息,把 TSM 节点指定到为其定义的策略域中。TSM server 使用 update node 来实现该功能。具体命令如下:
Update node db2 domain=db2domain archdelete=yes backdelete=yes

如果运行成功,则返回如下结果:
ANR2063I Node DB2 updated.

该命令把节点 db2 关联到了策略域 db2domain 上,并修改了节点参数 archdelete 和 backdelete 的设置。

到这里,TSM server 端的配置就完成了。关于这些 tsm server 命令的详细介绍,可参考《IBM Tivoli Storage
Manager for AIX Administrator's Reference》。

回页首

设置环境变量

在安装完 TSM backup-archive 客户端后,它会自动安装相应的 TSM client
API,之后需要在系统环境变量中定义三个环境变量。分别是:DSMI_CONFIG, DSMI_DIR 和 DSMI_LOG。之后的 DB2
备份中,将会使用这三个变量。

DSMI_CONFIG

这个环境变量设置了 TSM client API option file 的位置。如果安装了 TSM backup-archive 客户端,则它在
WINDOWS 平台下的默认值为‘C:\Program
Files\Tivoli\TSM\baclient\dsm.opt’。如果把它安装到了其他位置,则将该环境变量设置成相应的值。如果该目录下没有 dsm.opt
文件,可以自己生成一个。关于如何配置该文件可参考《IBM Tivoli Storage Manager for Windows Backup-Archive
Clients Installation and User's Guide》。

DSMI_DIR

这个环境变量设置了 TSM client API 的安装路径。在 WINDOWS 平台下,默认的安装路径为:‘C:\Program
Files\Common Files\Tivoli\TSM\api’。

需要注意的是,TSM V5.5 之前的默认位置是‘C:\Program Files\Tivoli\TSM\api’。新版本发生了一些变化。

DSMI_LOG

该环境变量设置了 TSM client API 的错误日志 dsierror.log 所在的目录位置。如果安装了 TSM backup-archive
客户端,则它在 WINDOWS 平台下的默认值为:‘C:\Program Files\Tivoli\TSM\baclient’。如果没有,生成一个即可。

回页首

对 TSM client 进行配置

配置完 TSM server 后,需要对 TSM client API 进行配置。Windows 主要配置的是 dsm.opt 文件。也就是
DSMI_CONFIG 中所指向的文件。在这个文件中,需要指明 TSM client 与 TSM server 的通讯方式,TSM client 所使用的
TSM 节点名,以及密码的访问模式。下面,如图 1 所示给出一个 dsm.opt 的文件示例。可以用文本编辑器对其进行编辑:

图 1. dsm.opt 的文件示例

回页首

生成 TSM 节点的加密密码

在前面的配置都完成后,需要调用 dsmapipw.exe 可执行文件,默认安装 DB2 的安装目录“c:\program
files\ibm\sqllib\adsm\”下,对之前设置的 TSM 节点密码进行加密。这个加密的密码将会被保存在 windows 的注册表中。

运行 dsmapipw.exe 的时候,将会要求输入当前的节点密码,新密码,并且对新密码进行确认,如图 2 所示。

图 2. 设置的 TSM 节点密码

除了可以通过密码来进行安全保护外,TSM V5.5 版本还提供了一种叫做 Secure Socket Layer(SSL) 的数据保护机制。通过配置使用
SSL, 可以在 client 和 server 之间提供一条安全的通信通道,提高用户备份数据的安全性。具体的 SSL 配置说明,可参考《IBM Tivoli
Storage Manager for Windows Administrator's Guide》。

回页首

对 DB2 进行设置

对于每一个需要备份的 DB2 数据库,它都有四个与 TSM 有关的参数需要设置,分别是:TSM_MGMTCLASS, TSM_NODENAME,
TSM_PASSWORD, TSM_OWNER。

TSM_MGMTCLASS

这个参数值表示的是该数据库将会绑定到哪一个管理类中。如果该参数设置了,那它的优先级将高于默认的管理类和 include-exclude list
中的设置。相应的 DB2 命令为 update db cfg。具体的命令示例如下:
Update db cfg for sample using tsm_mgmtclass db2mgmtclass

如果运行成功,则返回如下结果:
DB20000I The UPDATE DATABASE CONFIGURATION command completed succesfully

该命令把 sample 数据库的配置参数 TSM_MGMTCLASS 的值设置成了之前定义的管理类 db2mgmtclass。

当然,该功能也可以通过 DB2 GUI 来实现。

TSM_NODENAME

该参数值表示了 DB2 数据库备份时使用的节点名。

如果在 dsm.opt 中设定 PasswordAccess=generate,则该参数需要设为空值

如果在 dsm.opt 中设定 PasswordAccess=prompt,则该参数需要设置为前面定义的节点名

TSM_PASSWORD

该参数值表示了 DB2 数据库备份时使用的节点的密码。

如果在 dsm.opt 中设定 PasswordAccess=generate,则该参数需要设为空值

如果在 dsm.opt 中设定 PasswordAccess=prompt,则该参数需要设置为前面定义的节点密码

TSM_OWNER

该参数表示了备份对象的 owner. 这个参数是针对 UNIX 操作系统的,对于 WINDOW 平台,不需要设置。在 UNIX 平台下,

如果在 dsm.opt 中设定 PasswordAccess=generate,则该参数需要设为空值

如果在 dsm.opt 中设定 PasswordAccess=prompt,则该参数需要设置

回页首

进行数据库备份操作

到这里为止,所有的配置都已经完成。现在就可以使用 TSM 来备份 DB2 了。

DB2 的备份操作可以通过 DB2 Command line interface(CLI) 以及 Graphical user
interface(GUI) 来实现。下面,就以 Command line interface 为例进行说明。在 DB2 中的相关命令为 backup
db。具体的命令示例如下:
Backup db sample use tsm.

如果运行成功,则返回如下结果:
Backup successful. The timestamp for the backup image is: 20071127163936

该命令用 TSM 对数据库 sample 进行了一次全备份。这次备份的时间戳为 20071127163936。

在 TSM server 上,可以使用命令 query volume 以及 query content
对备份数据所在的存储卷进行查询,从而可以得到存储的内容。具体示例如下:
Query volume volm1

该命令可以获得存储池 db2filepool 中存储卷 volm1 的信息。
Query content volm1

该命令可以获得存储卷 volm1 中的所有备份文件的信息。

这些命令的运行结果如图 3 所示:

图 3. 数据库备份运行结果

从中可以看到,sample 数据库作为一个文件保存在 TSM 的存储卷中。

回页首

进行数据库还原操作

和数据库的备份一样,数据库的还原操作也可以通过 DB2 Command line interface(CLI) 以及 Graphical user
interface(GUI) 来实现。下面,就以 Command line interface 为例进行说明。它使用的命令是 restore
db。具体的命令示例如下:
Restore db sample use tsm taken at 20071127163936

在这里,sample 数据库使用时间戳为 20071127163936 的数据库备份来进行数据库还原。该命令的运行结果如下图 4 所示:

图 4. 数据库还原命令的运行结果

回页首

进行数据库表空间的备份操作

TSM 除了支持对 DB2 数据库级别的备份之外,还支持表空间级别的备份操作。它同样可以通过 DB2 Command line
interface(CLI) 以及 Graphical user interface(GUI) 来实现。下面,就以 Command line interface
为例。它使用到的命令是 backup database DBNAME tablespace(SPACENAME) online use
tsm。具体的命令示例如下:
Backup database sample tablespace(userspace2) online use tsm

如果运行成功,返回如下结果:
Backup successful. The timestamp for this backup image is: 20080514003631

在这里,TSM 对 sample 数据库中的表空间 userspace2 做了一次全备份,时间戳为 20080514003631。

回页首

进行数据库表空间的还原操作

数据库表空间的还原操作也可以通过 DB2 Command line interface(CLI) 以及 Graphical user
interface(GUI) 来实现。下面,就以 Command line interface 为例。它使用到的命令是 restore database
DBNAME tablespace(SPACENAME) online use tsm。具体的命令示例如下:
restore database sample tablespace(userspace2) online use tsm taken at 20080514003631.

如果运行成功,返回如下结果:
DB20000I The RESTORE DATABASE command completed successfully.

在这里,sample 数据库的表空间 userspace2 使用时间戳为 20080514003631 的备份来进行表空间还原。

TSM 软件把备份的数据保存在各种类型的存储卷中。对于 V5.5 之前的版本,TSM 只允许对 FILE 类型的存储卷进行互斥的访问,而 V5.5
增加了对于 FILE 类型存储卷的并发读写操作。也就是说,在同一时刻,可以允许以下行为的并发:

1.多个 client 对同一个 FILE 类型的存储卷进行并发的读操作。

2.一个 client 对 FILE 类型的存储卷进行写操作,而其他的用户可以同时对该卷进行读操作。

因此,在使用 TSM V5.5 来备份 DB2 数据库 / 表空间的时候,如果采用的是 FILE
类型的存储卷保存备份数据(如本文中的示例),则可以进行以下的并发行为:

1.多个 client 同时对保存在同一个存储卷中的备份数据库 / 表空间进行还原操作。

2.一个 client 在备份 DB2 数据的同时,可以允许其他 client 对该存储卷中的其他备份数据进行还原操作。

TSM V5.5 的这项新功能通过对 FILE 类型存储卷的并发支持,可以比较好的提高客户在还原数据库时的性能。
温馨提示:答案为网友推荐,仅供参考
相似回答