08.达梦数据库 dm.ini

本文详细介绍了达梦数据库的dm.ini配置文件及其重要性,包括参数的分类和修改方法。重点讲解了如何动态修改temp表空间大小、查看相关系统视图以及使用SQL命令和系统过程调整参数值。内容涵盖了静态、动态和手动参数的修改规则,并提供了多个示例操作。
摘要由CSDN通过智能技术生成

目录

1 简要介绍

2 各种参数修改方式

2.1, temp表空间大小修改示例

2.2, 相关视图

2.3, 修改参数的方法详细介绍


1 简要介绍

每创建一个 DM 数据库,就会自动生成 dm.ini 文件。 dm.ini 是 DM 数据库启动所必须的配置文件,通过配置该文件可以设置 DM 数据库服务器的各种功能和性能选项,主要的配置内容见"DM 系统管理员手册.pdf"

当 dm.ini 中的某参数值设置为非法值时, 若设置值与参数类型不兼容,则参数实际取值为默认值;若设置值小于参数取值范围的最小值,则实际取值为最小值;若设置值大于参数取值范围的最大值,则实际取值为最大值。

参数属性分为三种:静态、动态和手动。 静态, 可以被动态修改, 修改后重启服务器才能生效。

动态, 可以被动态修改, 修改后即时生效。 动态参数又分为会话级和系统级两种。会话级参数被修改后, 新参数值只会影响新创建的会话, 之前创建的会话不受影响;系统级参数的修改则会影响所有的会话。

手动, 不能被动态修改, 必须手动修改 dm.ini 参数文件,然后重启才能生效。

动态修改是指 DBA 用户可以在数据库服务器运行期间,通过调用系统过程SP_SET_PARA_VALUE()、 SP_SET_PARA_DOUBLE_VALUE()和SP_SET_PARA_STRING_VALUE()对参数值进行修改。

2 各种参数修改方式

2.1, temp表空间大小修改示例

SQL>

select * from v$dm_ini where para_name='TEMP_SIZE';

select SF_GET_PARA_VALUE(1,'TEMP_SIZE');

ALTER SYSTEM SET 'TEMP_SIZE' =256 spfile;

2.2, 相关视图

1)V$PARAMETER:显示 ini 参数和 dminit 建库参数的类型及参数值信息(当前会话值、系统值及 dm.ini 文件中的值)。

2)v$dm_ini:所有 ini 参数和 dminit 建库参数信息。 但这个视图查询的内容有点多,DM 提供了分类的视图,比如 V$DM_ARCH_INI,查询归档的相关参数值。

INI 参数分为三种:静态、动态和手动。

静态可以被动态修改, 修改后重启服务器才能生效

动态可以被动态修改, 修改后即时生效,动态参数又分为会话级和系统级两种。

手动不能被动态修改, 必须手动修改 dm.ini 参数文件,然后重启才能生效。

分别对应 v$parameter 视图中 TYPE 中 READ ONLY、IN FILE、SYS和 SESSION。

1、READ ONLY:手动参数,表示服务器运行过程中不可修改;(o:pfile)

2、IN FILE:静态参数,只可修改 ini 文件;(o:scope=spfile)

3、SYS 和 SESSION:动态参数,ini 文件和内存同时可修改,其中,SYS系统级参数;(o:both ,memory)

select distinct para_type from v$dm_ini;

select name from sysobjects where name like 'V$DM_%INI';

select top 5 para_name,para_value from v$dm_ini;

desc v$dm_ini;

 

select * from v$dm_ini where para_name='COMPATIBLE_MODE';

2.3, 修改参数的方法详细介绍

1.手工改 dm.ini

2.使用 SQL 修改参数

A.ALTER SYSTEM SET ' 参 数 名 称 ' =' 参 数 值 ' [DEFERRED][MEMORY|BOTH|SPFILE];

[DEFERRED] 只适用于动态参数,指定 DEFERRED,参数值延迟生效,对当前 session 不生效,只对新创建的会话生效;

