达梦数据库修改dm.ini参数,除了直接修改dm.ini文件中的参数值重启数据库使参数生效,还可以通过 sp_set_para_value(1/2, '参数名',value) 函数(其中1表示修改动态参数,2表示修改静态参数),或与oracle类似的 alter system set '参数名'=value memory/spfile/both(其中memory是只修改内存值,spfile是只修改ini文件值,both是都修改),两种方式来修改dm.ini参数值。
dm.ini中的参数有四种类型,read only只读参数,sys系统级参数,in file静态参数,session会话级参数。
SQL> select distinct(para_type) from v$dm_ini;
行号 PARA_TYPE
---------- ---------
1 READ ONLY
2 SYS
3 IN FILE
4 SESSION
其中,sys和session是动态参数,无需重启直接生效,sys对整个数据库生效,session只对新建的会话生效;read only是静态参数,修改后需重启数据库生效;in file参数只能手动修改dm.ini文件,重启数据库生效。
以参数SORT_BUF_SIZE 为例
SQL> select * from v$dm_ini where para_name = ' SORT_BUF_SIZE’;
行号 PARA_NAME PARA_VALUE MIN_VALUE MAX_VALUE DEFAULT_VALUE MPP_CHK SESS_VALUE FILE_VALUE DESCRIPTION PARA_TYPE
---------- ------------- ---------- --------- --------- ------------- ------- ---------- ---------- ------------------------------------- ---------
1 SORT_BUF_SIZE 20 1 2048 20 N 20 20 maximum sort buffer size in Megabytes SESSION
sql语句:sp_set_para_value(1, 'SORT_BUF_SIZE',30);修改后立即生效
SQL> sp_set_para_value(1, 'SORT_BUF_SIZE',30);
DMSQL 过程已成功完成
已用时间: 16.556(毫秒). 执行号:60202.
SQL> select * from v$dm_ini where para_name = 'SORT_BUF_SIZE';
行号 PARA_NAME PARA_VALUE MIN_VALUE MAX_VALUE DEFAULT_VALUE MPP_CHK SESS_VALUE FILE_VALUE DESCRIPTION PARA_TYPE
---------- ------------- ---------- --------- --------- ------------- ------- ---------- ---------- ------------------------------------- ---------
1 SORT_BUF_SIZE 30 1 2048 20 N 30 30 maximum sort buffer size in Megabytes SESSION
语句:alter system set 'SORT_BUF_SIZE'=30 both;
以参数MAX_OS_MEMORY 为例
SQL> select * from v$dm_ini where para_name = 'MAX_OS_MEMORY';
行号 PARA_NAME PARA_VALUE MIN_VALUE MAX_VALUE DEFAULT_VALUE MPP_CHK SESS_VALUE FILE_VALUE DESCRIPTION PARA_TYPE
---------- ------------- ---------- --------- --------- ------------- ------- ---------- ---------- ----------------------------------------- ---------
1 MAX_OS_MEMORY 100 40 100 100 N 100 100 Maximum Percent of OS Memory Can Be Used IN FILE
sql语句:sp_set_para_value(2, 'MAX_OS_MEMORY',90);需要重启数据库生效
SQL> sp_set_para_value(2, 'MAX_OS_MEMORY',90);
DMSQL 过程已成功完成
已用时间: 8.995(毫秒). 执行号:60207.
SQL> select * from v$dm_ini where para_name = 'MAX_OS_MEMORY';
行号 PARA_NAME PARA_VALUE MIN_VALUE MAX_VALUE DEFAULT_VALUE MPP_CHK SESS_VALUE FILE_VALUE DESCRIPTION PARA_TYPE
---------- ------------- ---------- --------- --------- ------------- ------- ---------- ---------- ----------------------------------------- ---------
1 MAX_OS_MEMORY 100 40 100 100 N 100 90 Maximum Percent of OS Memory Can Be Used IN FILE
[dmdba@192 bin]$ ./DmServicedmserver restart
Stopping DmServicedmserver: [ OK ]
Starting DmServicedmserver: [ OK ]
SQL> select * from v$dm_ini where para_name = 'MAX_OS_MEMORY';
行号 PARA_NAME PARA_VALUE MIN_VALUE MAX_VALUE DEFAULT_VALUE MPP_CHK SESS_VALUE FILE_VALUE DESCRIPTION PARA_TYPE
---------- ------------- ---------- --------- --------- ------------- ------- ---------- ---------- ----------------------------------------- ---------
1 MAX_OS_MEMORY 90 40 100 100 N 90 90 Maximum Percent of OS Memory Can Be Used IN FILE
语句:alter system set 'MAX_OS_MEMORY'=90 spfile;
文章
阅读量
获赞