Skip to content

DM 核心配置参数

配置参数的分类

根据功能和用途,DM数据库的配置参数可以分为以下几类:

  • 系统参数:控制数据库系统的基本行为
  • 性能参数:影响数据库性能的参数
  • 安全参数:控制数据库安全性的参数
  • 存储参数:控制数据库存储行为的参数
  • 网络参数:控制数据库网络行为的参数
  • 日志参数:控制数据库日志行为的参数

配置参数的管理

DM数据库的配置参数可以通过以下方式管理:

  • 修改dm.ini配置文件
  • 使用SP_SET_PARA_VALUE存储过程动态修改
  • 使用DM管理工具图形化配置
  • 使用dmctl命令行工具配置

系统核心参数

1. 实例基本信息

参数名描述默认值建议值
INSTANCE_NAME实例名称,用于标识数据库实例DMSERVER根据实际环境设置
PORT_NUM数据库服务端口5236根据实际环境设置,建议使用非默认端口
SVR_VERSION服务器版本号,只读参数--
DB_NAME数据库名称DAMENG根据实际环境设置
INI_FILE_PATHdm.ini文件路径,只读参数--

2. 数据库模式

参数名描述默认值建议值
COMPATIBLE_MODE兼容模式,0:不兼容,1:兼容Oracle,2:兼容MS SQL,3:兼容MySQL0根据应用需求设置
CHARSET字符集,0:GB18030,1:UTF-8,2:EUC-KR0根据应用需求设置
LENGTH_IN_CHARVARCHAR类型长度是否按字符计算0建议设置为1,按字符计算
CASE_SENSITIVE标识符大小写敏感,0:不敏感,1:敏感1根据应用需求设置

性能核心参数

1. 内存管理

参数名描述默认值建议值
MEMORY_POOL内存池大小(MB)100根据服务器内存大小设置,建议为物理内存的10%
BUFFER数据缓冲区大小(MB)100根据服务器内存大小设置,建议为物理内存的50%
DICT_BUF_SIZE字典缓冲区大小(MB)10根据数据库大小设置,建议为50-200
SORT_BUF_SIZE排序缓冲区大小(MB)6根据应用需求设置,建议为50-200
HJ_BUF_SIZE哈希连接缓冲区大小(MB)12根据应用需求设置,建议为100-500
USE_PLN_POOL是否使用执行计划池0建议设置为1,提高重复SQL的执行效率
PLAN_POOL_SIZE执行计划池大小100根据SQL复杂度设置,建议为500-2000

2. 并发控制

参数名描述默认值建议值
MAX_SESSIONS最大会话数100根据并发需求设置,建议为500-2000
MAX_SESSIONS_PER_USER每个用户的最大会话数50根据用户需求设置
WORKER_THREADS工作线程数4根据CPU核心数设置,建议为CPU核心数的1-2倍
TASK_THREADS任务线程数4根据CPU核心数设置,建议为CPU核心数的1-2倍
IO_THR_GROUPSI/O线程组数1根据存储设备类型设置,建议为2-4
IO_THR_PER_GRP每组I/O线程数4根据存储设备类型设置,建议为4-8

3. 优化器

参数名描述默认值建议值
OPTIMIZER_MODE优化器模式,0:规则优化,1:代价优化1建议使用代价优化
OPTIMIZER_LEVEL优化器级别,0-5,级别越高,优化越充分2根据SQL复杂度设置,建议为3-4
JOIN_ORDER_MODE连接顺序选择模式,0:用户指定顺序,1:优化器选择顺序1建议使用优化器选择顺序
HINT_FLAG是否启用HINT1建议启用
PARALLEL_PLAN_ENABLE是否启用并行计划0对于复杂查询,建议设置为1

存储核心参数

1. 数据文件管理

参数名描述默认值建议值
EXTENT_SIZE数据文件默认扩展大小(页),16:64KB,32:128KB,64:256KB16根据数据库规模设置,建议为32或64
PAGE_SIZE数据页大小,4:4KB,8:8KB,16:16KB,32:32KB8根据应用需求设置,建议为8或16
DBFILE_PATH数据文件默认路径./根据实际环境设置
MAX_DB_SIZE数据库最大大小(GB)16384根据存储设备大小设置
LOG_SIZE日志文件大小(MB)256根据事务量设置,建议为1024-4096

2. 日志管理

参数名描述默认值建议值
ARCH_INI是否启用归档配置0生产环境建议设置为1
ARCH_DEST归档文件默认路径./根据实际环境设置
ARCH_FILE_SIZE归档文件大小(MB)128根据事务量设置,建议为1024
ARCH_SPACE_LIMIT归档空间限制(MB),0:无限制0根据存储设备大小设置,建议为102400
RLOG_SEND_APPLY_MON是否启用日志发送和应用监控0建议设置为1

