DB2 的配置组管理

本文档讨论如何为 DB2 启用配置组管理。

Launchpad 蓝图:https://blueprints.launchpad.net/trove/+spec/db2-config-group

问题描述

Trove 支持配置组管理,但此功能尚未针对 DB2 实现。

提议的变更

DB2 支持数据库管理器配置参数和数据库配置参数。数据库管理器配置参数适用于实例,而数据库配置参数适用于每个数据库。 在本文档中,我们讨论的是为 DB2 数据库管理器实现配置管理。

数据库管理器配置参数存储在 sqllib 目录下的 db2systm 文件中。为了更新配置参数,DB2 建议使用 UPDATE DBM CONFIGURATION 和 RESET DBM CONFIGURATION 命令,而不是直接更新配置文件。要查看完整的配置参数列表,请查阅附录部分。

配置

数据库

公共 API

公共 API 安全

Python API

CLI (python-troveclient)

内部 API

Guest Agent

在 manager 和 service 模块中实现 update_overrides 和 apply_overrides。

以下文件将被更新

/opt/stack/trove/trove/guestagent/datastore/experimental/db2/manager.py
/opt/stack/trove/trove/guestagent/datastore/experimental/db2/service.py
/opt/stack/trove/trove/guestagent/datastore/experimental/db2/system.py

以下文件将被添加

/opt/stack/trove/trove/templates/db2/validation-rules.json

这将适应现有的配置管理器框架。现有的 ‘PropertiesCodec’ 实现将被重用以处理文本文件操作。配置覆盖将使用 guestagent 配置管理器的 ‘ImportStrategy’ 实现。

备选方案

Dashboard 影响 (UX)

实现

里程碑

Newton

工作项

实现与配置相关的 manager API 调用

def update_overrides(self, context, overrides, remove=False)
def apply_overrides(self, context, overrides)

编写单元测试/集成测试(如果适用)

升级影响

依赖项

测试

  • 将添加单元测试和集成测试来测试新功能

文档影响

文档将被更新以反映 Trove 为 DB2 支持的新功能。

附录

数据库管理器配置参数如下所示。有关每个参数的详细描述,请参阅[1]_. 以下列出的参数是适用于 DB2 Express-C 版本的参数。 1 中引用的链接提供了 DB2 企业版的完整参数列表

AGENTPRI
AGENT_STACK_SZ
ALTERNATE_AUTH_ENC
ASLHEAPSZ
AUDIT_BUF_SZ
CATALOG_NOAUTH
CLNT_KRB_PLUGIN
CLNT_PW_PLUGIN
COMM_EXIT_LIST
CUR_EFF_ARCH_LVL
CUR_EFF_CODE_LVL
DFT_ACCOUNT_STR
DFT_MON_BUFPOOL
DFT_MON_LOCK
DFT_MON_SORT
DFT_MON_STMT
DFT_MON_TABLE
DFT_MON_TIMESTAMP
DFT_MON_UOW
DIAGLEVEL
DIAGSIZE
DIR_CACHE
DISCOVER
DISCOVER_INST
FCM_NUM_BUFFERS
FCM_NUM_CHANNELS
FEDERATED
FED_NOAUTH
FENCED_POOL
GROUP_PLUGIN
HEALTH_MON
INDEXREC
INTRA_PARALLEL
JAVA_HEAP_SZ
KEEPFENCED
KEYSTORE_TYPE
LOCAL_GSSPLUGIN
MAX_CONNECTIONS
MAX_COORDAGENTS
MAX_QUERYDEGREE
MON_HEAP_SZ
NOTIFYLEVEL
NUMDB
NUM_INITAGENTS
NUM_INITFENCED
NUM_POOLAGENTS
RESYNC_INTERVAL
RQRIOBLK
SHEAPTHRES
SPM_LOG_FILE_SZ
SPM_MAX_RESYNC
SRVCON_AUTH
SRVCON_GSSPLUGIN_LIST
SRVCON_PW_PLUGIN
SRV_PLUGIN_MODE
SSL_CIPHERSPECS
SSL_CLNT_KEYDB
SSL_CLNT_STASH
SSL_SVCENAME
SSL_SVR_KEYDB
SSL_SVR_LABEL
SSL_SVR_STASH
SSL_VERSIONS
START_STOP_TIME
SYSADM_GROUP
SYSCTRL_GROUP
SYSMAINT_GROUP
SYSMON_GROUP
TM_DATABASE
TP_MON_NAME
TRUST_ALLCLNTS
TRUST_CLNTAUTH
UTIL_IMPACT_LIM
WLM_DISPATCHER
WLM_DISP_CONCUR
WLM_DISP_CPU_SHARES
WLM_DISP_MIN_UTIL

Guest agent 控制的参数

ALT_DIAGPATH
AUTHENTICATION
DFTDBPATH
DIAGPATH
JDK_PATH
KEYSTORE_LOCATION