WEB开发网
开发学院数据库DB2 DB2 9.5中多线程架构的工作原理 阅读

DB2 9.5中多线程架构的工作原理

 2010-02-18 15:00:57 来源:WEB开发网   
核心提示:MAXFILOP 是每数据库每分区的最大值,对于 32 位,DB2 9.5中多线程架构的工作原理(6),新的默认最大值是 ~32K,对于 64 位,实际上,从管理和应用程序编程的角度来看,新的默认最大值是 ~64K,当前 ulimit 设置(或者

MAXFILOP 是每数据库每分区的最大值。对于 32 位,新的默认最大值是 ~32K,对于 64 位,新的默认最大值是 ~64K。

当前 ulimit 设置(或者,在 AIX 上,如果 ulimit 被设为 unlimited,则为 8GB)。DB2 改写了一个 unlimited 的内核限制。为了得到一个大于 8GB 的内核,必须显式地将内核限制设为大于 8GB 的值,而不是设为 unlimited。

进程模型配置简化

在本节中,您将看到在 DB2 9.5 中配置参数有什么不同的行为。注意默认值和范围,因为它们与之前不同。


图 3. 配置参数
配置参数

如果有性能关键型、非隔离的(unfenced)外部存储过程(SP)或用户定义函数(UDF),那么应确保它们是线程安全的。在迁移时,所有外部的、非隔离 SP 和 UDF 都将变为有隔离(fenced)。
按照惯例,为确保数据完整性,非隔离 SP 和 UDF 应该已经是线程安全的,但是,这不是强制性的。在一个多线程的进程中运行一个非线程安全的 SP 或 UDF 会导致不可预测的问题。因此,在迁移过程中,应创建一个脚本,以便实现对非隔离的转换。

在开始使用之前,先快速查看一下新引入的线程和进程:

db2thcln(线程栈清理):当一个 EDU 终止时回收资源(仅在 UNIX 上)。

db2aiothr(aio 收集器线程):管理数据库分区的异步 I/O 请求(仅在 UNIX 上)。

db2alarm(报警线程):当 EDU 请求的计时器到期时通知 EDU(仅在 UNIX 上)。

db2vend(隔离的供应商进程):代表一个 EDU 执行供应商代码,使实例执行用户退出程序,以便进行日志归档(仅在 UNIX 上)。

db2extev(外部事件处理程序线程):与 SIGUSR2 相同。

db2acd:一个健康监视器进程。

最后,如果升级到 DB2 9.5,会影响当前已有的应用程序吗?
答案是不会,完全不会。这个内部变化根本不会影响应用程序。实际上,从管理和应用程序编程的角度来看,它很大程度上是透明的。

上一页  1 2 3 4 5 6 

Tags:DB 线程 架构

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接