利用配置顾问程序对现有缓冲池大小、数据库配置参数和数据库管理器配置参数进行更改
如我们在上面所讲述的,配置顾问程序默认情况下会在创建数据库的时候调用,如果想对现有的数据库运行配置顾问程序(不管这个数据库以前是否运行过配置顾问程序),都可以在DB2CLP窗口中显式的发出AUTOCONFIGURE命令,或者在在控制中心(DB2CC)打开“配置顾问程序”使用图形化的方式进行配置。
下面我们来讲解一下如何对现有的示例数据库DB2TEST1再一次的调用配置顾问程序。现在我们假设目前有业务系统连接示例数据库DB2TEST1,整个数据库的具体情况如下:
-数据库服务器上只运行了DB2,没有其他应用程序或中间件,数据库可以使用的内存是60%。Ø
-Ø 连接数据库DB2TEST1的应用系统,是一个交易系统,主要处理银行柜台业务,也就是说业务系统是OLTP系统。
Ø -每个工作单元中的平均SQL语句数是30。
-每分钟的事务数大体有100个。Ø
Ø -白天是生产系统运行的时间,以保证业务为主,晚上可以脱机备份,如果必要的话,还原也将是在晚上进行。数据库管理的优先级是以保证业务为主,事务性能越快越好。
-由于是生成系统,所有数据库中已经有了大量数据。Ø
-在数据库服务器上没有本地应用程序在运行。Ø
Ø -外部应用系统通过应用服务器和数据库服务器进行连接,平均连接数大约有200个。
-银行柜台业务系统主要以行级锁为主。Ø
-由于使用了DB2Ø V9,并使用了自动自调整内存功能,所有缓冲池被设置成了AUTOMATIC。缓冲池是可以调节大小的。
根据整个系统的具体情况,我们得到了输入参数的值,分别是:
-内存百分比(MEM_PERCENT):60%。Ø
-Ø 工作负载类型(WORKLOAD_TYPE):由于业务系统是OLTP系统,所以工作负载类型为“事务”。
-Ø 单个工作单元中的平均SQL语句数(NUM_STMTS): 30。
- 每分钟事务数(TPM):100。Ø
Ø -指定数据库管理优先级(ADMIN_PRIORITY):数据库管理的优先级是以保证业务为主,事务性能越快越好。
Ø -指定数据库是否填充了数据(IS_POPULATED):是。
Ø -指定与此数据库连接的本地应用程序平均数(NUM_LOCAL_APPS):在数据库服务器上没有本地应用程序在运行,所以本地应用程序与此数据库连接的平均数是0。
-指定与此数据库连接的远程应用程序平均数(NUM_REMOTE_APPS):200。Ø
-Ø 选择最能反映应用程序的隔离级别(ISOLATION):银行柜台业务系统主要以行级锁为主,所以最能反应应用程序的隔离级别是游标稳定性(CS)。
Ø -缓冲池是否可以自动调节大小(BP_RESIZEABLE):是。
下面我们在DB2CLP窗口环境中,连上示例数据库DB2TEST1,发出AUTOCONFIGURE命令,其APPLY选项选择NONE,让配置顾问程序给出推荐值但不应用。调用AUTOCONFIGURE的命令具体如清单11所示:
- - 清单11.调用AUTOCONFIGURE命令
C:\> db2 connect to db2test1
数据库连接信息
数据库服务器 = DB2 / NT
SQL 授权标识 = RHETTE
本地数据库别名 = DB2TEST1
C:\> db2 autoconfigure using mem_percent 60 workload_type simple num_stmts 30 tp
m 100 admin_priority performance is_populated yes num_local_apps 0 num_remote_ap
ps 200 isolation cs bp_resizeable yes apply none
数据库管理器配置的当前和建议值
描述 参数 当前值建议值
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
代理程序的堆栈大小 ( AGENT_STACK_SZ ) = 16 16
应用程序支持层堆大小(4KB) ( ASLHEAPSZ ) = 15 15
内部通信缓冲区数(4KB) ( FCM_NUM_BUFFERS ) = AUTOMATIC AUTOMATIC
启用分区内并行性 ( INTRA_PARALLEL ) = NO NO
最大查询并行度 ( MAX_QUERYDEGREE ) = ANY 1
最大现有代理程序数 ( MAXAGENTS ) = 400 400
代理程序池大小 ( NUM_POOLAGENTS ) = 200(已计算) 400
池中的初始代理程序数 ( NUM_INITAGENTS ) = 0 0
专用内存阈值(4KB) ( PRIV_MEM_THRESH ) = 20000 112000
最大请求者 I / O 块大小(以字节计) ( RQRIOBLK ) = 32767 32767
排序堆阈值(4KB) ( SHEAPTHRES ) = 0 0
数据库配置的当前和建议值
描述 参数 当前值建议值
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
最大应用程序控制堆大小(4KB) ( APP_CTL_HEAP_SZ ) = 128 128
应用程序组内存集的最大大小(4KB) ( APPGROUP_MEM_SZ ) = 30000 30000
缺省应用程序堆(4KB) ( APPLHEAPSZ ) = 256 256
目录高速缓存大小(4KB) ( CATALOGCACHE_SZ ) = ( MAXAPPLS*4 ) 260
更改的页阈值 ( CHNGPGS_THRESH ) = 60 80
数据库堆(4KB) ( DBHEAP ) = 600 1785
并行度 ( DFT_DEGREE ) = 1 1
缺省表空间扩展数据块大小(页) ( DFT_EXTENT_SZ ) = 32 32
缺省预取大小(页) ( DFT_PREFETCH_SZ ) = AUTOMATIC AUTOMATIC
缺省查询优化类 ( DFT_QUERYOPT ) = 5 5
锁定列表的最大存储量(4KB) ( LOCKLIST ) = AUTOMATIC AUTOMATIC
日志缓冲区大小(4KB) ( LOGBUFSZ ) = 8 143
日志文件大小(4KB) (LOGFILSIZ) = 1000 2048
主日志文件的数目 (LOGPRIMARY) = 3 14
辅助日志文件的数目 (LOGSECOND) = 2 0
最大活动应用程序数 ( MAXAPPLS ) = AUTOMATIC AUTOMATIC
每个应用程序的锁定百分比列表 ( MAXLOCKS ) = AUTOMATIC AUTOMATIC
组落实计数 ( MINCOMMIT ) = 1 1
异步页清除程序的数目 ( NUM_IOCLEANERS ) = 1 2
I / O 服务器的数目 ( NUM_IOSERVERS ) = 3 3
程序包高速缓存大小(4KB) ( PCKCACHESZ ) = AUTOMATIC AUTOMATIC
软检查点前回收的日志文件的百分比 ( SOFTMAX ) = 100 490
排序列表堆(4KB) ( SORTHEAP ) = AUTOMATIC AUTOMATIC
SQL 语句堆(4KB) ( STMTHEAP ) = 2048 2048
统计信息堆大小(4KB) ( STAT_HEAP_SZ ) = 4384 4384
实用程序堆大小(4KB) ( UTIL_HEAP_SZ ) = 5000 5000
自调整内存 ( SELF_TUNING_MEM ) = ON ON
自动 runstats ( AUTO_RUNSTATS ) = ON ON
共享排序的排序堆域值(4KB) ( SHEAPTHRES_SHR ) = AUTOMATIC AUTOMATIC
缓冲池的当前和建议值
描述 参数 当前值建议值
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IBMDEFAULTBP 缓冲池大小 = -2 250
DB210205W 由于根据您的响应确定的其他内存需求,“配置顾问程序”向导无法增加缓冲池的大小。缓冲池大小未更改。使用一组建议的配置值可能会导致服务器上的页面调度。
DB210203I AUTOCONFIGURE成功完成。可能更改了数据库管理器或数据库配置值。必须重新启动实例,所有更改才能生效。您可能还想要在新配置参数生效之后重新绑定程序包,以便使用新值。
命令执行成功,如清单11所示,配置顾问程序给出了建议值(红色标识出来的部分),但没有应用,如果我们想应用的话,可以通过命令直接进行应用。一般来说,在调用配置顾问程序的时候,如果不确定提示值(即,传递至命令的参数),则可以忽略它并使用缺省值。使用顾问程序时,最多可以传递 10 个提示:MEM_PERCENT、WORKLOAD_TYPE 等,如上面所显示的。每个提示都有一个可接受值范围;例如,1-100 对于MEM_PERCENT有效。如果省略此参数的值,将使用它的缺省值 25。