创建示例数据库DB2TEST1
模拟环境,首先我们在WINDOWS XP环境下安装DB2 ESE V9.1,安装完成后,打开DB2CLP窗口,发出CREATE DATABASE语句,创建示例数据库DB2TEST1,具体如清单1所示:
- - 清单1 .创建示例数据库DB2TEST1 C:\> DB2 CREATE DATABASE DB2TEST1 DB20000I CREATE DATABASE命令成功完成。
执行成功,这样我们就创建了一个示例数据库DB2TEST1,数据库地域是中国(CN),数据库代码页是1386,数据库代码集是GBK。由于数据库默认情况是采用循环日志方式,在循环日志方式下,不能进行联机备份,所以我们需要把日志方式改成归档模式。在DB2CLP窗口中,连接示例数据库DB2TEST1,执行UPDATE DB CFG命令把LOGARCHMETH1参数改成“DISK:C:\DB2\”,具体如清单2所示。
- - 清单2 .修改示例数据库DB2TEST1的配置参数 C:\> db2 connect to db2test1 数据库连接信息 数据库服务器 = DB2 / NT 9.1.0 SQL 授权标识 = RHETTE 本地数据库别名 = DB2TEST1 C:\> DB2 UPDATE DATABASE CONFIGURATION USING LOGARCHMETH1 DISK:C:\DB2\ IMMEDIATE
DB20000I UPDATE DATABASE CONFIGURATION命令成功完成。
SQL1363W 为立即修改而提交的一个或多个参数未动态更改。对于这些配置参数,
必须在所有应用程序都与此数据库断开连接之后,更改才会生效。
执行成功,这样我们就把示例数据库DB2TEST1的日志模式改成了归档,并且归档方法使用手工归档的方法。如果是客户的生产环境使用了磁带机,当磁带管理软件是使用TSM的时候,由于TSM和DB2 V9进行了更深的结合,使用TSM进行日志的归档要比使用第三方厂商的产品效率要更高,管理更容易。如果归档日志是使用TSM放入到磁带机的话,可以直接修改LOGARCHMETH1参数,把其值修改成TSM,另外,在数据库配置参数中,提供了4个配置参数用来定义TSM的管理类等,分别是TSM管理类(TSM_MGMTCLASS)、TSM节点名(TSM_NODENAME)、TSM所有者(TSM_OWNER)和TSM密码(TSM_PASSWORD)。
TSM管理类(TSM_MGMTCLASS)配置参数是用来确定TSM服务器应如何管理正在备份的对象的备份版本。缺省缺省情况是没有DB2指定的管理类。当执行任何TSM备份时,在使用数据库配置参数指定的管理类之前,TSM 首先尝试将备份对象绑定到TSM客户机选项文件中的INCLUDE-EXCLUDE列表中指定的管理类。如果找不到匹配项,则将使用TSM服务器上指定的缺省TSM管理类。然后,TSM将备份对象重新绑定到数据库配置参数指定的管理类。因此,缺省管理类以及数据库配置参数指定的管理类必须包含备份副本组,否则备份操作将失败。
如果归档日志是使用TSM放入到磁带机的话,我们可以在DB2CLP窗口中,发出UPDATE DB CFG命令把配置参数LOGARCHMETH1参数改成TSM,具体如下:
C:\> DB2 UPDATE DATABASE CONFIGURATION USING LOGARCHMETH1 TSM IMMEDIATE
DB20000I UPDATE DATABASE CONFIGURATION命令成功完成。
假如客户的生产环境使用了磁带机,但磁带管理软件使用了第三方的存储管理软件,比如EMC LEGATO,如果想用LEGATO进行日志备份,可以这么修改数据库参数:
$ db2 update db cfg using logarchmeth1 vendor:/usr/lib/libnsrdb2.o
$ db2 update db cfg using logarchopt1 @DB2.cfg
在本文中,我们将使用手工归档的方式,所以我们执行了如清单2所示的命令,把LOGARCHMETH1改成了LOGRETAIN。
建议大家使用LOGARCHMETH1,此参数指定已归档日志的主要目标的介质类型,不要继续使用LOGRETAIN或USEREXIT参数。LOGARCHMETH1参数缺省值为OFF,取值范围可以是LOGRETAIN、USEREXIT、DISK、TSM或VENDOR。各自的含义如下:
? OFF
指定不使用日志归档方法。如果LOGARCHMETH1和LOGARCHMETH2都设置为 OFF,那么认为数据库正在使用循环日志记录,且不可前滚恢复。这是缺省值。
? LOGRETAIN
此值仅可用于LOGARCHMETH1,且等价于将 LOGRETAIN 配置参数设置为 RECOVERY。如果指定此值,将自动更新 LOGRETAIN 配置参数。
? USEREXIT
此值仅对LOGARCHMETH1有效,且等价于将 USEREXIT配置参数设置为 ON。如果指定此值,将自动更新 USEREXIT配置参数。
? DISK
此值后必须紧跟冒号(:),然后是现有标准路径名,日志文件将在其中归档。例如,如果将LOGARCHMETH1设置为 DISK:/u/dbuser/archived_logs,那么将归档日志文件放入名为 /u/dbuser/archived_logs的目录。
注: 如果正在归档至磁带,可以使用 db2tapemgr实用程序来存储和检索日志文件。
? TSM
如果指定不带任何附加配置参数,此值指示应该使用缺省管理类,将日志文件归档在本地 TSM 服务器上。如果此值后紧跟冒号(:)和 TSM 管理类,那么使用指定的管理类来归档日志文件。
? VENDOR
指定将使用供应商库来归档日志文件。此值后必须紧跟冒号(:)和库的名称。库中提供的 API 必须使用备份并复原供应商产品的 API。 注: 如果将LOGARCHMETH1或LOGARCHMETH2设置为 OFF 以外的值,那么必须配置数据库以进行前滚恢复。
如果更新 USEREXIT 或 LOGRETAIN 配置参数,将自动更新LOGARCHMETH1,反之亦然。然而,如果您要使用USEREXIT或LOGRETAIN, 必须将LOGARCHMETH2设置为 OFF。
清单2中的命令执行成功后,由于LOGARCHMETH1配置参数更改成功后,需要等数据库上所有的连接都断开后才会生效,所以我们在DB2CLP窗口中,发出FORCE APPLICATIONS ALL命令断开所有的连接,具体如清单3所示:
- - 清单3 .断开所有应用程序连接 C:\> DB2 FORCE APPLICATIONS ALL
成功后,用LIST APPLICATIONS看所有应用程序是否都断开了,如果没有断开,再重复执行FORCE APPLICATIONS ALL,保证所有连接都断开后,把数据库做一次全备。在我们首次把数据库的日志模式由循环模式改成归档模式后,数据库会处于BACKUP PENDING状态,强制我们进行一次全量备份,在全量备份完成之前,不能访问数据库或表空间。
下面我们在DB2CLP窗口中,发出BACKUP DB命令,全量备份示例数据库DB2TEST1,具体如清单4所示: