DM8参数设置
数据库参数
DM 数据库的 ini 参数对于数据库的运行至关重要,不仅关系到数据库性能,还可能会影响到数据库的正常使用,默认和数据文件存放在同一目录。
对于单实例数据库而言,需要关注的有 dm.ini、dmarch.ini、sqllog.ini 等参数配置文件。不同的集群类型,在单实例的基础上,增加了 dmmal.ini、dmwatcher.ini、dmdcr.ini 等多种配置文件。
单实例
- dm.ini 配置文件
单实例配置参数数量较多,绝大部分保持默认即可,只有极小部分需要根据系统实际情况进行配置,如下所示:
参数名称 | 默认值 | 参数描述及建议 | 属性 |
---|---|---|---|
MAX_OS_MEMORY | 95 | 该值用来定义数据库主内存池的扩展上限,通常定义为 70-90 之间即可(表示主池最大占用总内存的 70 %-90 %),如果数据库服务器上还运行其他应用软件,可适当调低。 | 静态 |
MEMORY_POOL | 200 | 数据库的主内存池,是在服务器启动时从 OS 申请的大片内存,后续服务器运行过程中,需要内存分配的地方大部分都是从该池分配。该值用来设置服务器启动时候的主池大小,以 MB 为单位。默认为 200,高并发时应调大,避免频繁向 OS 申请内存。 | 静态 |
MEMORY_TARGET | 0 | 数据库主内存池在扩展到此大小以上后,空闲时间收缩会此指定大小,以 MB 为单位,通常保持默认为 0,代表不限制。 | 静态 |
BUFFER | 100 | 数据库中的数据缓冲区,用来保存从磁盘中读取到的数据,单位为 MB。该缓冲区根据实际用途划分成多区域:普通数据缓冲区、快速数据缓冲区、数据回收缓冲区等等。如果数据量小于内存,则设置为数据量大小;否则设置为总内存的 2/3 比较合适。 | 静态 |
PWD_POLICY | 2 | 用来设置新建用户的密码策略,建议生产中按照生产规范来做要求,密码定期修改,并杜绝泄漏。 | 静态 |
MAX_BUFFER | 100 | 数据缓冲区扩展的最大值,建议和 BUFFER 值设置的一样 | 静态 |
SORT_BUF_SIZE | 2 | 排序缓存区,单位 MB,有大量排序操作时建议调大点。 | 动态,会话级 |
BUFFER_POOLS | 4 | BUFFER 的分区数,一般配置为质数,并发较大的系统需要配置这个参数,减少数据缓冲区并发冲突 | 静态 |
RECYCLE | 64 | 用于缓冲临时表空间,单位为 MB,高并发或大量使用 with、临时表、排序等应该调大点 | 静态 |
RECYCLE_POOLS | 19 | RECYCLE 缓冲区分区数,一般配置为质数,并发较大的系统需要配置这个参数,减少数据缓冲区并发冲突 | 静态 |
DICT_BUF_SIZE | 5 | 用于缓存数据字典,单位为 MB,系统中对象个数较多时适当加大 | 静态 |
WORKER_THREADS | 4 | 工作线程的个数,建议设置为 CPU 核数或其两倍 | 静态 |
MAX_SESSIONS | 100 | 用户最大连接数,一般设置为 2000 即可满足绝大多数应用 | 静态 |
OLAP_FLAG | 2 | OLTP 系统建议设置为 2,OLAP 系统建议设置为 1 | 动态,会话级 |
TEMP_SPACE_LIMIT | 0 | 临时表空间大小上限,单位为 MB,如果有大量排序、临时表操作时可能会占用。关系到磁盘空间占用,建议根据磁盘情况设置上限 | 动态,系统级 |
SVR_LOG | 0 | 是否打开 SQL 日志功能,0:表示关闭;1:表示打开;2:按文件中记录数量切换日志文件。一般生产环境建议设置为 2,搭配参数 SVR_LOG_FILE_NUM 使用 | 动态,系统级 |
SVR_LOG_FILE_NUM | 0 | 总共记录多少个日志文件,当日志文件达到这个设定值以后,再生成新的文件时,会删除最早的那个日志文件,建议根据磁盘情况设置,不宜过多。 | 动态,系统级 |
ENABLE_MONITOR | 0 | 用于打开或者关闭系统的监控功能。1:打开;0:关闭。打开后会对数据库运行情况进行记录,对性能有所损耗,生产环境建议关闭 | 动态,系统级 |
ARCH_INI | 0 | 数据库的归档开关,0:不启用;1:启用;生产环境务必打开,否则会影响到数据库备份。和 dmarch.ini 共同作用 | 动态,系统级 |
以上参数属性分为三种:静态、动态和手动。
- 静态:可以被动态修改,修改后重启服务器才能生效。
- 动态:可以被动态修改,修改后即时生效。动态参数又分为会话级和系统级两种。会话级参数被修改后,新参数值只会影响新创建的会话,之前创建的会话不受影响;系统级参数的修改则会影响所有的会话。
- 手动:不能被动态修改,必须手动修改 dm.ini 参数文件,然后重启才能生效。
上面提到的可动态修改是指 DBA 用户可以在数据库服务器运行期间,通过调用系统过程,执行以下命令:
SP_SET_PARA_VALUE()、SP_SET_PARA_DOUBLE_VALUE()和 SP_SET_PARA_STRING_VALUE()对参数值进行修改。 |
- dmarch.ini 配置文件
该配置文件主要用来配置归档,在单实例下,一般配置为本地归档,并建议分配独立的磁盘存放归档文件,设置每个归档文件 2 GB 大小,并根据磁盘情况设置归档上限,以免撑满磁盘。如下图所示:
数据守护集群
数据守护集群涉及到的配置文件除了以上介绍的单实例部分,还包含 dmmal.ini、dmwatcher.ini、dmmoitor.ini、dmtimer.ini 等。大部分为功能性参数,只要满足集群搭建要求即可,需要重点关注检查的参数如下:
- dmarch.ini 配置文件
该配置文件主要是控制归档文件的形成,数据守护集群的架构下因为主库需要向备库同步归档或者当备库切换为主库是也需要向原主库同步归档,因此都需要比单机的归档配置多配置一个归档类型,详细配置如下:
cd /dmdata/实例名/ vi dmarch.ini |
参数名称 | 默认值 | 参数描述及建议 | 属性 |
---|---|---|---|
ARCH_FILE_SIZE | 1024 | 单位 MB,本地单个归档文件最大值。建议 2048 | 动态 |
ARCH_SPACE_LIMIT | 0 | 单位 MB,0 表示无限制,范围 1024~4294967294 MB。建议为归档存放目录容量的 80% | 动态 |
- dmmal.ini 配置文件
dmmal.ini 是集群数据库各个节点之前内部通讯的验证文件因此需要各个节点配置严格保持一致不然会影响集群的运行,建议参数 MAL_CHECK_INTERVAL 和 MAL_CONN_FAIL_INTERVAL 修改为 60 s,以避免因为网络延时出现脑裂的情况,详细配置如下:
cd /dmdata/实例名/ vi dmmal.ini |
参数名称 | 默认值 | 参数描述及建议 | 属性 |
---|---|---|---|
MAL_CHECK_INTERVAL | 30 | 检测线程检测间隔,范围 (0~1800),如果配置为 0,则表示不进行链路检测,建议修改为 60 s | 静态 |
MAL_CONN_FAIL_INTERVAL | 10 | 检测线程认定链路断开的时间,默认 10 s,范围 (2~1800),建议修改为 60 s | 静态 |
- dmwatcher.ini 配置文件
dmwatcher.ini 是集群守护进程的配置文件,其中请注意这些参数 DW_MODE,INST_AUTO_RESTART,INST_INI 和 INST_STARTUP_CMD,以避免不必要的麻烦,详细配置如下:
cd /dmdata/实例名/ vi dmwatcher.ini |
参数名称 | 默认值 | 参数描述及建议 | 属性 |
---|---|---|---|
DW_MODE | MANUAL | 主备切换模式:MANUAL 手动切换模式,AUTO 自动切换模式。建议使用自动切换模式 | 静态 |
INST_AUTO_RESTART | 0 | 是否自动重启数据库实例,0:不自动重启 1:自动重启。建议为 1 | 静态 |
INST_STARTUP_CMD | 无 | 启动数据库的命令,请写数据库进程的决定路径。 | 静态 |
- dmmoitor.ini 配置文件
dmmonitor.ini 是守护集群的监视器的配置文件,其中有需要确认的是参数 MON_DW_Confirm,MON_LOG_INTERVAL,MON_LOG_FILE_SIZE和MON_LOG_SPACE_LIMIT,详细配置如下:
cd /dmdata/实例名/ vi dmmonitor.ini |
参数名称 | 默认值 | 参数描述及建议 | 属性 |
---|---|---|---|
MON_DW_CONFIRM | 0 | 是否配置为确认模式。0:监控模式;1:确认模式。 | 静态 |
MON_LOG_FILE_SIZE | 64 | 单个日志文件大小,范围 16~2048,单位为 MB,达到最大值后,会自动生成并切换到新的日志文件中。建议为 64 MB | 静态 |
MON_LOG_SPACE_LIMIT | 0 | 日志总空间大小,取值 0 或者 256~4096 单位为 MB,表示没有空间限制,如果达到设定的总空间限制,会自动删除创建时间最早的日志文件。建议为 2048 MB | 静态 |
共享存储集群
共享存储集群涉及到的配置文件除了以上介绍的单实例部分,还包含 dmarch.ini、dmdcr_cfg.ini、dmdcr.ini、dminit.ini、dmmal.ini、dmcssm.ini 等,大部分为功能性参数,只要满足集群搭建要求即可,需要重点关注检查的参数如下:
- dmdcr.ini 配置文件
dmdcr.ini 为共享存储集群各个进程输入参数的配置文件,并且还记录该节点在集群中的编号。需要注意的相关参数有 DMDCR_ASM_RESTART_INTERVAL,DMDCR_DB_RESTART_INTERVAL,和DMDCR_AUTO_OPEN_CHECK,详细配置如下:
cd /dmdb/dmdata Vi dmdcr.ini |
参数名称 | 默认值 | 参数描述及建议 | 属性 |
---|---|---|---|
DMDCR_ASM_RESTART_INTERVAL | 60 | DMCSS 认定 DMASM 节点故障重启的时间间隔(取值 0~86400 s),DMCSS 只负责和 DMDCR_SEQNO 节点号相等的 DMASM 节点的故障重启如果配置为 0,则不会执行自动拉起操作。建议值为 60 | 静态 |
DMDCR_DB_RESTART_INTERVAL | 60 | DMCSS 认定 DMDSC 节点故障重启的时间间隔(取值 0~86400 s),DMCSS 只负责和 DMDCR_SEQNO 节点号相等的 DMDSC 节点的故障重启,如果配置为 0,则不会执行自动拉起操作。建议值为 60 | 静态 |
- dmcssm.ini 配置文件
dmcssm.ini 是共享存储集群的监视器的配置文件,其中需要注意的参数为 CSSM_LOG_FILE_SIZE 和 CSSM_LOG_SPACE_LIMIT,详细配置如下:
Cd /dmdb/dmdbms/cssm Vi dmcssm.ini |
参数名称 | 默认值 | 参数描述及建议 | 属性 |
---|---|---|---|
CSSM_LOG_FILE_SIZE | 64 | 单个日志文件大小,范围 16~2048,单位为 MB,达到最大值后,会自动生成并切换到新的日志文件中。建议为 64 MB | 静态 |
CSSM_LOG_SPACE_LIMIT | 0 | 日志总空间大小,取值 0 或者 256~4096 单位为 MB,表示没有空间限制,如果达到设定的总空间限制,会自动删除创建时间最早的日志文件。建议为 2048 MB | 静态 |