在SinoDB中动态调整数据库参数和资源

  SinoDB数据库在运行过程中,随着业务需求的变化和数据量的增长,需要不断地调整数据库的参数和资源。本文将介绍如何在SinoDB中进行动态调整。
1、检查参数值
  检查要修改的数据库参数的当前值。可以使用以下命令来查看:

onstat -c|grep 参数名

2、备份参数文件
  在修改参数之前,务必备份数据库参数文件,以便出现问题时可以还原。使用informix用户登录,并执行以下命令:

cd $INFORMIXDIR/etc
cp $ONCONFIG $ONCONFIG.bak1date +%Y%m%d

3、动态调整资源
  可以动态地增加或减少虚拟CPU的数量,(动态增加,重启失效,如需生效得修改对应的$ONCONFIG参数),以下为实例说明:
(1)、动态增加8个虚拟cpu:onmode -p +8 CPU;
(2)、动态减少8个虚拟cpu:onmode -p -8 CPU;
(3)、动态增加100M内存:onmode -a 102400 (单位k);
(4)、动态修改PDQ参数:onmode -D 80 (0~100之间的MAX_PDQPRIORITY的值,本调整:动态修改PDQ的最大百分比值为80%)
(5)、释放未使用的内存段:onmode -F;
(6)、为当前会话动态设置参数值:onmode -wm 参数名=参数值 (仅对一部分参数生效)
(7)、通过以下命令可以查看资源和参数信息:
查看虚拟cpu数量:onstat -g glo;
查看虚拟内存:onstat -g seg;
查看PDQ参数:onstat -g mgm;

4、动态调整参数

onmode -wf 参数名=参数值 (更新ONCONFIG中的配置参数,仅对一部分参数生效)

5、检查参数是否生效

echo “select cf_effective from sysconfig where cf_name=‘参数名’;”|dbaccess sysmaster

6、可以动态修改的参数列表
  以下是可以使用onmode -wm和onmode -wf修改的参数:
ADMIN_MODE_USERS
AUTO_AIOVPS
AUTO_CKPTS
DS_MAX_QUERIES
DS_MAX_SCANS
DS_NONPDQ_QUERY_MEM
DS_TOTAL_MEMORY
DUMPCNT
DUMPSHMEM
EXPLAIN_STAT
HA_ALIAS
LISTEN_TIMEOUT
LOG_INDEX_BUILDS
MAX_INCOMPLETE_CONNECTIONS
MAX_PDQPRIORITY
MSG_DATE
ONLIDX_MAXMEM
RESIDENT
RTO_SERVER_RESTART
RSS_FLOW_CONTROL
SDS_TIMEOUT
TEMPTAB_NOLOG
USELASTCOMMITTED
VP_MEMORY_CACHE_KB

  请根据需要进行参数调整,以满足业务需求和性能优化的要求。