达梦数据库运行参数管理

达梦数据库运行参数管理

1、运行参数文件路径

[dmdba@localhost bin]$ ll /dm8/data/DMOA/dm.ini 
-rw-r--r-- 1 dmdba dinstall 51172  721 15:50 /dm8/data/DMOA/dm.in

2、参数查看

SQL> select * from v$parameter; -- TYPE:参数类型 VALUE:当前值 SYS_VALUE:系统全局值 FILE_VALUE:dm.ini文件值
SQL> select * from v$dm_ini;

3、参数类型

静态参数(修改物理值)

IN FILE:可以通过sql、函数、手动编辑dm.ini修改,修改后无法立即生效,需要重启数据库

动态参数(修改内存值)

sys:系统全局级动态参数,修改后对全局会话生效(修改内存值)

session:会话级动态参数,修改后只对当前会话生效

手动参数(修改物理值)

read only:只能通过编辑dm.ini修改,修改后无法立即生效,需要重启数据库

4、参数修改

直接通过编辑dm.ini修改

vim /dm8/data/DMOA/dm.ini

如修改数据库兼容参数:

SQL> select name,"V$PARAMETER".TYPE,file_value from v$parameter where name like 'COMPATIBLE_MODE';

行号       NAME            TYPE    FILE_VALUE
---------- --------------- ------- ----------
1          COMPATIBLE_MODE IN FILE 0

已用时间: 2.777(毫秒). 执行号:320.
SQL>
[dmdba@localhost DMOA]$ vim dm.ini
#compatibility
                BACKSLASH_ESCAPE                = 0                     #Escape Mode For Backslash, 0: Not Escape; 1: Escape
                STR_LIKE_IGNORE_MATCH_END_SPACE = 1                     #Whether to ignore end space of strings in like clause
                CLOB_LIKE_MAX_LEN               = 10240               #Maximum length in kilobytes of CLOB data that can be filtered by like clause
                EXCLUDE_DB_NAME                 =                #THE db names which DM7 server can exclude
                MS_PARSE_PERMIT                 = 0                     #Whether to support SQLSERVER's parse style
                COMPATIBLE_MODE                 = 2               #Server compatible mode, 0:none, 1:SQL92, 2:Oracle, 3:MS SQL Server, 4:MySQL, 5:DM6, 6:Teradata
SQL> select name,"V$PARAMETER".TYPE,file_value from v$parameter where name like 'COMPATIBLE_MODE';

行号       NAME            TYPE    FILE_VALUE
---------- --------------- ------- ----------
1          COMPATIBLE_MODE IN FILE 2

已用时间: 2.381(毫秒). 执行号:321.
SQL>
  • 通过内置函数修改

查看提供修改参数的内置函数

SQL> select name from v$ifun where name like '%SET%PARA%VALUE%';

行号       NAME
---------- -------------------------
1          SP_SET_PARA_DOUBLE_VALUE
2          SF_SET_SESSION_PARA_VALUE
3          SF_SET_SESSION_PARA_VALUE
4          SF_SET_SESSION_PARA_VALUE
5          SF_SET_SESSION_PARA_VALUE
6          SP_DFS_DCS_SET_PARA_VALUE
7          SF_SET_SYSTEM_PARA_VALUE
8          SF_SET_SYSTEM_PARA_VALUE
9          SF_SET_SYSTEM_PARA_VALUE
10         SP_SET_PARA_STRING_VALUE
11         SP_SET_PARA_VALUE

行号       NAME
---------- ---------------------------
12         SP_RESET_SESSION_PARA_VALUE

12 rows got

已用时间: 1.715(毫秒). 执行号:322.

修改整型参数

-- SP_SET_PARA_VALUE (scope int, paraname varchar(256), value int64)
SQL> select name,"V$PARAMETER".TYPE,file_value from v$parameter where name like 'COMPATIBLE_MODE';

服务器[192.168.220.131:5234]:处于普通打开状态
已连接

行号       NAME            TYPE    FILE_VALUE
---------- --------------- ------- ----------
1          COMPATIBLE_MODE IN FILE 2

