控制器实例由一个前端实用程序和一个或多个守护程序组成。 |您启动的控制器的每个实例是特定于数据库管理器的一个实例。 |缺省情况下,当启动控制器时,控制器守护程序在分区数据库的每个分区上启动。 |但是,可以指定在要监视的单一分区上启动守护程序。
| |每个控制器守护程序收集关于对数据库运行的应用程序的信息。 |然后它对照您在控制器配置文件中对此数据库指定的规则检查此信息。
| | |考虑 In-place 表重组(而不是传统表重组)时,要了解 In-place 表重组需要更多日志空间。
|由于 In-place 表重组记录其活动以便在出现意外故障后有可能恢复,因此它需要的日志空间要大于传统重组的日志空间。
|In-place 重组方法所需的日志空间可能是所重组的表大小的数倍。所需的空间数量取决于要移动的行数和表中索引的数量和大小。
|推荐:如果使用最少维护窗口执行 24x7 操作,请选择 In-place 表重组方法。
|DMS 表的联机表重组允许在重组过程中对表所在的表空间启动联机备份操作。在截断阶段可能会存在重组操作的锁定等待。
|有关执行这些表重组方法的详情,请参阅 REORG TABLE 语法描述。
| | |在 AIX(R) 5L 64 位上,DB2_LARGE_PAGE_MEM 注册表变量现在支持关键字 FCM。
|缺省情况下,在 AIX 5L(TM) 64 位上,FCM 内存在 DBMS 内存集中。但是,如果启用了注册表变量 DB2_FORCE_FCM_BP,则 FCM 内存在其自己的内存集中。在 AIX 5L 64 位上,DB2_LARGE_PAGE_MEM 支持指定 DBMS 内存集。当 FCM 内存在 DBMS 内存集中时,将对该内存集启用大页支持,FCM 内存将在大页中。当 FCM 内存在其自己的内存集中时,必须将 FCM 关键字添加至 DB2_LARGE_PAGE_MEM 注册表变量的值,以对 FCM 内存启用大页。
从 DB2 通用数据库(TM)(UDB)版本 8.2.2(相当于版本 8.1 修订包 9)开始,由 DB2_RESOURCE_POLICY 注册表变量指定的配置文件接受 SCHEDULING_POLICY 元素。可在某些平台上使用 SCHEDULING_POLICY 元素来选择:
可单独使用 DB2PRIORITIES 和 DB2NTPRICLASS 来控制操作系统调度策略和设置 DB2 代理进程优先级。
但是,在资源策略配置文件中指定 SCHEDULING_POLICY 元素就可以同时指定调度策略和相关联的代理进程优先级。
选择 AIX SCHED_FIFO2 调度策略并提高 db2 日志的写入和读取进程的优先级:
<RESOURCE_POLICY> <SCHEDULING_POLICY> <POLICY_TYPE>SCHED_FIFO2</POLICY_TYPE> <PRIORITY_VALUE>60</PRIORITY_VALUE> <EDU_PRIORITY> <EDU_NAME>db2loggr</EDU_NAME> <PRIORITY_VALUE>56</PRIORITY_VALUE> </EDU_PRIORITY> <EDU_PRIORITY> <EDU_NAME>db2loggw</EDU_NAME> <PRIORITY_VALUE>56</PRIORITY_VALUE> </EDU_PRIORITY> </SCHEDULING_POLICY> </RESOURCE_POLICY>
替代 Windows 上的 DB2NTPRICLASS=H。
<RESOURCE_POLICY> <SCHEDULING_POLICY> <POLICY_TYPE>HIGH_PRIORITY_CLASS</POLICY_TYPE> </SCHEDULING_POLICY> </RESOURCE_POLICY>
修订包 8 中添加了 DB2_MAPPED_BASE 和 DB2DBMSADDR 系统环境变量。
仅建议高级用户才使用这些注册表变量。
如果未设置此变量,则 DB2 UDB 将尝试把共享库重新定位至虚拟地址 0x10000000。
还可以将该注册表变量设置为 31 位和 32 位地址空间范围内的任何虚拟地址(十六进制)。
db2set DB2_MAPPED_BASE=
以下消息在 db2diag.log 文件中可能会多次出现,这是因为对每个逻辑节点都需要进行一次此更改:
ADM0506I DB2 已自动将“mapped_base”内核参数从 “0x40000000(hex) 1073741824(dec)”更新为建议值 “0x10000000(hex) 268435456(dec)”。
仅当成功设置了该注册表变量时才会出现此消息,并且它将包括共享库被重新定位至的地址。
db2set DB2DBMSADDR=
可以将此变量与 DB2_MAPPED_BASE 一起设置,也可以单独设置此变量,以便精细调整 DB2 UDB 进程的地址空间布局。此变量将把实例共享内存的位置从它在虚拟地址 0x20000000 的当前位置更改为给定的新值。
已在版本 8.2 中添加了 DB2TCP_CLIENT_RCVTIMEOUT 注册表变量。
已在版本 8.2 中添加了 DB2_LARGE_PAGE_MEM 性能变量。
变量名 | 操作系统 | 值 |
---|---|---|
描述 | ||
DB2_LARGE_PAGE_MEM |
仅 AIX(R) 5.x 64 位 Linux |
缺省值为 NULL
使用 * 指示应使用大页内存的所有适用内存区域或者应使用大页内存的特定内存区域的用逗号分隔的列表。可用区域根据操作系统有所变化。在 64 位 AIX 5.x 上,可指定下列区域:DB、DBMS 或 PRIVATE。在 Linux 上,可指定以下区域:DB。 |
大页内存仅对于 DB2 通用数据库(UDB)AIX 5L(TM) 版 64 位版和 DB2 UDB Linux 版才是受支持的。 DB2_LARGE_PAGE_MEM 注册表变量用于在 AIX 5.x 或带有适当内核支持的任何 Linux 体系结构上运行时启用大页支持。此注册表变量不推荐使用 DB2_LGPAGE_BP 注册表变量,该变量只能用于对数据库共享内存区域启用大页内存。现在,可通过设置 DB2_LARGE_PAGE_MEM=DB 启用大页内存。提到使用 DB2_LGPAGE_BP 注册表变量启用大页的任何说明可被视为设置 DB2_LARGE_PAGE_MEM=DB。 大页的使用主要是为了改进性能以获取高性能计算应用程序。使用大量虚拟内存的密集内存存取型应用程序可以通过使用大页来提高性能。为使 DB2 UDB 能够使用大页,必须先将操作系统配置为使用大页。 启用大专用页将显著增加 DB2 UDB 内存使用量,而每个 DB2 UDB 代理进程将至少消耗 1 个大页(16MB)的物理内存。要对 64 位 DB2 UDB AIX 版上的代理进程专用内存启用大页(DB2_LARGE_PAGE_MEM=PRIVATE 设置),除了在操作系统上配置大页之外,还必须满足下列条件:
在 64 位 DB2 UDB AIX 版上,启用此变量将降低共享内存段的大小,使数据库内存的需求降至最低。缺省情况是创建 64 GB 内存段:有关更多详细信息,请参阅数据库共享内存大小(database_memory)数据库配置参数。这将避免在 RAM 中插入过量的共享内存。 通过设置此变量,动态增加总数据库共享内存配置(例如,增加缓冲池的大小)的能力将受到限制。 在 Linux 上,还需要有 libcap.so 库可用。必须先安装此库才能使此选项起作用。如果此选项已打开,且该库不在系统上,则 DB2 UDB 将禁用大内核页并继续如常运作。 在 Linux 上,要验证大内核页是否可用,发出以下命令: cat /proc/meminfo 如果可用,应出现下列三行(带有不同数字,这取决于在机器上配置的内存量): HugePages_Total: 200 HugePages_Free: 200 Hugepagesize: 16384 KB 如果没看到这几行,或者如果 HugePages_Total 为 0,则需要配置操作系统或内核。 |
以下更新适用于《管理指南:性能》的附录 A『DB2 注册表和环境变量』中的主题“SQL 编译器变量”:
当 DB2 编译器变量 DB2_MINIMIZE_LISTPREFETCH 和 DB2_INLIST_TO_NLJN 的其中一个变量或两个变量都设置为 ON 时,它们都保持活动,即使指定了 REOPT(ONCE) 也是如此。
以下是对配置参数文档的更新:
认证类型(认证)数据库管理器配置参数还接受下列值:
服务器接受加密的 SERVER 认证方案和用户数据的加密。认证与 SERVER_ENCRYPT 的工作方式完全相同。
当使用此认证类型时,以下用户数据是加密的:
服务器接受加密的 SERVER 认证方案和用户数据的加密。另外,此认证类型允许与不支持 DATA_ENCRYPT 认证类型的较早产品兼容。这些产品允许使用 SERVER_ENCRYPT 认证类型来进行连接,并且不对用户数据进行加密。支持新的认证类型的产品必须使用该认证类型。此认证类型仅在服务器的数据库管理器配置文件中有效,而在 CATALOG DATABASE 命令上使用该认证类型是无效的。
从 DB2 通用数据库版本 8.2 开始,实例影响策略(util_impact_lim)数据库管理器配置参数的缺省值就从 100 更改为 10。
在所有平台上,下列数据库管理器配置参数全部都可以接受长度为 30 个字节(或更少)的组名:
“数据库管理器配置参数总结”这一主题中的表包含这些数据库管理器配置参数的不正确的数据类型。所有情况下的正确值都是 char(30)。
在基于 Windows(R) 的平台上,扩展存储器内存段大小数据库(estore_seg_size)配置参数的最大大小为 16 777 216。
HADR 超时值(hadr_timeout)数据库配置参数的正确上限为 4 294 967 295。
锁定列表的最大存储器(locklist)数据库配置参数的文档指出仅对本地客户机服务的 Windows 64 位和 32 位服务器的最大值为 60 000。此值是不正确的,应该为 524 288。
数据库备份数(num_db_backups)数据库配置参数的值的范围不正确。正确范围是 0 到 32 767。
从 DB2 通用数据库(UDB)版本 8.1 到版本 8.2 之后, DB2 UDB 将使用新的 16 KB 数据库配置参数文件,其名称为 SQLDBCONF。(在版本 8.1 中,数据库配置参数文件只有 4 KB,其名称为 SQLDBCON)。
从版本 8.1 开始,注册表变量 DB2_HASH_JOIN 缺省情况下将设置为 ON。
应该使用散列连接变量,但是需要调整它才能获得最佳性能。
如果可以避免散列循环和溢出至磁盘,则散列连接性能将是最佳的。要调整散列连接性能,估计可用于 sheapthres 参数的最大内存量,然后调整 sortheap 参数。增大该参数的值,以尽可能避免存在太多散列循环和磁盘溢出,但是,不要达到 sheapthres 参数指定的限制。
有关更多信息,请参阅《管理指南:性能》手册中的“连接方法”主题。
先前通过 DB2NTNOCACHE 实现的功能可通过在 CREATE TABLESPACE 或 ALTER TABLESPACE 语句上指定 NO FILE SYSTEM CACHING 子句在表空间级别实现。有关用法的详细信息,参阅 SQL Reference。DB2NTNOCACHE 注册表变量在将来的发行版中会被除去。
说明表可能对多个用户是公共的。 但是,可对一个用户定义这些说明表,并可对使用相同名称的每个其它用户定义别名以指向定义的表。或者,可在 SYSTOOLS 模式下定义说明表。如果在用于动态 SQL 的用户会话标识或用于静态 SQL 的语句授权标识下未发现任何其它说明表或别名, 则说明设施将缺省为 SYSTOOLS 模式。共享公用说明表的每个用户必须对那些表有插入许可权。公用说明表的读许可权通常也应限于分析说明信息的用户。
如果在编译 SQL 语句时请求说明数据,则捕获该数据。 考虑您期望在请求说明数据时如何使用捕获的信息。
在下列任何一种情况下捕获说明表信息:
整理信息参数仅可使用 db2CfgGet API 显示。它不能通过命令行处理器或控制中心来显示。
此参数提供 260 个字节的数据库整理信息。前面 256 个字节指定数据库整理顺序,其中字节“n”包含代码点的排序权重,该代码点在数据库代码页中的基本十进制表示为“n”。
最后 4 个字节包含关于整理顺序类型的内部信息。collate_info 的最后 4 个字节是整数。该整数依据平台的字节存储顺序。可能的值包括:
如果使用此内部类型信息,在另一平台上检索有关数据库的信息时需要考虑字节反向。
可在创建数据库时指定整理顺序。
从 DB2 通用数据库(UDB)版本 8.2 开始,可以对表空间使用 AUTOMATIC 预取大小。当表空间的容器数更改时,DB2 UDB 将自动更新预取大小。
扩展了 DB2_PARALLEL_IO 注册表变量的语法,以识别具有不同 I/O 并行性特征的容器。通过扩展的语法,不同表空间的容器可以具有不同的 I/O 并行性特征。当为表空间指定的预取大小为 AUTOMATIC 时,将使用每个表空间的 I/O 并行性特征。如果启用了 DB2_PARALLEL_IO 注册表变量,但是未使用用于标识表空间的特定 I/O 并行性特征的扩展语法,则假定使用缺省级别的并行性。缺省级别为 RAID 5(6+1)。
仅当发出了用于更改表空间的预取大小或者更改容器数(使用 ADD/DROP/BEGIN NEW STRIPE SET/ADD TO NEW STRIPE SET)的 ALTER TABLESPACE 语句时,才会刷新优化器使用的预取大小信息。如果每个容器注册表设置的物理磁盘数发生更改,则应该发出 ALTER TABLESPACE <table space name> PREFETCHSIZE AUTOMATIC 语句来刷新优化器信息(除非已经发出了用于刷新优化器信息的 ALTER TABLESPACE 语句)。
如果重定向或者复原了表空间以使用不同的容器数,则通过发出 ALTER TABLESPACE <table space name> PREFETCHSIZE AUTOMATIC 语句来刷新优化器信息。如果一个表空间中有多个条形集,则使用条形集中的最大容器数来计算预取大小。如果通过计算获得的预取大小超过了最大大小(32 767 页),则将小于最大值的容器数的最大乘积用作预取大小。
在 DB2 UDB 企业服务器版环境中,如果表空间使用 AUTOMATIC 预取大小,则不同数据库分区上的预取大小可能不同。这种情况是存在的,这是因为不同的数据库分区用来计算预取大小的容器数可能不同。为了生成查询存取方案,优化器使用数据库分区组中的第一个分区的预取大小。
[ 页的顶部 |上一页 | 下一页 | 目录 ]