自治特性
从 Oracle 9i 到 10g,Oracle 在调优方面作了一些改进。Oracle 将以下方面的调优进行了自动化:
- Redo Logfile Sizing Advisor —— 该特性就重做日志文件的最佳大小给出建议,以避免因频繁出现的检查点而导致过多的磁盘 I/O。
- Automatic Checkpoint Tuning —— Oracle 数据库现在可以自调优检查点,以取得良好的恢复速度,同时减少对正常吞吐率的影响。 这样便不再需要设置任何与检查点相关的参数。
- Automatic Shared Memory Tuning —— Automatic Shared Memory Tuning 通过自调优算法将 System Global Area (SGA) 内存相关参数(缓冲区缓存、共享池)的配置自动化。它简化了数据库的配置,确保可用内存得到最有效的利用,并提高了性能。
- Transaction Rollback and Recovery Monitoring —— 该特性便于估计回滚一个事务要花多少时间。还可以监控被恢复的事务的进程,并估计事务恢复的平均速度。
Oracle 还提供了一些 advisor,例如 segment advisor 和 undo advisor。segment advisor 根据对象内的空间拆分程度给出是否可以对一个对象执行新的在线压缩操作的建议。而且,这个 advisor 还给出关于段的历史增长趋势的报告,特别是能为容量规划提供有效的信息。 另一方面,Undo Advisor 则帮助管理员在调整 flashback 和非 flashback 中的表空间的大小时作出正确的判断。它为管理员适当地设置 UNDO_RETENTION 提供建议,以避免快照过于陈旧的问题。
DB2 9 引入了一些新的自治增强。例如,DB2 9 引入一种新的自调优内存特性(使用 self_tuning_mem 数据库配置参数),该特性自动地设置一些内存配置参数的值,从而简化了内存配置任务。自动调优器充当调度器的角色,它算出可用的内存资源,动态地将它们分发给数据库的一些内存消费者。
除了自调优内存,DB2 9 还引入了下面提到的其他一些增强。这份列表并不完整,但是其中列出的都是重要的增强。
自动配置
DB2 8 引入了 Configuration Advisor,它可以检测系统和数据库的特征 —— CPU、内存、数据库大小、表的数量等,并为配置参数给出建议的值。DB2 9 则更进一步 —— 它在数据库创建之后自动运行 configuration advisor,并缺省地做出一些基本的调优决定。例如,它配置缺省缓冲池的大小、I/O 清理程序和 I/O 服务器等。 这种初始的自动调优意味着,同使用之前缺省的数据库配置参数值创建的数据库相比,现在的数据库将拥有更好的性能,并且有更好的即开即用性。
自动数据统计信息收集
缺省情况下,DB2 9 还允许对某些进行中的任务进行自动化。通过该特性,DB2 确定需要哪些统计信息,以及哪些统计信息需要更新,然后自动在后台执行 RUNSTATS 实用程序。
自动存储管理
DB2 9 扩展了在 DB2 V8.2.2 中首次引入的自动存储特性。自动存储自动增长跨磁盘和文件系统的数据库的大小,由于它是自动增长数据库大小的,因此 DBA 不需要管理存储容器。当在 DB2 9 中创建数据库时,自动存储管理特性是缺省地启用的。
自动表和索引重组增强
自动重组是从 8.2 版开始引入的。但是,DB9 对其加以增强,从而允许做以下事情:
- 指定具有适当页宽的系统临时表空间,用于离线表重组。
- 可限制被重组的表的大小。
- 指定自动索引重组应该在线运行,并且在在线维护窗口中运行。
- 指定在重组期间是保留还是重新构建压缩目录。
工具
我们来看看不同领域的一些工具,例如数据库创建和维护、网络、管理 GUI、性能调优、数据移动和备份恢复工具。
图 15 显示了这些 DB2 9 GUI 工具。
图 15. DB2 9 GUI 工具
让我们看看类似的任务在 Oracle 和 DB2 9 中分别是怎样执行的。
数据库创建和维护
Oracle 提供了 Database Configuration Assistant(dbca)作为创建数据库的 GUI 工具。对于数据库维护,Oracle 提供了 Oracle Enterprise Manager。DB2 数据库则可以通过 DB2 Control Center 创建和维护。
网络
Oracle 提供了 Network Configuration Assistant(netca)来进行网络配置。或者,也可以使用 Oracle Network Manager 来配置服务名、侦听器、配置文件和 Oracle 名称服务器。DB2 则使用 CATALOG 命令来编目节点和数据库。此外还可以使用 DB2 命令行或 DB2 Configuration Assistant GUI 进行编目。
管理
Oracle Enterprise Manager 提供了针对管理员日常任务的广泛管理功能。DB2 Control Center 也提供了和 Oracle Enterprise Manager 类似的功能。除了 DB2 Control Center 外,还可以使用 DB2 命令行处理器来发出 DDL 和 DML 语句。该实用程序类似于 Oracle 的 SQLPLUS 实用程序。
图 16 显示了 DB2 命令行处理器。
图 16. DB2 命令行处理器
还可以在 Command Center 中发出命令,如
图 17 所示。
图 17. Command Center GUI(DB2 命令行处理器的 GUI 版本)
性能调优
Oracle Enterprise Manager 附带有 Change Management Pack、Tuning Pack 和 Diagnostic Pack。DB2 则提供了 Event Analyzer、Health Center、Indoubt Transaction Manager 和 Memory Visualizer 作为性能调优任务的 GUI 工具。
数据移动
Oracle 提供了 SQL Loader(sqlldr)用于以定界文本格式装载数据。Import(imp)和 export(exp)可用于执行逻辑导入和导出。DB2 提供了类似的导入、导出和装载实用程序。对于跨平台的数据移动,DB2 提供了 db2move 实用程序。
备份和恢复
Oracle 提供了 Recovery Manager 作为热备份的选项。在 DB2 中,可以使用 backup 命令或 DB2 Control Center 备份数据库。
Oracle 10g Enteprise Manager 附带了新的性能概要表。增强的 Oracle Enterprise Manager HTML 界面为所有与数据库性能相关的统计信息提供了一个集中的访问点,为全面的监控和诊断提供了方便。
除了随 DB2 UDB version 8 发布的界面外,DB2 9 还引入了一种全新的免费应用程序开发工具,这个工具叫做 DB2 Developer Workbench(DWB),它是基于 Eclipse 框架的。这个工具可以单独下载,也可通过光盘获得,它替代了 DB2 8 的 Development Center。 DWB 是用于创建、编辑、调试、部署和测试 DB2 存储过程和用户定义函数的一站式中心。此外,还可以使用 DWB 来开发 SQLJ 应用程序,以及创建、编辑和运行 SQL 语句和 XML 查询。
DWB 有一些用于开发 DB2 业务对象的视图,例如:
- Database Explorer 视图 —— 显示数据库中有什么对象(表、存储过程、用户定义函数、依赖关系、远程服务器等),并允许在这些对象上执行动作。
- Data Project Explorer 视图 —— 在该视图中,可以通过简单的操作,例如拖放、复制粘贴、向导、上下文敏感的完成选项等,进行过程、用户定义函数和 SQL 语句的开发。
- Data Output 视图 —— 在该视图中可以看到对数据库的数据开发的报告。
除了 DB2 8 的 Development Center 的功能外,新的 Developer Workbench 还包括对迁移报告、比较例程、XML 函数和使用 XQuery Builder 构建 XQuery 查询等等的支持。现在可以从网站下载
DB2 Developer Workbench 。
要了解关于 DB2 Developer Workbench 的更详细的信息,请阅读 developerWorks 中的这篇
教程。要得到更详尽的示例和特性,请参考 developerWorks 中的文章
DB2 9 入门: 应用程序开发方面的增强。
图 18 展示了如何使用 DWB 创建存储过程:
图 18. DB2 Developer WorkBench