已用时间: 6.168(毫秒). 执行号:300.
SQL> SP_SET_PARA_VALUE (2, 'COMPATIBLE_MODE', 0);
DMSQL 过程已成功完成
已用时间: 3.080(毫秒). 执行号:301.
SQL> select name,"V$PARAMETER".TYPE,file_value from v$parameter where name like 'COMPATIBLE_MODE';

行号       NAME            TYPE    FILE_VALUE
---------- --------------- ------- ----------
1          COMPATIBLE_MODE IN FILE 0

已用时间: 2.302(毫秒). 执行号:302.
SQL>

修改浮点型参数

-- SP_SET_PARA_DOUBLE_VALUE (scope int, ini_param_name varchar(256),value double)
SQL> select * from v$parameter where name = 'DSC_RESERVE_PERCENT';

行号       ID          NAME                TYPE VALUE    SYS_VALUE FILE_VALUE DESCRIPTION
---------- ----------- ------------------- ---- -------- --------- ---------- -------------------------
1          652         DSC_RESERVE_PERCENT SYS  0.080000 0.080000  0.080000   Start ctl reserve percent

已用时间: 2.813(毫秒). 执行号:340.
SQL> SP_SET_PARA_DOUBLE_VALUE (1, 'DSC_RESERVE_PERCENT',0.080001);
DMSQL 过程已成功完成
已用时间: 2.581(毫秒). 执行号:341.
SQL> select * from v$parameter where name = 'DSC_RESERVE_PERCENT';

行号       ID          NAME                TYPE VALUE    SYS_VALUE FILE_VALUE DESCRIPTION
---------- ----------- ------------------- ---- -------- --------- ---------- -------------------------
1          652         DSC_RESERVE_PERCENT SYS  0.080001 0.080001  0.080000   Start ctl reserve percent

已用时间: 2.498(毫秒). 执行号:342.
SQL>

修改字符型参数

--SP_SET_PARA_STRING_VALUE (scope int, ini_param_name varchar(256) ,value varchar(8187))
SQL> select * from (select dd.*,translate(replace(dd.FILE_VALUE, '.', ''), '/1234567890', '/') f_valu from v$parameter dd where dd.type != 'READ ONLY') ff where ff.f_valu is not null and ff.NAME = 'SVR_LOG_NAME';

行号       ID          NAME         TYPE VALUE    SYS_VALUE FILE_VALUE DESCRIPTION                           F_VALU
---------- ----------- ------------ ---- -------- --------- ---------- ------------------------------------- --------
1          533         SVR_LOG_NAME SYS  SLOG_ALL SLOG_ALL  SLOG_ALL   Using which sql log sys in sqllog.ini SLOG_ALL

已用时间: 3.305(毫秒). 执行号:346.
SQL> SP_SET_PARA_STRING_VALUE (1, 'SVR_LOG_NAME' ,'test_SLOG_ALL');
DMSQL 过程已成功完成
已用时间: 2.994(毫秒). 执行号:347.
SQL> select * from (select dd.*,translate(replace(dd.FILE_VALUE, '.', ''), '/1234567890', '/') f_valu from v$parameter dd where dd.type != 'READ ONLY') ff where ff.f_valu is not null and ff.NAME = 'SVR_LOG_NAME';

行号       ID          NAME         TYPE VALUE         SYS_VALUE     FILE_VALUE
---------- ----------- ------------ ---- ------------- ------------- -------------
           DESCRIPTION                           F_VALU
           ------------------------------------- -------------
1          533         SVR_LOG_NAME SYS  test_SLOG_ALL test_SLOG_ALL test_SLOG_ALL
           Using which sql log sys in sqllog.ini test_SLOG_ALL


已用时间: 2.612(毫秒). 执行号:348.

修改会话级参数

-- SF_SET_SESSION_PARA_VALUE (paraname varchar(8187),value bigint)
-- 会话级参数只会修改当前值,不影响其他会话
SQL> select * from v$parameter qq where qq.TYPE like 'SESSION' and name = 'VIEW_PULLUP_MAX_TAB';

行号       ID          NAME                TYPE    VALUE SYS_VALUE FILE_VALUE
---------- ----------- ------------------- ------- ----- --------- ----------
           DESCRIPTION
           -----------------------------------------------------------------
1          128         VIEW_PULLUP_MAX_TAB SESSION 7     7         7
           Maximum number of tables that can be handled when pulling up view


