当前位置:   article > 正文

达梦数据库参数逻辑介绍及修改方法_达梦数据库直接修改dm.ini文件和通过sql语句修改的区别

达梦数据库直接修改dm.ini文件和通过sql语句修改的区别

达梦数据库参数文件dm.ini 是 存放数据库的初始化参数,包含字符集、页大小、大小写敏感、数据库兼容型参数等信息。

1 查询数据库参数的几种方式

(1)查询 V$DM_INI

select *from V$DM_INI;

(2)查询v$dm_ini

(3)查看dm.ini文本文件

(4)控制台工具查看参数

2 DM参数类型

达梦数据库初始化参数分为只读、 静态和动态三种类型,分别对应v$dm_ini视图中 TYPE列的READ ONLY、 IN FILE、 SYS/SESSION。

READONLY

只读参数,不能进行修改。

INFILE

静态参数,可以通过系统函数或SQL修改,但是只能修改参数文件中的值,不能修改内存中的值,所以静态参数的修改需要重启数据库才能生效。

SESSION

会话级动态参数可以通过系统函数或SQL修改即可以修改内存中的值,也可以修改参数文件的值可以单独对某个会话修改该参数值

SYS

系统级动态参数可以通过系统函数或SQL修改即可以修改内存中的值,也可以修改参数文件的值。修改后影响整个系统。

3 修改方式

3.1 编辑dmini文本文件

vim /dmdata/dmdb/dm.ini 

 修改完成后保存,数据库后重启生效

3.2 DM控制台工具修改(重启生效)

 3.3 SQL语句

alter system set XXX=‘xx’ both|spfile|memory

both:表示修改内存和参数文件中的值;

spfile修改参数文件

memory修改内存

对于静态参数只能使用spfile,对于动态参数皆可使用。

针对会话会话级别,可以对某个会话生效:

3.4系统函数

达梦数据库提供SF_GET_PARA_VALUE、SF_GET_PARA_DOUBLE_VALUE和SF_GET_PARA_STRING_VALUE这三个函数来获取系统的当前配置参数,提供SP_SET_PARA_VALUE和SP_SET_PARA_DOUBLE_VALUE过程来修改静态/动态配置参数。

具体使用方法附后:

1 、SF_GET_PARA_VALUE (scope int, paraname varchar(256))

配置参数的值类型为数值类型时使用该函数来获取当前值。SCOPE 参数为1表示获取INI文件中配置参数的值,为2表示获取内存中配置参数的值。

2 、SF_GET_PARA_DOUBLE_VALUE(scope int, paraname varchar(8187))

配置参数的值类型为浮点型时使用该函数来获取当前值。SCOPE参数为1表示获取INI文件中配置参数的值,为2表示获取内存中配置参数的值。

3 、SF_GET_PARA_STRING_VALUE(scope int, paraname varchar(8187))

配置参数的值为字符串类型时用该系统函数来获取当前值。SCOPE 参数为1表示获取INI 文件中配置参数的值,为2表示获取内存中配置参数的值。

4 、SP_SET_PARA_VALUE (scope int, paraname varchar(256), value int64)

该过程用于修改整型静态配置参数和动态配置参数。SCOPE参数为1表示在内存和INI文件中都修改参数值,此时只能修改动态的配置参数。参数为2表示只在 INI 文件中修改配置参数,此时可用来修改静态配置参数和动态配置参数。当SCOPE等于1,试图修改静态配置参数时服务器会返回错误信息。只有具有 DBA 角色的用户才有权限调用 SP_SET_PARA_VALUE。

5 、SP_SET_PARA_DOUBLE_VALUE(scope int,paraname varchar(8187), alue double)

该过程用于修改浮点型静态配置参数和动态配置参数。SCOPE 参数为 1表示在内存和INI文件中都修改参数值,此时只能修改动态的配置参数。参数为2表示只在INI文件中修改配置参数,此时可用来修改静态配置参数和动态配置参数。当SCOPE等于1,试图修改静态配置参数时服务器会返回错误信息。只有具有 DBA 角色的用户才有权限调用SP_SET_PARA_DOUBLE_VALUE。

6 、SF_SET_SYSTEM_PARA_VALUE(paraname varchar(256),value int64\double\varchar(256),deferred int,scope int64)

该过程用于修改系统整型、 double、 varchar 的静态配置参数或动态配置参数。DEFERRED 参数,为0表示当前session修改的参数立即生效,为1表示当前 session不生效,后续再生效,默认为0。 SCOPE 参数为1表示在内存和INI文件中都修改参数值,此时只能修改动态的配置参数。参数为2表示只在INI文件中修改配置参数,此时可用来修改静态配置参数和动态配置参数。只有具有DBA角色的用户才有权限调用SF_SET_SYSTEM_PARA_VALUE。

7 、SF_SET_SESSION_PARA_VALUE (paraname varchar(8187), value bigint)

设置某个会话级 INI 参数的值,设置的参数值只对本会话有效。

8 、SP_RESET_SESSION_PARA_VALUE (paraname varchar(8187))

重置某个会话级 INI 参数的值,使得这个 INI 参数的值和系统 INI 参数的值保持一致。

9 、SF_GET_SESSION_PARA_VALUE (paraname varchar(8187))

获得当前会话的某个会话级 INI 参数的值。

达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/638666
推荐阅读
相关标签
  

闽ICP备14008679号