如何综合掌握 DB2 和 Informix
2007-10-01 22:15:20 来源:WEB开发网锁机制
为改善并发性,DB2 和 IDS 结合使用了锁和隔离级别。
锁是一种用来将数据资源与单个事务关联起来的机制,其用途是当某个资源与拥有它的事务关联在一起时,控制其它事务如何与该资源交互。(我们称与被锁定的资源关联的事务持有或拥有该锁。)DB2 数据库管理器和 IDS 用锁来禁止事务访问其它事务写入的未提交数据(除非使用了未提交的读隔离级别),并禁止其它事务在拥有锁的事务使用限制性隔离级别时对这些行进行更新。事务一旦获取了锁,则在终止之前,就一直持有该锁;该事务终止时释放锁,其它事务就可以使用被解锁的数据资源了。
在 DB2 中,锁可以放置在数据库对象如表空间、表和行中。IDS 允许应用程序开发人员将锁放在不同的对象上,如数据库、表、页或行、以及索引。
锁类型
锁具有几种不同的类型,下面列出了其中一些。要了解更多关于锁的内容,请参考 参考资料 一节中的 DB2 和 Informix 信息中心。
- Intent None (IN)
- Exclusive (X)
- Update (U)
- Super Exclusive (Z)
锁属性
所有锁具有如下的基本属性:
- 对象: 标识被锁定的数据资源。DB2 数据库管理器在需要时锁定数据资源(如表空间、表和行)。
- 大小: 指定要锁定的数据资源部分的物理大小。锁并不总是必须控制整个数 据资源。例如,DB2 数据库管理器可以让应用程序独占地控制表中的特定行,而不是 让该应用程序独占地控制整个表。
- 持续时间: 指定了锁被持有的时间长度。事务的隔离级别通常控制了锁 的持续时间。
- 方式: 指定了锁的拥有者所允许的访问类型,以及对锁定数据资源的并发用 户许可的访问类型。这个属性通常称为锁状态。
锁定升级
所有的锁都要求存储空间。因为可用的存储空间不是无限制的,DB2 数据库管理器必须限制可用于锁的空间数量。可以通过 maxlock 数据库配置参数实现此目的。在 IDS 中,可以通过设置 LOCKS 配置参数进行控制。为了防止某个特定的数据库代理超出设置的锁空间限制,当获得大量锁时,将自动执行称为锁定升级的进程。IDS 还提供了一个选项动态增加获得的锁的数量。
工具和实用程序
包含在 DB2 和 IDS 中的工具提供了既省时又可减少错误发生的图形化界面。大量的工具可以帮助 DBA 和应用程序开发人员完成各自的任务。这里只重点介绍其中一些工具:常见的数据移动和数据维护实用工具。
DB2 Control Center
Control Center 是用来管理 DB2 服务器的。它为您提供了实例和数据库的概观,并允许您在 DB2 中执行大部分的数据库操作。正如在图 15 中看到的一样,左面的面板(对象窗格)展示了本地和远程系统中的三种结构,右面的面板(内容窗格)提供了所选的具体项的更多详细内容。
图 15. DB2 Control Center
Informix Server Administrator (ISA)
ISA 是基于 Web 的跨平台的数据库服务器管理工具,用于监视多个 Informix 服务器。ISA 可以用来检查 Informix 实例配置、显示 Informix 实例的存储信息、显示 VP 的信息,还可以用来添加和创建 dbspace,以及监视 Informix 服务器的性能。
图 16. Informix Server Administrator (ISA)
更多工具
下面将对其他工具进行简要说明:
- Configuration Assistant: 一个 DB2 工具,可用于建立客户机/服务器之间的通信并维护注册表变量,除此之外它还可以执行更多工作。
- Configuration Advisor: 对数据库进行调整以获得最佳性能是一个非常困难的任务。DB2 配置参数在决定性能方面起到非常重要的作用,它们可以影响数据库或数据库管理器的操作特性。DB2 Configuration Advisor 向导为数据库管理员提供了一个很好的起点,对能够做出改善的配置参数进行初始设置(如果需要的话)。要了解该主题的更多文章,请参考 参考资料 一节。
- Developer Workbench: DB2 9 引入了一种全新的免费应用程序开发工具,这个工具叫做 DB2 Developer Workbench (DWB),它是基于 Eclipse 框架的。DWB 是用于创建、编辑、调试、部署和测试 DB2 存储过程和用户定义函数的一站式中心。还可以使用 DWB 开发 SQLJ 应用程序,并创建、编辑和运行 SQL 语句和 xml(标准化越来越近了) 查询。
- Onmonitor: IDS 中的 Onmonitor 实用工具可用来创建一个 Informix 实例、修改或查看 Informix 实例的配置、创建 dbspaces、向 dbspace 添加块以及检查数据库信息。
- Onperf: IDS 中的图形化监视工具。Onperf 实用工具可以用来执行例程系统监视和性能监视。
数据移动实用工具
数据移动工具是用来将数据从一个数据库移动到另一个数据库,或将数据从一个环境中移动到另一个环境(比如从测试环境移动到生产环境)。可以从一个数据库卸载或导出数据,然后再将数据导入或加载到另一个数据库。DB2 的 EXPORT、IMPORT 和 LOADData 实用工具可用于此目的。在 IDS 中,这些工具分别被称为 dbexport、dbimport 和 dbload 实用工具。
和上面提到的实用工具不同,DB2 提供了 db2move 实用工具来将全部数据从一个数据库移动到另一个数据库,db2look 实用工具可以生成 DDL 和统计信息。DDL 可被用来在另一个数据库中创建数据库对象,从而复制数据库结构。和这些工具不同,IDS 提供了 High Performance Loader (HPL) 使用工具,可以从 ASCII 文件中卸载和加载数据。
数据维护实用工具
数据被物理地分布到跨多个表空间容器,这种方式对访问数据的应用程序执行方式产生重大影响。DB2 和 IDS 使用目录表中的统计信息来制定最佳访问计划。
要对 DB2 中所有表或一组表的统计信息进行更新,可使用 REORGCHK
命令以及 UPDATE STATISTICS 选项。在 IDS 中,使用 UPDATE STATISTICS
命令更新统计信息。
db2pd 和 onstat
DB2 提供了一个名为 db2pd 的实用工具,用于收集 DB2 实例和数据库的统计信息。db2pd 提供了 20 多个选项显示关于数据库事务、表空间、表统计信息、动态 SQL、数据库配置和其他很多数据库细节的信息。单个 db2pd 命令可以检索多个领域的信息,并把结果保存到文件中。也可以在特定时期内调用该工具一定的次数,帮助您了解随着时间的变化数据库中的变动情况。该工具可用于故障检修、问题确定、数据库监控、性能调优和帮助应用程序的开发设计。要了解更多信息,请参考 参考资料 一节。
Onstat 是一个 IDS 实用工具,当执行此命令时,可读取共享内存结构或片段并打印和 IDS 相关的诊断信息。onstat 实用工具可用来监视 IDS 的性能,它提供了很多选项可用于查看磁盘读写操作、缓冲区使用情况的信息、用户级监视信息、CPU 统计信息、和 LRU 队列相关的信息、网络级统计信息,还可用于分析锁。
结束语
本文简要讨论了 DB2 和 Informix 的不同方面,例如编辑、体系结构、进程、内存模型、数据库和存储模型。您还了解了如何在 DB2 和 Informix 中进行备份和恢复。现在您应该能够开始利用 RDBM 技能深入研究 DB2 和 Informix ,并对其进行实验。建议您阅读更多不同的文章并使用这两种产品来获得更深层次的知识。
更多精彩
赞助商链接