如果不指定,缺省为立即生效,对当前会话和新创建的会话都生效。

B.ALTER SESSION SET '参数名称' ='参数值' [PURGE];

参数名称指动态会话级参数名字.[PURGE] 指是否清理执行计划。

举例:

修改参数:TEMP_SIZE

设置当前静态参数 TEMP_SIZE 参数值为 256,然后重启生效

SCOPE 参数为 1 表示获取 INI 文件中配置参数的值,为 2 表示获取内存中配置参数的值。

select SF_GET_PARA_VALUE(1,'TEMP_SIZE');

select para_name,para_value from v$dm_ini where

para_name='TEMP_SIZE';

ALTER SYSTEM SET 'TEMP_SIZE' =256 spfile;

修改系统动态、会话级参数 SORT_BUF_SIZE 要求延迟生效,对当前的session 不生效,对后面创建的会话才生效。

并且只修改内存。

select SF_GET_PARA_VALUE(2,'SORT_BUF_SIZE');

select para_name,para_value from v$dm_ini where para_name='SORT_BUF_SIZE';

ALTER SYSTEM SET 'SORT_BUF_SIZE' =100 both;

ALTER SYSTEM SET 'SORT_BUF_SIZE' =110 DEFERRED memory;

C.通过函数过程修改参数

DBA 可以在 DM 数据库运行过程中执行

SF_GET_PARA_VALUE

SF_GET_PARA_DOUBLE_VALUE

SF_GET_PARA_STRING_VALUE

这三个函数来获取系统的当前配置参数,并且可以使用

SP_SET_PARA_VALUE

SP_SET_PARA_DOUBLE_VALUE

SP_SET_PARA_STRING_VALUE

过程来修改静态/动态配置参数.

D.还可以用 alter 来修改

1).SP_SET_PARA_VALUE (scope int, paraname varchar(256), value int64)

该过程用于修改整型静态配置参数和动态配置参数

2).SP_SET_PARA_DOUBLE_VALUE (scope int, paraname varchar(8187), value double)

该过程用于修改浮点型静态配置参数和动态配置参数

3)SP_SET_PARA_STRING_VALUE()

该过程用于修改字符串型静态配置参数和动态配置参数。

4).SF_SET_SYSTEM_PARA_VALUE (paraname varchar(256), value

int64\double\varchar(256), deferred int, scope int64)

该过程用于修改系统整型、double、varchar 的静态配置参数或动态配置参数。

SF_SET_SYSTEM_PARA_VALUE ('BUFFER',1024,1,2);

DEFERRED 参数:

为 0 表示当前 session 修改的参数立即生效,

为 1 表示当前 session 不生效,后续再生效,默认为 0。

E. SCOPE 参数

为 1 表示在内存和 INI 文件中都修改参数值,此时只能修改动态的配置参数。

为 2 表示只在 INI 文件中修改配置参数,此时可用来修改静态配置参数和动态配置参数。

只 有 具 有 DBA 角 色 的 用 户 才 有 权 限 调 用

SF_SET_SYSTEM_PARA_VALUE。

E.SF_SET_SESSION_PARA_VALUE (paraname varchar(8187), value bigint)

设置某个会话级 INI 参数的值

举例:

SELECT SF_GET_PARA_VALUE (1, 'BUFFER');

call SP_SET_PARA_VALUE (2,'BUFFER',800);

scope:取值为 1,2 。

1 表示 dm.ini 文件和内存参数都修改,不需要重启服务器;

2 表示只修改 dm.ini 文件,服务器重启后生效。

call SF_SET_SYSTEM_PARA_VALUE ('BUFFER',1024,1,2);

SELECT SF_GET_PARA_VALUE (1, 'BUFFER');

 

 ---------------------------------------------------------------------------------------------------------------------------------------

更多达梦数据库解决方案,可访问如下地址:

https://eco.dameng.com/
————————————————
 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值