3. 备份恢复

参数名描述默认值建议值
BAK_FILE_PATH备份文件默认路径./根据实际环境设置
BAK_USE_APPLY备份过程中是否使用并行应用0建议设置为1,提高备份速度
BAK_SEQ_NO备份序列号0自动生成,无需手动设置
RECOVERY_PARALLEL恢复并行度1根据CPU核心数设置,建议为CPU核心数的1-2倍

安全核心参数

1. 认证授权

参数名描述默认值建议值
PWD_POLICY密码策略,0:无策略,1:禁止与用户名相同,2:至少包含一位数字,3:至少包含一位大写字母、一位小写字母和一位数字,4:至少包含一位特殊字符0生产环境建议设置为3或4
PWD_MIN_LEN密码最小长度8生产环境建议设置为12
PWD_EXPIRY_TIME密码过期时间(天)90根据安全需求设置
PWD_INI_CHANGE是否强制首次登录修改密码0生产环境建议设置为1
PWD_LOCK_TIMES密码连续错误次数0生产环境建议设置为5
PWD_LOCK_TIME密码锁定时间(分钟)10根据安全需求设置

2. 审计

参数名描述默认值建议值
AUDIT_SWITCH是否启用审计功能0生产环境建议设置为1
AUDIT_FILE_PATH审计文件路径./根据实际环境设置
AUDIT_FILE_SIZE单个审计文件大小(MB)100根据审计量设置,建议为1024
AUDIT_FILE_NUM审计文件个数10根据审计量设置,建议为20-50
AUDIT_TRAIL审计记录存储方式,0:仅存储在文件,1:同时存储在文件和系统表0根据审计需求设置

3. 加密

参数名描述默认值建议值
ENABLE_ENCRYPT是否启用加密功能0生产环境建议设置为1
ENCRYPT_NAME加密算法名称AES128_ECB根据安全需求设置
ENCRYPT_KEY_FILE加密密钥文件路径./根据实际环境设置
SSL_FLAG是否启用SSL加密连接0生产环境建议设置为1
SSL_KEYFILESSL私钥文件路径./server.key根据实际环境设置
SSL_CERTFILESSL证书文件路径./server.crt根据实际环境设置

网络核心参数

1. 监听配置

参数名描述默认值建议值
LISTENER_ADDRESS监听地址,0.0.0.0:监听所有地址0.0.0.0生产环境建议设置为特定IP
LISTEN_PORT监听端口,与PORT_NUM相同--
TCP_KEEPALIVE是否启用TCP keepalive1建议启用
TCP_KEEPIDLETCP keepalive空闲时间(秒)7200建议设置为300
TCP_KEEPINTVLTCP keepalive间隔时间(秒)75建议设置为60
TCP_KEEPCNTTCP keepalive重试次数9建议设置为3

2. 连接管理

参数名描述默认值建议值
MAX_CONNECTIONS最大连接数,与MAX_SESSIONS相同100根据并发需求设置
CONN_IDLE_TIME连接空闲超时时间(秒)1800根据应用需求设置
CONNECTION_TIMEOUT连接超时时间(秒)30根据网络环境设置
DISCONNECT_SCAN_INTERVAL断开连接扫描间隔(秒)60建议设置为30-60
MAX_SESSIONS_PER_IP每个IP的最大会话数0根据安全需求设置

高可用性核心参数

1. DMDataWatch

参数名描述默认值建议值
DW_INI是否启用DataWatch配置0启用DataWatch时设置为1
DW_TYPE数据库角色,PRIMARY:主库,STANDBY:备库NONE根据实际角色设置
DW_MODE同步模式,ASYNC:异步,SEMISYNC:半同步,FULLSYNC:全同步,ASYNCREAL:异步实时ASYNC根据业务需求设置
DW_ERROR_TIME故障检测时间(秒)30根据网络环境设置,建议为30-60
OGUID集群唯一标识0启用DataWatch时设置为唯一值
MAL_INI是否启用MAL配置0启用DataWatch时设置为1

2. DMDSC

参数名描述默认值建议值
DSC_INI是否启用DMDSC配置0启用DMDSC时设置为1
DSC_SEQNO节点序号0启用DMDSC时设置为节点序号
DSC_VTD_PATHVTD文件路径./启用DMDSC时设置为VTD文件路径
DSC_VIP虚拟IP地址-启用DMDSC时设置为虚拟IP
DSC_PORT虚拟IP端口5236启用DMDSC时设置为虚拟IP端口

配置参数的管理

