达梦数据库DM8性能参数优化

本文详细介绍了如何通过调整达梦数据库DM8的配置参数以优化性能,包括查询和修改配置参数的方法,以及针对不同服务器环境的内存设置建议。DBA应理解参数含义并谨慎调整,以确保系统稳定运行。

以下优化都会更改达梦数据库dm.ini 配置文件,重启数据库服务后生效

查询数据库当前参数:

--查询配置文件所有参数

SELECT * FROM V$DM_INI;

--指定参数名查询

SELECT * FROM V$DM_INI WHERE PARA_NAME = '实际的参数名';

DM数据库指定参数名查询dm.ini文件值:

第 20 章 问题跟踪和解决

P 173

20.5 调整配置参 调整配置参 数

在 DM 数据库中,很多参数都是动态的,会自动响应各种负载,但是 DBA 仍然可以调用

系统过程来改变 DM 实例的运行参数,从而获得更佳的性能体验。

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 过程来修改静态/动态配置参数:

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。

DM 的动态 INI 参数分为系统级和会话级两种级别。会话级参数在服务器运行过程中被

修改时,之前创建的会话不受影响,只有新创建的会话使用新的参数值。

1. SF_SET_SESSION_PARA_VALUE (paraname varchar(8187), valuebigint)

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

2. SP_RESET_SESSION_PARA_VALUE (paraname varchar(8187))

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

3. SF_GET_SESSION_PARA_VALUE (paraname varchar(8187))

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

需要注意的是,在对参数进行调整前,DBA 应该深刻理解配置参数中每个参数的含义和

对系统的影响,避免由于错误的调整导致影响整个系统对外提供正常服务。对于一些关键业

务,在实际调整前,建议在测试系统上先进行试验,验证通过后再在生产系统上进行调整。

--查询参数

SELECT 'MAX_SESSIONS' AS 参数名, SF_GET_PARA_VALUE(1,'MAX_SESSIONS') AS 参数值 UNION ALL

SELECT 'MAX_OS_MEMORY',SF_GET_PARA_VALUE(1,'MAX_OS_MEMORY')  UNION ALL

SELECT 'BUFFER',SF_GET_PARA_VALUE(1,'BUFFER') UNION ALL

SELECT 'BUFFER_POOLS',SF_GET_PARA_VALUE(1,'BUFFER_POOLS')  UNION ALL

SELECT 'RECYCLE',SF_GET_PARA_VALUE(1,'RECYCLE')  UNION ALL

SELECT 'RECYCLE_POOLS',SF_GET_PARA_VALUE(1,'RECYCLE_POOLS')  UNION ALL

SELECT 'HJ_BUF_GLOBAL_SIZE',SF_GET_PARA_VALUE(1,'HJ_BUF_GLOBAL_SIZE')  UNION ALL

SELECT 'HJ_BUF_SIZE',SF_GET_PARA_VALUE(1,'HJ_BUF_SIZE')  UNION ALL

SELECT 'DICT_BUF_SIZE',SF_GET_PARA_VALUE(1,'DICT_BUF_SIZE')  UNION ALL

SELECT 'TEMP_SIZE',SF_GET_PARA_VALUE(1,'TEMP_SIZE')  UNION ALL

SELECT 'VM_POOL_SIZE',SF_GET_PARA_VALUE(1,'VM_POOL_SIZE')  UNION ALL

SELECT 'SESS_POOL_SIZE',SF_GET_PARA_VALUE(1,'SESS_POOL_SIZE')  UNION ALL

SELECT 'CACHE_POOL_SIZE',SF_GET_PARA_VALUE(1,'CACHE_POOL_SIZE')  UNION ALL

SELECT 'WORKER_THREADS',SF_GET_PARA_VALUE(1,'WORKER_THREADS')  UNION ALL

SELECT 'TASK_THREADS',SF_GET_PARA_VALUE(1,'TASK_THREADS')  UNION ALL

SELECT 'MAX_SESSION_STATEMENT',SF_GET_PARA_VALUE(1,'MAX_SESSION_STATEMENT')  UNION ALL

