ITPub博客

首页 > Linux操作系统 > Linux操作系统 > TSM利用DB2 V9LOGARCHMETH1备份和恢复

TSM利用DB2 V9LOGARCHMETH1备份和恢复

原创 Linux操作系统 作者:karenzz 时间:2019-02-01 21:00:05 0 删除 编辑
Logarchmeth1参数,在归档日志模式下,对数据库发出带ONLINE和INCLUDE LOG选项的BACKUP DATABASE命令,联机全量备份;利用前滚恢复滚动到日志末尾完成最后的操作。

我们将按照下列顺序进行利用TSM的联机备份还原DB2数据库:
1. 创建示例数据库DB2TEST1,并把日志改成归档模式,并运用一下DB2 V9新增的配置参数LOGARCHMETH1。创建示例表TEST1,并插入两条记录。
2. 联机全量备份数据库DB2TEST1,备份期间对示例表TEST1插入一条记录。
3. 使用联机全量备份映像恢复示例数据库DB2TEST1,并前滚恢复到日志末尾。
4. 修改示例数据库DB2TEST1配置参数TRACKMOD,使其允许跟踪数据库的更新。
5. 在增量模式下联机备份数据库:对示例表TEST1再次插入2条记录,并对示例数据库DB2TEST1进行联机备份;对示例表TEST1再插入两条记录,对示例数据库DB2TEST1进行联机增量备份;对示例表TEST1再插入两条记录,对示例数据库DB2TEST1进行联机差异备份。
6. 手工增量复原示例数据库DB2TEST1。
7. 自动增量复原示例数据库DB2TEST1。

1、
建示例数据库DB2TEST1,具体如清单1所示:

- - 清单1 .创建示例数据库DB2TEST1

C:> DB2 CREATE DATABASE DB2TEST1
DB20000I CREATE DATABASE命令成功完成。


命令执行成功,这样我们就创建了一个示例数据库DB2TEST1,数据库地域是中国(CN),数据库代码页是1386,数据库代码集是GBK。由于数据库默认情况是采用循环日志方式,在循环日志方式下,不能进行联机备份,所以我们需要把日志方式改成归档模式。在DB2CLP窗口中,连接示例数据库DB2TEST1,执行UPDATE DB CFG命令把LOGARCHMETH1参数改成“TSM”,具体如清单2所示。


- - 清单2 .修改示例数据库DB2TEST1的配置参数

C:> db2 connect to db2test1

数据库连接信息

数据库服务器 = DB2 / NT 9.1.0
SQL 授权标识 = RHETTE
本地数据库别名 = DB2TEST1

C:> DB2 UPDATE DATABASE CONFIGURATION USING LOGARCHMETH1 TSM IMMEDIATE

DB20000I UPDATE DATABASE CONFIGURATION命令成功完成。
SQL1363W 为立即修改而提交的一个或多个参数未动态更改。对于这些配置参数,
必须在所有应用程序都与此数据库断开连接之后,更改才会生效。

另外,在数据库配置参数中,提供了4个配置参数用来定义TSM的管理类等,分别是TSM管理类(TSM_MGMTCLASS)、TSM节点名(TSM_NODENAME)、TSM所有者(TSM_OWNER)和TSM密码(TSM_PASSWORD)。这些参数的配置和以前的TSM 备份DB2没有区别。

改变归档模式后,应该对数据库做全备份

C:> DB2 BACKUP DB DB2TEST1
备份成功。此备份映像的时间戳记是:20070928212852


下面我们来创建一个示例表TEST1

C:> DB2 CREATE TABLE TEST1( ID INT , NAME VARCHAR ( 10 ) , NOTE VARCHAR ( 50 ) )
DB20000I SQL命令成功完成。

C:> DB2 INSERT INTO TEST1 VALUES ( 1 , ' Wang' , ' the first rows ' )
DB20000I SQL命令成功完成。

C:> DB2 INSERT INTO TEST1 VALUES ( 2 , ' Ding ' , ' the second rows ' )
DB20000I SQL命令成功完成。

进行联机备份

C:> db2 backup db db2test1 online include logs

备份成功。此备份映像的时间戳记是:20070928223032


在联机备份数据库期间(备份没有完成之前),我们继续对示例数据库DB2TEST1进行操作,对TEST1表新插入一条记录,具体如清单9所示:

- - 清单9 .插入测试表一条新的记录

C:> DB2 INSERT INTO TEST1 VALUES ( 3 , ' Li ' , ' the third rows ' )
DB20000I SQL命令成功完成。

恢复

为了模拟日志丢失,我们进入C:DB2NODE0000SQL00002SQLOGIDR(想查看示例数据库DB2TEST1的活动日志目录,可以使用GET DB CFG看到),删除所有的日志文件。

C:> db2 restore db db2test1 taken at 20070928223032 logtarget C:DB2NODE0000SQL00002SQLOGDIR
SQL2539W 警告!正在复原至与备份映像数据库相同的现有数据库。数据库文件将被删除。


要继续吗?( y / n ) y
DB20000I RESTORE DATABASE命令成功完成。


由于归档日志情况下的利用联机备份映像还原必须进行前滚恢复,所以接下来我们进行前滚恢复。

C:> db2 rollforward db db2test1 to end of logs and stop


连接上示例数据库DB2TEST1,发出SELECT语句,查看示例表TEST1,可以看到我们在联机备份时插入的数据,名称为“Li”的记录已经成功恢复,具体如清单13所示:

- - 清单 13 .查看示例表TEST1

C:> DB2 CONNECT TO DB2TEST1

数据库连接信息

数据库服务器 = DB2/NT 9.1.0
SQL 授权标识 = RHETTE
本地数据库别名 = DB2TEST1


C:> DB2 SELECT * FROM TEST1

ID NAME NOTE
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1 Wang the first rows
2 Ding the second rows
3 Li the third rows

3 条记录已选择。

说明:

1、在归档日志模式下,对数据库发出带ONLINE和INCLUDE LOG选项的BACKUP DATABASE命令,联机全量备份示例数据库DB2TEST1,备份映像中包含联机备份期间相关的日志。
2、利用带LOGTARGET选项的RESTORE DATABASE命令,使用联机备份映像恢复示例数据库DB2TEST1,并把日志文件中的日志文件解压到示例数据库DB2TEST1的活动日志目录中。
3、利用前滚恢复滚动到日志末尾完成最后的操作。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/189512/viewspace-119989/,如需转载,请注明出处,否则将追究法律责任。

下一篇: TSM概念笔记
请登录后发表评论 登录
全部评论

注册时间:2004-12-02

  • 博文量
    37
  • 访问量
    28657