1. 参数修改方法

使用SP_SET_PARA_VALUE存储过程

sql
-- 修改静态参数,需要重启数据库生效
SP_SET_PARA_VALUE(2, 'BUFFER', 2048);

-- 修改动态参数,立即生效
SP_SET_PARA_VALUE(1, 'MAX_SESSIONS', 1000);

使用DM管理工具

  1. 启动DM管理工具
  2. 连接到数据库实例
  3. 选择"配置" -> "参数配置"选项
  4. 找到需要修改的参数,修改后保存
  5. 根据参数类型,决定是否需要重启数据库

2. 参数查看方法

使用V$DM_INI视图

sql
-- 查看所有参数
SELECT * FROM V$DM_INI;

-- 查看特定参数
SELECT NAME, VALUE, TYPE FROM V$DM_INI WHERE NAME = 'BUFFER';

-- 查看性能相关参数
SELECT NAME, VALUE, TYPE FROM V$DM_INI WHERE NAME LIKE '%BUFFER%' OR NAME LIKE '%MEMORY%';

使用DM管理工具

  1. 启动DM管理工具
  2. 连接到数据库实例
  3. 选择"配置" -> "参数配置"选项
  4. 查看所有参数或搜索特定参数

3. 参数备份和恢复

备份dm.ini文件

bash
# 备份dm.ini文件
cp /dm/data/DAMENG/dm.ini /dm/backup/dm.ini.bak

恢复dm.ini文件

bash
# 恢复dm.ini文件
cp /dm/backup/dm.ini.bak /dm/data/DAMENG/dm.ini

配置参数的最佳实践

1. 遵循最小配置原则

  • 只修改必要的参数
  • 避免过度配置
  • 根据实际环境调整参数
  • 定期评估参数配置效果

2. 性能参数调优

  • 根据服务器硬件配置调整内存参数
  • 根据CPU核心数调整并发参数
  • 根据存储设备类型调整I/O参数
  • 根据应用需求调整优化器参数

3. 安全参数配置

  • 启用密码策略,使用强密码
  • 启用审计功能,监控数据库活动
  • 启用加密功能,保护敏感数据
  • 配置合适的网络参数,限制访问

4. 高可用性参数配置

  • 启用归档功能,确保数据安全
  • 配置合适的备份策略,定期备份数据库
  • 启用高可用功能,提高系统可用性
  • 配置合适的故障检测参数,及时发现故障

5. 定期监控和调整

  • 定期监控数据库性能
  • 分析性能瓶颈,调整相关参数
  • 定期备份参数配置
  • 记录参数修改历史

常见问题(FAQ)

Q1: 如何确定参数的最佳值?

A1: 确定参数最佳值的方法:

  • 参考DM官方文档的建议值
  • 根据服务器硬件配置调整
  • 根据应用需求调整
  • 进行性能测试,找到最佳值
  • 参考类似环境的配置经验

Q2: 修改参数后需要重启数据库吗?

A2: 参数是否需要重启数据库取决于参数类型:

  • 静态参数(TYPE=2):需要重启数据库生效
  • 动态参数(TYPE=1):立即生效,无需重启
  • 只读参数(TYPE=0):无法修改

Q3: 如何监控参数修改对性能的影响?

A3: 监控参数修改对性能影响的方法:

  • 使用DM性能监控工具
  • 查看性能视图
  • 分析SQL执行计划
  • 监控系统资源使用率
  • 进行性能测试,对比修改前后的性能

Q4: 如何备份和恢复参数配置?

A4: 备份和恢复参数配置的方法:

  • 备份dm.ini文件
  • 使用DM管理工具导出参数配置
  • 记录参数修改历史
  • 恢复dm.ini文件
  • 使用DM管理工具导入参数配置

Q5: 如何处理参数配置错误?

A5: 处理参数配置错误的方法:

  • 恢复备份的dm.ini文件
  • 使用dmctlsys工具重置参数
  • 重新初始化数据库(极端情况)
  • 记录错误信息,分析原因
  • 咨询DM技术支持

版本差异说明

版本主要变化
DM 7支持基本的参数配置,参数数量较少
DM 8增强了参数配置功能,增加了大量参数
DM 8.1优化了参数配置,增加了高可用性相关参数

在配置参数时,需要注意以下几点:

  • 遵循最小配置原则,只修改必要的参数
  • 根据服务器硬件配置和应用需求调整参数
  • 定期监控参数配置对性能的影响
  • 定期备份参数配置,以便在配置错误时恢复
  • 记录参数修改历史,便于分析问题

通过合理的参数配置和管理,可以充分发挥DM数据库的优势,为业务提供高效、可靠的数据服务。