暂挂 I/O 分割镜像
发布: 2008-7-01 13:00 | 作者: admin | 查看: 0次

暂挂 I/O 分割镜像
热 荐
【字体:小 大】
暂挂 I/O 分割镜像
作者:- 文章来源:- 点击数:1246 更新时间:2006-4-22 
Shahed QuaziIBM Canada, Toronto Laboratory
2004 年 2 月 本文介绍了 DB2 UDB 的暂挂 I/O 特性,该特性与分割镜像结合为高可用性,数据的清除以及测试环境的创建提供了多种方案。
简介
随着全球电子商务的持续发展,维护大型的数据库并确保它们的高可用性成为了真正 24x7 面向数据的业务取得成功的关键需求。IBM DB2® Universal Database™ (UDB) 的暂挂 I/O 特性为具有持续系统可用性的联机分割镜像提供了一个接口,以满足这种关键需求。本文从 DBA 的视角出发,定义了一些主要概念(分割镜像、暂挂 I/O 以及 db2inidb),并详细解释了三个在 DB2 UDB 中实施分割镜像的不同场景。但因为分割过程随厂商而不同,所以必须查阅存储器厂商提供的相应文档来在适用的系统中创建分割镜像。
主要概念
为了使用 IBM DB2 Universal Database 来实施一个分割镜像场景,首先要理解下面三个概念: 分割镜像 暂挂 I/O db2inidb 工具
分割镜像
分割镜像是磁盘卷的一个相同而独立的副本,可附属于不同的系统,并且具有多种用途,如填充测试系统、作为数据库的热备用副本以及从主机中清除备份。分割镜像对硬件没有特殊要求。然而,我们强烈推荐用户使用智能存储设备,如 IBM Enterprise Storage Server (ESS),即 "Shark"™,以及 EMC® Symmetrix® 3330。由于使用了 FlashCopy™ 技术,ESS 能完全在内部建立准瞬时的数据副本。Symmetrix 上的 EMC TimeFinder® 软件的瞬时分割特性也能以类似的方式分割镜像。
一个数据库的分割镜像包含了数据库目录的全部内容、所有表空间容器、本地数据库目录以及活动日志目录(若没有驻留在数据库目录中)。 仅在使用 db2inidb 工具的 snapshot 选项创建克隆数据库时才需要用到活动日志目录。另外两个选项,standby 和 mirror 都不需要分割活动日志目录。
访问分割镜像的方法各不相同。具体方法由存储器厂商的实现来决定。用户只能用厂商提供的工具来访问分割镜像。
暂挂 I/O
进行镜像分割时,确保源数据库上没有部分的页面写入是很重要的。方法之一就是让数据库脱机。但这种需要停机的方法在真正 24x7 生产环境中是不可行的。为了在分割镜像的过程中提供持续的系统可用性,DB2 Universal Database Version 7 (FixPak 2) 引入了一个称作暂挂 I/O 的新特性,它支持联机分割镜像而无须关闭数据库。暂挂 I/O 特性通过暂挂源数据库上所有的写操作来防止部分的页面写入。虽然数据库处于写暂挂模式下,但是所有的表空间状态都转换为新的 SUSPEND_WRITE 状态,所有其他操作也都能正常执行。然而,诸如从缓冲池中刷新废页或从日志缓冲区中刷新日志记录这类需要进行磁盘 I/O 的事务则必须等待。一旦恢复数据库的写操作,这些事务将继续正常进行。可使用下面的命令来暂挂或恢复源数据库上的写操作:
db2 set write












