1、参数说明
DM数据库的参数配置文件是dm.ini,文件路径一般位于$DM_HOME/data/DAMENG路径下。DM数据库参数有四种类型
SQL> SELECT DISTINCT TYPE FROM V$PARAMETER;
行号 TYPE
------- ---------
1 READ ONLY
2 SYS
3 IN FILE
4 SESSION
- READ ONLY:只读参数。此类参数不能使用SQL或者函数进行修改,只能手工修改dm.ini参数文件,并重启数据库生效。
- SYS:动态参数。可以使用SQL命令或者函数进行修改,修改完立即生效。
- IN FILE:静态参数。只能修改dm.ini参数文件中的值,修改完成后需要重启数据库生效。
- SESSION:会话级动态参数。可以使用SQL命令或者函数修改,只对当前会话生效。
2、参数查询
查询数据库参数大概有三种方法,第一种查询动态视图,第二种查看dm.ini参数文件,第三种使用函数查看。
2.1、动态视图查询参数
(1)查询V$PARAMETER视图
SQL> SELECT TOP 5 NAME,VALUE FROM V$PARAMETER;
行号 NAME VALUE
---------- ------------ ------------------------
1 CTL_PATH /dm8/data/DAMENG/dm.ctl
2 CTL_BAK_PATH /dm8/data/DAMENG/ctl_bak
3 CTL_BAK_NUM 10
4 SYSTEM_PATH /dm8/data/DAMENG
5 CONFIG_PATH /dm8/data/DAMENG
已用时间: 2.805(毫秒). 执行号:701.
SQL>
(2)查询V$DM_INI视图
SQL> SELECT TOP 5 PARA_NAME,PARA_VALUE FROM V$DM_INI;
行号 PARA_NAME PARA_VALUE
---------- ------------ ------------------------
1 CTL_PATH /dm8/data/DAMENG/dm.ctl
2 CTL_BAK_PATH /dm8/data/DAMENG/ctl_bak
3 CTL_BAK_NUM 10
4 SYSTEM_PATH /dm8/data/DAMENG
5 CONFIG_PATH /dm8/data/DAMENG
已用时间: 2.501(毫秒). 执行号:702.
SQL>
2.2、查看dm.ini参数文件
[dmdba@DM8 ~]$ cd $DM_HOME
[dmdba@DM8 dm8]$ cd data/DAMENG/
[dmdba@DM8 DAMENG]$ cat dm.ini

2.3、使用函数查询参数
- 值类型为数值类型使用
SF_GET_PARA_VALUE (scope int, paraname varchar(256)) - 值类型为浮点型时使用
SF_GET_PARA_DOUBLE_VALUE(scope int, paraname varchar(8187)) - 值类型为字符串类型时使用
SF_GET_PARA_STRING_VALUE (scope int, paraname varchar(8187))
SCOPE:修改范围(0:memory;1:both;2:spfile)
举个栗子:
查看数值类型的参数:
SQL> SELECT SF_GET_PARA_VALUE(1, 'MAX_SESSIONS');
行号 SF_GET_PARA_VALUE(1,'MAX_SESSIONS')
---------- -----------------------------------
1 100
已用时间: 15.118(毫秒). 执行号:500.
SQL>
查看浮点类型的参数:
SQL> SELECT SF_GET_PARA_DOUBLE_VALUE(1, 'INDEX_SKIP_SCAN_RATE');
行号 SF_GET_PARA_DOUBLE_VALUE(1,'INDEX_SKIP_SCAN_RATE')
---------- --------------------------------------------------
1 3.000000000000000E-03
已用时间: 1.948(毫秒). 执行号:602.
SQL>
查看字符类型的参数:
SQL> SELECT SF_GET_PARA_STRING_VALUE(1, 'INSTANCE_NAME');
行号 SF_GET_PARA_STRING_VALUE(1,'INSTANCE_NAME')
---------- -------------------------------------------
1 DMSERVER
已用时间: 2.217(毫秒). 执行号:603.
SQL>
3、参数修改
3.1、使用系统函数修改
查看参数
SELECT A.ID,A.NAME,A.TYPE,A.VALUE,A.SYS_VALUE,A.FILE_VALUE
FROM SYS."V$PARAMETER" A WHERE A.NAME='COMPATIBLE_MODE';

修改静态参数
SP_SET_PARA_VALUE(2,'COMPATIBLE_MODE',2);
再次查看,需要重启生效

重启后再次查看如下

3.2、使用命令修改
SQL> ALTER SYSTEM SET 'COMPATIBLE_MODE'=1 MEMORY;
ALTER SYSTEM SET 'COMPATIBLE_MODE'=1 MEMORY;
[-839]:不能修改静态配置参数的内存值.
已用时间: 4.109(毫秒). 执行号:0.
SQL>
SQL> ALTER SYSTEM SET 'COMPATIBLE_MODE'=1 BOTH;
ALTER SYSTEM SET 'COMPATIBLE_MODE'=1 BOTH;
[-839]:不能修改静态配置参数的内存值.
已用时间: 2.079(毫秒). 执行号:0.
SQL>
SQL>
SQL> ALTER SYSTEM SET 'COMPATIBLE_MODE'=1 SPFILE;
DMSQL 过程已成功完成
已用时间: 3.320(毫秒). 执行号:301.
由于COMPATIBLE_MODE参数是静态参数,所以不能使用MEMORY和BOTH来修改,需要使用SPFILE修改参数文件中的值,并且重启数据库才能生效。
注意:参数名称需要使用单引号,否则会报错语法错误。
更多学习资料请访问:https://eco.dameng.com
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