SELECT 'USE_PLN_POOL',SF_GET_PARA_VALUE(1,'USE_PLN_POOL')  UNION ALL

SELECT 'OLAP_FLAG',SF_GET_PARA_VALUE(1,'OLAP_FLAG')  UNION ALL

SELECT 'PWD_POLICY',SF_GET_PARA_VALUE(1,'PWD_POLICY') ;

--SELECT SF_GET_PARA_VALUE(1,'PK_MAP_TO_DIS')  UNION ALL--(旧版本无此参数)

--SELECT 'MAX_BUFFER',SF_GET_PARA_VALUE(1,'MAX_BUFFER') UNION ALL (新版本无此参数)

优化语句:

不含内存值得通用优化参数:

--call SF_SET_SYSTEM_PARA_VALUE ('参数名',参数值,1为后续生效,2修改ini文件参数);

call SF_SET_SYSTEM_PARA_VALUE ('MAX_SESSIONS',3000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('MAX_OS_MEMORY',90,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('MAX_SESSION_STATEMENT',20000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('ENABLE_ENCRYPT',0,1,2); --可以让非SYSDBA用户登录

call SF_SET_SYSTEM_PARA_VALUE ('PWD_POLICY',0,1,2);--用户口令策略不限制

--以下语句根据需求执行(不是必须执行的)

/*

call SF_SET_SYSTEM_PARA_VALUE ('PK_MAP_TO_DIS',1,1,2);  --MPP环境下执行默认哈希分布

*/

以下优化和服务器内存值有关系

MPP–服务器环境:CPU:4路8核 /内存:200GB /磁盘阵列:10TB

集群优化,需要连接每个ip:端口 依次独立执行

--call SF_SET_SYSTEM_PARA_VALUE ('参数名',参数值,1为后续生效,2修改ini文件参数);

call SF_SET_SYSTEM_PARA_VALUE ('MAX_SESSIONS',3000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('MAX_OS_MEMORY',90,1,2);

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

call SF_SET_SYSTEM_PARA_VALUE ('MAX_BUFFER',120000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('BUFFER_POOLS',61,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('RECYCLE',4096,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('RECYCLE_POOLS',19,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('HJ_BUF_GLOBAL_SIZE',4096,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('HJ_BUF_SIZE',512,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('DICT_BUF_SIZE',512,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('KEEP',512,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('TEMP_SIZE',2048,1,2);

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

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

call SF_SET_SYSTEM_PARA_VALUE ('CACHE_POOL_SIZE',3072,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('WORKER_THREADS',7,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('TASK_THREADS',7,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('MAX_SESSION_STATEMENT',20000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('USE_PLN_POOL',1,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('OLAP_FLAG',2,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('ENABLE_ENCRYPT',0,1,2); --可以让非SYSDBA用户登录

--以下语句根据需求执行(不是必须执行的)

/*

call SF_SET_SYSTEM_PARA_VALUE ('PK_MAP_TO_DIS',1,1,2);  --MPP环境下执行默认哈希分布

call SF_SET_SYSTEM_PARA_VALUE ('PWD_POLICY',0,1,2);--用户口令策略不限制

*/

–服务器环境:CPU:4路8核 /内存:128GB /磁盘阵列:1TB**

--call SF_SET_SYSTEM_PARA_VALUE ('参数名',参数值,1为后续生效,2修改ini文件参数);

call SF_SET_SYSTEM_PARA_VALUE ('MAX_SESSIONS',3000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('MAX_OS_MEMORY',90,1,2);

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

call SF_SET_SYSTEM_PARA_VALUE ('MAX_BUFFER',102400,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('BUFFER_POOLS',61,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('RECYCLE',4000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('RECYCLE_POOLS',7,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('HJ_BUF_GLOBAL_SIZE',4096,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('HJ_BUF_SIZE',512,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('DICT_BUF_SIZE',512,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('KEEP',512,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('TEMP_SIZE',1000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('VM_POOL_SIZE',256,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('SESS_POOL_SIZE',256,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('CACHE_POOL_SIZE',2000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('WORKER_THREADS',7,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('TASK_THREADS',7,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('MAX_SESSION_STATEMENT',20000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('USE_PLN_POOL',1,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('OLAP_FLAG',2,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('ENABLE_ENCRYPT',0,1,2); --可以让非SYSDBA用户登录

--以下语句根据需求执行(不是必须执行的)

/*

call SF_SET_SYSTEM_PARA_VALUE ('PK_MAP_TO_DIS',1,1,2);  --MPP环境下执行默认哈希分布

call SF_SET_SYSTEM_PARA_VALUE ('PWD_POLICY',0,1,2);--用户口令策略不限制

*/

–服务器环境:CPU:4路8核 /内存:64GB /磁盘阵列:1TB**

--call SF_SET_SYSTEM_PARA_VALUE ('参数名',参数值,1为后续生效,2修改ini文件参数);

call SF_SET_SYSTEM_PARA_VALUE ('MAX_SESSIONS',3000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('MAX_OS_MEMORY',90,1,2);

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

call SF_SET_SYSTEM_PARA_VALUE ('MAX_BUFFER',40960,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('BUFFER_POOLS',61,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('RECYCLE',4000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('RECYCLE_POOLS',7,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('HJ_BUF_GLOBAL_SIZE',4096,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('HJ_BUF_SIZE',512,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('DICT_BUF_SIZE',512,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('KEEP',512,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('TEMP_SIZE',1000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('VM_POOL_SIZE',256,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('SESS_POOL_SIZE',256,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('CACHE_POOL_SIZE',2000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('WORKER_THREADS',7,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('TASK_THREADS',7,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('MAX_SESSION_STATEMENT',20000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('USE_PLN_POOL',1,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('OLAP_FLAG',2,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('ENABLE_ENCRYPT',0,1,2); --可以让非SYSDBA用户登录

--以下语句根据需求执行(不是必须执行的)

/*

call SF_SET_SYSTEM_PARA_VALUE ('PK_MAP_TO_DIS',1,1,2);  --MPP环境下执行默认哈希分布

call SF_SET_SYSTEM_PARA_VALUE ('PWD_POLICY',0,1,2);--用户口令策略不限制

*/

–服务器环境:CPU:4路8核 /内存:32GB /磁盘阵列:1TB**

--call SF_SET_SYSTEM_PARA_VALUE ('参数名',参数值,1为后续生效,2修改ini文件参数);

call SF_SET_SYSTEM_PARA_VALUE ('MAX_SESSIONS',3000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('MAX_OS_MEMORY',90,1,2);

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

call SF_SET_SYSTEM_PARA_VALUE ('MAX_BUFFER',20000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('BUFFER_POOLS',61,1,2);

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

call SF_SET_SYSTEM_PARA_VALUE ('RECYCLE_POOLS',7,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('HJ_BUF_GLOBAL_SIZE',4096,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('HJ_BUF_SIZE',512,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('DICT_BUF_SIZE',512,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('KEEP',512,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('TEMP_SIZE',1000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('VM_POOL_SIZE',256,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('SESS_POOL_SIZE',256,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('CACHE_POOL_SIZE',2000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('WORKER_THREADS',7,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('TASK_THREADS',7,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('MAX_SESSION_STATEMENT',20000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('USE_PLN_POOL',1,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('OLAP_FLAG',2,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('ENABLE_ENCRYPT',0,1,2); --可以让非SYSDBA用户登录

--以下语句根据需求执行(不是必须执行的)

/*

call SF_SET_SYSTEM_PARA_VALUE ('PK_MAP_TO_DIS',1,1,2);  --MPP环境下执行默认哈希分布

call SF_SET_SYSTEM_PARA_VALUE ('PWD_POLICY',0,1,2);--用户口令策略不限制

*/

–服务器环境:CPU:4路8核 /内存:16GB /磁盘阵列:1TB**

--call SF_SET_SYSTEM_PARA_VALUE ('参数名',参数值,1为后续生效,2修改ini文件参数);

call SF_SET_SYSTEM_PARA_VALUE ('MAX_SESSIONS',3000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('MAX_OS_MEMORY',90,1,2);

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

call SF_SET_SYSTEM_PARA_VALUE ('MAX_BUFFER',10240,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('BUFFER_POOLS',61,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('RECYCLE',512,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('RECYCLE_POOLS',7,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('HJ_BUF_GLOBAL_SIZE',4096,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('HJ_BUF_SIZE',512,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('DICT_BUF_SIZE',512,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('KEEP',512,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('TEMP_SIZE',1000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('VM_POOL_SIZE',256,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('SESS_POOL_SIZE',256,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('CACHE_POOL_SIZE',2000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('WORKER_THREADS',7,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('TASK_THREADS',7,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('MAX_SESSION_STATEMENT',20000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('USE_PLN_POOL',1,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('OLAP_FLAG',2,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('ENABLE_ENCRYPT',0,1,2); --可以让非SYSDBA用户登录

--以下语句根据需求执行(不是必须执行的)

/*

call SF_SET_SYSTEM_PARA_VALUE ('PK_MAP_TO_DIS',1,1,2);  --MPP环境下执行默认哈希分布

call SF_SET_SYSTEM_PARA_VALUE ('PWD_POLICY',0,1,2);--用户口令策略不限制

*/

–4核心4G内存

--call SF_SET_SYSTEM_PARA_VALUE ('参数名',参数值,1为后续生效,2修改ini文件参数);

call SF_SET_SYSTEM_PARA_VALUE ('MAX_SESSIONS',3000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('MAX_OS_MEMORY',90,1,2);

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

call SF_SET_SYSTEM_PARA_VALUE ('MAX_BUFFER',2048,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('BUFFER_POOLS',61,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('RECYCLE',128,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('RECYCLE_POOLS',7,1,2);

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

call SF_SET_SYSTEM_PARA_VALUE ('HJ_BUF_SIZE',128,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('DICT_BUF_SIZE',128,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('KEEP',128,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('TEMP_SIZE',1000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('VM_POOL_SIZE',256,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('SESS_POOL_SIZE',256,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('CACHE_POOL_SIZE',2000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('WORKER_THREADS',7,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('TASK_THREADS',7,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('MAX_SESSION_STATEMENT',20000,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('USE_PLN_POOL',1,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('OLAP_FLAG',2,1,2);

call SF_SET_SYSTEM_PARA_VALUE ('ENABLE_ENCRYPT',0,1,2); --可以让非SYSDBA用户登录

--以下语句根据需求执行(不是必须执行的)

/*

call SF_SET_SYSTEM_PARA_VALUE ('PK_MAP_TO_DIS',1,1,2);  --MPP环境下执行默认哈希分布

call SF_SET_SYSTEM_PARA_VALUE ('PWD_POLICY',0,1,2);--用户口令策略不限制

*/

--设置参数详细解释

SP_SET_PARA_VALUE (scope int, paraname varchar(256), valueint64)

该过程用于修改整型静态配置参数和动态配置参数。SCOPE参数为1表示在内存和INI

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

配置参数,此时可用来修改静态配置参数和动态配置参数。当 SCOPE 等于 1,试图修改静

态配置参数时服务器会返回错误信息。只有具有 DBA 角色的用户才有权限调用 SP_SET

_PARA_VALUE。

参数详解:

/*系统允许同时连接的最大数,同时还受到

LICENSE 的限制,取二者中较小的值,有效值

范围(1~65000)*/

--默认值:100

SP_SET_PARA_VALUE(2,'MAX_SESSIONS',3000);

/* DM 服务器能使用的最大内存占操作系统物理

内存与虚拟内存总和的百分比,有效值范围

(40~100)。当取值 100 时,服务器不进行内

存的检查

注:对于 32 位版本的 DM 服务器,虚拟内存最

大为 2G*/

--默认值:95

SP_SET_PARA_VALUE(2,'MAX_OS_MEMORY',90);

/*系统缓冲区大小,以兆为单位。推荐值:系统

缓冲区大小为可用物理内存的 60%~80%。有

效值范围(8~1048576)*/

--默认值:100

SP_SET_PARA_VALUE(2,'BUFFER',32000);

SP_SET_PARA_VALUE(2,'MAX_BUFFER',32000);

/*BUFFER 系统分区数,每个 BUFFER 分区的大

小为 BUFFER/BUFFER_POOLS。有效值范围

(1~512)*/

--默认值:19

SP_SET_PARA_VALUE(2,'BUFFER_POOLS',61);

/*RECYCLE 缓冲区大小,以兆为单位。有效值范

围(8~1048576)*/

--默认值:64

SP_SET_PARA_VALUE(2,'RECYCLE',4000);

/*RECYCLE 缓冲区分区数,每个 RECYCLE 分区

的大小为 RECYCLE/RECYCLE_POOLS。有效

值范围(1~512)*/

--默认值:19

SP_SET_PARA_VALUE(2,'RECYCLE_POOLS',7);

/*HASH 连接操作符的数据总缓存大小(>=

HJ_BUF_SIZE),系统级参数,以兆为单位。

有效值范围(10~500000)*/

--默认值:500

SP_SET_PARA_VALUE(2,'HJ_BUF_GLOBAL_SIZE',4000);

/*单个 HASH 连接操作符的数据总缓存大小,以

兆为单位。有效值范围(2~100000)*/

--默认值:50

SP_SET_PARA_VALUE(2,'HJ_BUF_SIZE',300);

/*字典缓冲区大小,以兆为单位,有效值范围

(1~2048)。单位:MB*/

--默认值:5

SP_SET_PARA_VALUE(2,'DICT_BUF_SIZE',50);

/*默认创建的临时表空间大小,以兆为单位。有

效值范围(10~1048576)*/

--默认值:10

SP_SET_PARA_VALUE(2,'TEMP_SIZE',1024);

/*系统执行时虚拟机内存池大小,在执行过程中

用到的内存大部分是从这里申请的,它的空间

是从操作系统中直接申请的,有效值范围

(32~1024*1024)*/

--默认值:64

SP_SET_PARA_VALUE(2,'VM_POOL_SIZE',256);

/*会话缓冲区大小,以 KB 为单位,有效值范围

(16~1024*1024)。若所申请的内存超过实际

能申请的大小,则系统将按 16KB 大小重新申

请*/

--默认值:64

SP_SET_PARA_VALUE(2,'SESS_POOL_SIZE',256);

/*SQL 缓冲池大小,以兆为单位。有效值范围:

32 位平台下为(1~2048);64 位平台下为

(1~67108864)。单位:MB*/

--默认值:10

SP_SET_PARA_VALUE(2,'CACHE_POOL_SIZE',2048);

/*工作线程的数目,有效值范围(1~64)*/

--默认值:4

SP_SET_PARA_VALUE(2,'WORKER_THREADS',16);

/*任务线程个数,有效值范围(1~1000)*/

--默认值:4

SP_SET_PARA_VALUE(2,'TASK_THREADS',16);

/*单个会话上允许同时打开的语句句柄最大数,

有效值范围(64~20480)*/

--默认值:100

SP_SET_PARA_VALUE(2,'MAX_SESSION_STATEMENT',20000);

/*是否重用执行计划。0:禁止执行计划的重用;

1:启用执行计划的重用功能 ;2:对不包含显

式参数的语句进行常量参数化优化;3:即使包

含显式参数的语句,也进行常量参数化优化*/

--默认值:1

SP_SET_PARA_VALUE(2,'USE_PLN_POOL',1);

/*启用联机分析处理,0:不启用;1:启用;2:

不启用,同时倾向于使用索引范围扫描*/

--默认值:2

SP_SET_PARA_VALUE(2,'OLAP_FLAG',2);

--MPP环境下执行默认哈希分布(旧版本无此参数)

call SF_SET_SYSTEM_PARA_VALUE ('PK_MAP_TO_DIS',1,1,2);

以上优化都会更改达梦数据库dm.ini 配置文件,重启数据库服务后生效

https://eco.dameng.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值