DB2 V9.5 备份还原增强特性,第1部分

来源:互联网 发布:汪涵人设崩 知乎 编辑:程序博客网 时间:2024/04/30 16:50
IBM 的 DB2 V9.5 可以使用单一系统视图(Single System View )对多个数据库分区进行备份和还原。本文将重点介绍 DB2 V9.5 关于单一系统视图(SSV)的新特性以及相关的概念,并结合实际的例子帮助大家理解和提高。

IBM 的 DB2 V9.5 可以使用单一系统视图(Single System View )对多个数据库分区进行备份和还原。在 DB2 V9.5 之前,我们只能一次备份一个数据库分区,或者使用 db2_all 先备份包含系统目录的分区,再备份其他分区。一次备份一个数据库分区既费时也可能出错,并且无法在备份映像中包含恢复所需的日志文件,也就是BACKUP 命令在多分区数据库环境中不能使用( DB2 V9.5 之前)。复原多分区数据库比较复杂,因为每个数据库分区的备份时间戳稍微有些差异。虽然使用 db2_all 命令部分简化了备份还原工作,但还是存在备份还原无法完成的问题。

现在,DB2 V9.5可以使用单一系统视图(SSV)对多分区数据库环境直接进行备份和还原,简化了操作难度。另外,DB2 V9.5还引入了前滚至最小恢复时间功能,由于单一系统视图(SSV)和前滚至最小恢复时间是DB2 V9.5的新特性,很多客户不知道该如何使用,本文将重点介绍 DB2 V9.5 关于单一系统视图(SSV)和前滚至最小恢复时间的新特性以及相关的概念,并结合实际的例子帮助大家理解和提高。

简介

IBM 的 DB2 V9.5 可以使用单一系统视图(Single System View)对多个数据库分区进行备份和还原。

在 DB2 V9.5 之前,我们只能一次备份一个数据库分区。一次备份一个数据库分区既费时也可能出错,并且无法在备份映像中包含恢复所需的日志文件,也就是 BACKUP 命令在多分区数据库环境中不能使用(DB2 V9.5 之前)。复原多分区数据库比较复杂,因为每个数据库分区的备份时间戳稍微有些差异。由于每个数据库分区的备份时间戳稍微不同,所以标识所有属于同一备份的 数据库分区备份比较困难,而且也很难确定恢复完成后的最小恢复时间。

虽然使用 db2_all 命令部分简化了备份还原工作,但还是存在备份还原无法完成的问题。在 DB2 V9.5 中,当从分区数据库的目录节点执行备份操作时,您可以指定要在备份中包含哪些分区,也可以指定包含所有数据库分区。DB2 V9.5 将同时备份指定的分区,并且与指定的数据库分区相关联的备份时间戳将相同。

在 DB2 V9.5 之前,如果我们使用联机备份介质进行还原的时候,比较难以确定前滚恢复需要的最小恢复时间以及需要哪些日志文件。现在 DB2 V9.5 已经启用了前滚至最小恢复时间(ROLLFORWARD TO END OF BACKUP),简化了还原操作。另外,在 DB2 V9.5(多分区数据库环境)中执行联机备份的时候,已经可以使用 INCLUDE LOGS 选项了,也就是说,多数据库分区上的备份和还原基本上和单数据库分区的备份和还原差不多,操作十分简便。

本文将重点介绍 DB2 V9.5 关于单一系统视图(SSV)和前滚至最小恢复时间的新特性以及相关的概念,并结合实际的例子帮助大家理解和提高。

我们将按照下列顺序介绍单一系统视图(SSV)和前滚至最小恢复时间以及相关的功能:

  1. 构建多分区数据库环境,创建示例实例 DB2,其有两个节点 0、1,并创建示例数据库 SAMPLE。
  2. 简要介绍单一系统视图(SSV)。
  3. 简要介绍前滚至最小恢复时间。

构建数据库环境

首 先我们在 WINDOWS XP 环境下安装带有 DPF LICENSE的DB2 ESE V9.5,安装完成后,默认创建了实例 DB2,默认情况下其拥有一个节点,节点编号为 0。下面我们简单介绍一下添加数据库分区的命令 db2ncrt 和 ADD DBPARTITIONNUM。

Db2ncrt 命令主要用来在 Windows 环境中(仅在 Windows 环境下使用)把一个数据库分区服务器添加到实例中。如果一个计算机上已经存在一个实例,当往这个实例上添加一个数据库分区服务器时,这个数据库分区服务器 将被作为一个逻辑数据库分区服务器添加到计算机上。如果这个计算机上不存在实例,当把数据库分区服务器添加到这个计算机上时,将添加一个实例,并且这个计 算机将成为一个新的物理数据库分区服务器。当实例中已经存在数据库时不要使用这个命令,可以使用带 ADD DBPARTITIONNUM 选项的 DB2START 命令替代,或者直接在命令行窗口使用 ADD DBPARTITIONNUM 命令。当使用 ADD DBPARTITIONNUM 命令将一个新数据库分区添加至系统时,会将实例中的所有现有的数据库扩充到新数据库分区。不能简单地通过对系统添加数据库分区来将单分区数据库更改为多分 区数据库。这是因为跨数据库分区再分发数据需要每个受影响的表上的分布键。分布键是在多分区数据库中创建表时自动生成的。在单分区数据库中,可使用 CREATE TABLE 或 ALTER TABLE SQL 语句显式地创建分布键。

如果在 Windows 上使用“企业服务器版”,并且该实例没有数据库,那么应使用 DB2NCRT 命令来调整该数据库系统。但是,如果您已有数据库,使用 DB2START ADDNODE 命令,以确保在调整系统时为每个现有的数据库创建一个数据库分区。在 Windows 上,永远都不应手动编辑节点配置文件(db2nodes.cfg),因为这会给该文件带来不一致性。

现在我们 打开一个 DB2CLP 窗口,通过 db2ncrt 命令,添加一个节点,使用/n选项指定节点号为1,使用/u选项指定 DB2 服务的帐户名和密码,使用/i选项指定实例(如果与缺省/当前实例不同的话),使用/h选项指定 TCP/IP 主机名(如果主机名不是机器缺省 TCP/IP 主机名的话)为 CYONG,使用/p选项指定逻辑端口号(如果这不是机器上第一个节点的话)为 1,使用/o选项指定拥有实例的机器的计算机名称(当在机器上创建第一个节点时)为 CYONG。具体如清单1所示:


清单1. 添加节点1到实例DB2中
                

C:/> db2ncrt /n:1 /u:rhette,chengyxuemay7810 /i:DB2 /h:CYONG /p:1 /o:CYONG

DBI1937W db2ncrt 命令成功地添加了节点。在所有节点停止并再次启动之前,该节点不活动。

说明:

在 STOP DATABASE MANAGER(db2stop)命令同时停止所有节点之前,不会将db2nodes.cfg 文件
更新为包括新节点。在更新文件之前,现有的节点无法与新节点通信。

用户响应:

发出 db2stop 来停止所有节点。将所有节点成功停止后,发出 db2start 来启动
所有节点,包括新节点。


命 令成功完成。这样我们就成功的使用 db2ncrt 命令把节点 1 添加到了实例 DB2 中,目前实例 DB2 拥有两个节点,节点编号分别为 0 和 1 。执行完 db2ncrt 命令后,需要重启实例,我们继续在 DB2CLP 窗口中发出 db2stop 和 db2start 命令,具体如清单 2 所示:


本文转自:IBM developerWorks 中国

请点击此处查看全文


原创粉丝点击