每创建一个 DM 数据库,就会自动生成 dm.ini 文件。dm.ini 是 DM 数据库启动所必须
的配置文件,通过配置该文件可以设置 DM 数据库服务器的各种功能和性能选项,主要的配
置模块包括:控制文件相关、实例名、内存相关、线程相关等。
当DM8中的某参数值设置为非法值时,若设置值与参数类型不兼容,则参数实际取
值为默认值;若设置值小于参数取值范围的最小值,则实际取值为最小值;若设置值大于参
数取值范围的最大值,则实际取值为最大值。
参数属性分为三种:手动、静态和动态。
手动,不能被动态修改,必须手动修改 dm.ini 参数文件,然后重启才能生效。
静态,可以被动态修改,修改后重启服务器才能生效。
动态,可以被动态修改,修改后即时生效。动态参数又分为SYS/SESSIOIN系统级和会话级两种。会话
级参数被修改后,新参数值只会影响当前会话和新创建的会话,之前创建的会话不受影响;
系统级参数的修改则会影响所有的会话。
Read only:在数据库运行时,不能修改
SQL> select PARA_NAME,PARA_TYPE,PARA_VALUE from v$dm_ini where para_name like '%MEM%';
行号 PARA_NAME PARA_TYPE PARA_VALUE
---------- ---------------------- --------- ----------
1 MAX_OS_MEMORY IN FILE 100
2 MEMORY_POOL IN FILE 500
3 MEMORY_N_POOLS IN FILE 1
4 MEMORY_TARGET SYS 15000
5 MEMORY_EXTENT_SIZE IN FILE 32
6 MEMORY_LEAK_CHECK SYS 0
7 MEMORY_MAGIC_CHECK IN FILE 1
8 MEMORY_BAK_POOL IN FILE 4
9 HUGE_MEMORY_PERCENTAGE IN FILE 50
10 MTAB_MEM_SIZE SYS 8
11 FTAB_MEM_SIZE IN FILE 0
行号 PARA_NAME PARA_TYPE PARA_VALUE
---------- ------------------- --------- ----------
12 VM_MEM_HEAP SYS 0
13 OPT_MEM_CHECK SESSION 0
14 MEM_BANDWIDTH SESSION 3145728
15 MEM_INTENSE_DEGREE SESSION 0
16 MAX_SESSION_MEMORY SYS 0
17 GEN_SQL_MEM_RECLAIM SYS 1
18 LARGE_MEM_THRESHOLD SYS 10000
19 IDLE_MEM_THRESHOLD SYS 50
20 ENABLE_PMEM IN FILE 0
21 XBOX_MEMORY_TARGET SYS 1024
常用参数修改方式,会根据参数类型修改方式不同,总结部分修改方式:
1.兼容Oracle命令行修改方式
alter system set 'PWD_MIN_LEN' = 10 both;
alter system set 'PWD_POLICY' = 6 both;
2.存储过程修改
在数据库中四种TYPE为sys(动态系统级)、session(动态会话级)、in file(静态)、read only(手动)
sp_set_para_value(范围,'参数', 参数值);
sp_set_para_value(2,'BUFFER', 1024);
sp_set_para_value(2,'MAX_BUFFER', 1024);
Sp_set_para_value :修改整型参数
Sp_set_para_string_value:修改字符串类型
Sp_set_para_double_value:修改浮点型
sp_set_para_value(1,‘ENABLE_BLOB_CMP_FLAG’,1);
该参数的含义:
ENABLE_BLOB_CMP_FLAG 默认值为 0 ;动态的会话级参数
动态,可以被动态修改,修改后即时生效。
动态参数又分为会话级和系统级两种。
会话级参数被修改后,新参数值只会影响新创建的会话,
之前创建的会话不受影响;系统级参数的修改则会影响所有的会话。
表示:是否支持大字段类型的比较。
0表示不支持;1表示支持,此时DISTINCT、ORDER BY、
分析函数和集函数支持对大字段进行处理。
注意:虽然是动态参数,但是修改后,依然需要新建连接才生效;
所以,修改参数后,依然需要重启应用或者重启数据库服务器。
3.直接修改ini配置文件
SQL> select PARA_NAME,PARA_VALUE from v$dm_ini where para_name like 'BUFFER_POOLS'; 行号 PARA_NAME PARA_VALUE ---------- ------------ ---------- 1 BUFFER_POOLS 19
cat dm.ini|grep -i "BUFFER_POOL"
HUGE_BUFFER_POOLS = 4 #number of Huge buffer pools
BUFFER_POOLS = 19 #number of buffer pools
4.利用console控制台工具来修改参数
5.不在ini中的参数需要单独修改
达梦社区技术https://eco.dameng.com
文章
阅读量
获赞