已用时间: 2.924(毫秒). 执行号:351.
SQL> SF_SET_SESSION_PARA_VALUE ('VIEW_PULLUP_MAX_TAB',8);
DMSQL 过程已成功完成
已用时间: 0.783(毫秒). 执行号:352.
SQL> select * from v$parameter qq where qq.TYPE like 'SESSION' and name = 'VIEW_PULLUP_MAX_TAB';

行号       ID          NAME                TYPE    VALUE SYS_VALUE FILE_VALUE
---------- ----------- ------------------- ------- ----- --------- ----------
           DESCRIPTION
           -----------------------------------------------------------------
1          128         VIEW_PULLUP_MAX_TAB SESSION 8     7         7
           Maximum number of tables that can be handled when pulling up view


已用时间: 2.583(毫秒). 执行号:353.

重置会话级参数,使之与系统级参数一致

-- SP_RESET_SESSION_PARA_VALUE (paraname varchar(8187))
SQL> select * from v$parameter qq where qq.TYPE like 'SESSION' and name = 'VIEW_PULLUP_MAX_TAB';

行号       ID          NAME                TYPE    VALUE SYS_VALUE FILE_VALUE
---------- ----------- ------------------- ------- ----- --------- ----------
           DESCRIPTION
           -----------------------------------------------------------------
1          128         VIEW_PULLUP_MAX_TAB SESSION 8     7         7
           Maximum number of tables that can be handled when pulling up view


已用时间: 2.583(毫秒). 执行号:353.
SQL> SP_RESET_SESSION_PARA_VALUE ('VIEW_PULLUP_MAX_TAB');
DMSQL 过程已成功完成
已用时间: 0.582(毫秒). 执行号:354.
SQL> select * from v$parameter qq where qq.TYPE like 'SESSION' and name = 'VIEW_PULLUP_MAX_TAB';

行号       ID          NAME                TYPE    VALUE SYS_VALUE FILE_VALUE
---------- ----------- ------------------- ------- ----- --------- ----------
           DESCRIPTION
           -----------------------------------------------------------------
1          128         VIEW_PULLUP_MAX_TAB SESSION 7     7         7
           Maximum number of tables that can be handled when pulling up view


已用时间: 2.423(毫秒). 执行号:355.
SQL>

修改系统整型、double、varchar 的参数

-- SF_SET_SYSTEM_PARA_VALUE (paraname varchar(256), value bigint/double/varchar(256),deferred int, scope int)
SQL> select * from v$parameter qq where qq.TYPE like 'SYS' and name in ('CKPT_FLUSH_RATE','CKPT_INTERVAL','SVR_LOG_NAME');

行号       ID          NAME            TYPE VALUE    SYS_VALUE FILE_VALUE DESCRIPTION
---------- ----------- --------------- ---- -------- --------- ---------- -------------------------------------
1          265         CKPT_INTERVAL   SYS  300      300       300        Checkpoint Interval In Seconds
2          266         CKPT_FLUSH_RATE SYS  5.000000 5.000000  5.000000   Checkpoint Flush Rate(0.0-100.0)
3          533         SVR_LOG_NAME    SYS  SLOG_ALL SLOG_ALL  SLOG_ALL   Using which sql log sys in sqllog.ini

已用时间: 4.659(毫秒). 执行号:356.
SQL> SF_SET_SYSTEM_PARA_VALUE ('CKPT_INTERVAL', 301,0, 1);
DMSQL 过程已成功完成
已用时间: 3.070(毫秒). 执行号:357.
SQL> SF_SET_SYSTEM_PARA_VALUE ('CKPT_FLUSH_RATE', 5.000001,0, 1);
DMSQL 过程已成功完成
已用时间: 2.685(毫秒). 执行号:358.
SQL> SF_SET_SYSTEM_PARA_VALUE ('SVR_LOG_NAME', 'SLOG_ALL_test',0, 1);
DMSQL 过程已成功完成
已用时间: 2.773(毫秒). 执行号:359.
SQL> select * from v$parameter qq where qq.TYPE like 'SYS' and name in ('CKPT_FLUSH_RATE','CKPT_INTERVAL','SVR_LOG_NAME');

行号       ID          NAME            TYPE VALUE         SYS_VALUE     FILE_VALUE
---------- ----------- --------------- ---- ------------- ------------- -------------
           DESCRIPTION
           -------------------------------------
