暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

DM8参数管理

原创 猫瞳映月 2023-02-27
1196

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

image.png

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';

image.png
修改静态参数

SP_SET_PARA_VALUE(2,'COMPATIBLE_MODE',2);

再次查看,需要重启生效
image.png
重启后再次查看如下
image.png

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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论