1          265         CKPT_INTERVAL   SYS  301           301           301
           Checkpoint Interval In Seconds

2          266         CKPT_FLUSH_RATE SYS  5.000001      5.000001      5.000000
           Checkpoint Flush Rate(0.0-100.0)

3          533         SVR_LOG_NAME    SYS  SLOG_ALL_test SLOG_ALL_test SLOG_ALL_test
           Using which sql log sys in sqllog.ini


已用时间: 3.072(毫秒). 执行号:360.
SQL>
-- 注:CKPT_FLUSH_RATE参数FILE_VALUE值未变动,可能是因为dm.ini文件中改参数值仅保留两位小数
scope:取值为 0、1、2 。0 表示修改内存中的参数值,1 表示修改内存和INI 文件中参数值,0 和 1 都只能修改动态的配置参数。2 表示修改 INI 文件中参数,此时可用来修改静态配置参数和动态配置参数
deferred:是否立即生效。为 0 表示当前 session 修改的参数立即生效,为 1 表示当前 session 不生效,后续再生效,默认为 0。
  • 使用alter system/session set方式修改内存中的系统级&会话级参数
-- 修改系统级参数,DEFERRED参数为立即生效,语法格式如下。
-- ALTER SYSTEM SET '<参数名称>' =<参数值> [DEFERRED] [MEMORY|BOTH|SPFILE];
SQL> select * from v$parameter qq where qq.TYPE like 'SYS' and name in ('SVR_LOG_NAME');

行号       ID          NAME         TYPE VALUE    SYS_VALUE FILE_VALUE DESCRIPTION
---------- ----------- ------------ ---- -------- --------- ---------- -------------------------------------
1          533         SVR_LOG_NAME SYS  SLOG_ALL SLOG_ALL  SLOG_ALL   Using which sql log sys in sqllog.ini

已用时间: 3.071(毫秒). 执行号:364.
SQL> ALTER SYSTEM SET 'SVR_LOG_NAME' ='SLOG_ALL_test' DEFERRED BOTH;
DMSQL 过程已成功完成
已用时间: 2.644(毫秒). 执行号:365.
SQL> select * from v$parameter qq where qq.TYPE like 'SYS' and name in ('SVR_LOG_NAME');

行号       ID          NAME         TYPE VALUE         SYS_VALUE     FILE_VALUE
---------- ----------- ------------ ---- ------------- ------------- -------------
           DESCRIPTION
           -------------------------------------
1          533         SVR_LOG_NAME SYS  SLOG_ALL_test SLOG_ALL_test SLOG_ALL_test
           Using which sql log sys in sqllog.ini


已用时间: 2.652(毫秒). 执行号:366.
SQL>
-- 修改会话参数,PURGE关键字指是否清理执行计划。语法格式如下。
-- ALTER SESSION SET '<参数名称>' =<参数值> [PURGE];
SQL> select * from v$parameter qq where qq.TYPE like 'SESSION' and name in ('VIEW_PULLUP_MAX_TAB');

行号       ID          NAME                TYPE    VALUE SYS_VALUE FILE_VALUE
---------- ----------- ------------------- ------- ----- --------- ----------
           DESCRIPTION
           -----------------------------------------------------------------
1          128         VIEW_PULLUP_MAX_TAB SESSION 7     7         7
           Maximum number of tables that can be handled when pulling up view


已用时间: 2.961(毫秒). 执行号:367.
SQL> ALTER SESSION SET 'VIEW_PULLUP_MAX_TAB' = 8 PURGE;
DMSQL 过程已成功完成
已用时间: 1.176(毫秒). 执行号:368.
SQL> select * from v$parameter qq where qq.TYPE like 'SESSION' and name in ('VIEW_PULLUP_MAX_TAB');

行号       ID          NAME                TYPE    VALUE SYS_VALUE FILE_VALUE
---------- ----------- ------------------- ------- ----- --------- ----------
           DESCRIPTION
           -----------------------------------------------------------------
1          128         VIEW_PULLUP_MAX_TAB SESSION 8     7         7
           Maximum number of tables that can be handled when pulling up view


已用时间: 2.794(毫秒). 执行号:369.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值