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

GaussDB的参数修改调整

原创 samwise 2019-12-19
1649

GaussDB的参数是存储在cfg/zengine.ini配置文件中。每一行存储一个参数。当某个参数有多个值的时候,可以用逗号分隔。当数据库实例启动时,会从配置文件中读取所有的参数。每个参数都有默认值,如果没有显示指定,那么参数初始化为默认值。部分参数会在数据库创建阶段写入控制文件,因此建库之后无法修改。

可以通过以下方式获取参数的配置情况:
SQL> show parameters
或者:

SQL> show parameter

NAME                    DATATYPE          VALUE                  RUNTIME_VALUE                              EFFECTIVE           
--------------------- ----------------- ------------------------- ----------------------------------------- --------------------------------------------
LSNR_ADDR             GS_TYPE_VARCHAR    127.0.0.1,10.211.55.110   127.0.0.1,10.211.55.110                   reboot              
LSNR_PORT             GS_TYPE_INTEGER    1888                      1888                                      reboot              
OPTIMIZED_WORKER_THREADS     GS_TYPE_INTEGER      100              100                                       reboot              
REACTOR_THREADS              GS_TYPE_INTEGER      1                1                                         reboot              

或者通过dv_parameters视图获取:

SQL> select name,value,RUNTIME_VALUE,DEFAULT_VALUE,ISDEFAULT,MODIFIABLE,EFFECTIVE from dv_parameters where name like 'BLOCK%';

NAME                           VALUE      RUNTIME_VA DEFAULT_VA ISDEFAULT            MODIFIABLE           EFFECTIVE           
------------------------------ ---------- ---------- ---------- -------------------- -------------------- --------------------            
BLOCK_REPAIR_ENABLE            FALSE      FALSE      FALSE      TRUE                 TRUE                 immediately         
BLOCK_REPAIR_TIMEOUT           60         60         60         TRUE                 TRUE                 immediately         

2 rows fetched.

参数的调整方式有两种:

  • 直接修改参数配置文件cfg/zengine.ini,重启数据库生效。
  • 通过alter system set的方式,调整参数。
    语法:alter system set parameter=value;

在哪些情况下,只能用直接修改cfg/zengine.ini参数文件的方式调整参数呢?如果dv_parameters视图MODIFIABLE的值为FALSE,表明这些参数不支持在线修改。默认情况下,有以下参数为非在线修改参数:

SQL> select name,value,MODIFIABLE from dv_parameters where MODIFIABLE='FALSE';   

NAME                                                             VALUE                                                            MODIFIABLE          
---------------------------------------------------------------- ---------------------------------------------------------------- --------------------
PAGE_SIZE                                                        8K                                                               FALSE               
CONTROL_FILES                                                    (/u01/app/gaussdb/data/data/cntl1, /u01/app/gaussdb/data/data/cntl2, /u01/app/gaussdb/data/data/cntl3) FALSE               
ARCHIVE_CONFIG                                                   SEND,RECEIVE,NODG_CONFIG                                         FALSE               
LOG_ARCHIVE_CONFIG                                               SEND,RECEIVE,NODG_CONFIG                                         FALSE               
ARCHIVE_MAX_THREADS                                              1                                                                FALSE               
LOG_ARCHIVE_MAX_PROCESSES                                        1                                                                FALSE               
ARCHIVE_MIN_SUCCEED_DEST                                         1                                                                FALSE               
LOG_ARCHIVE_MIN_SUCCEED_DEST                                     1                                                                FALSE               
ARCHIVE_TRACE                                                    0                                                                FALSE               
LOG_ARCHIVE_TRACE                                                0                                                                FALSE               
_UNDO_SEGMENTS                                                   32                                                               FALSE               
UPPER_CASE_TABLE_NAMES                                           TRUE                                                             FALSE               
EMPTY_STRING_AS_NULL                                             TRUE                                                             FALSE               
HAVE_SSL                                                         FALSE                                                            FALSE               
COVERAGE_ENABLE                                                  FALSE                                                            FALSE               
TYPE_MAP_FILE                                                                                                                     FALSE               
DB_TIMEZONE                                                      +00:00                                                           FALSE               
XA_FORMAT_ID                                                     247                                                              FALSE               

18 rows fetched.

如果采用alter system方式调整这类参数,会抛出“GS-00626”的错误:

SQL> alter system set ARCHIVE_TRACE=1;

GS-00626, Set ARCHIVE_TRACE is not supported

SQL> alter system set LOG_ARCHIVE_TRACE=1;

GS-00626, Set ARCHIVE_TRACE is not supported
SQL> exit  

因此,这类参数必须在数据库关闭情况下修改。

添加以下参数至参数文件中:
ARCHIVE_TRACE=1
LOG_ARCHIVE_TRACE = 1

重启数据库。

SQL> select name,value,MODIFIABLE from dv_parameters where MODIFIABLE='FALSE';   

NAME                                                             VALUE                                                            MODIFIABLE          
---------------------------------------------------------------- ---------------------------------------------------------------- --------------------
PAGE_SIZE                                                        8K                                                               FALSE               
CONTROL_FILES                                                    (/u01/app/gaussdb/data/data/cntl1, /u01/app/gaussdb/data/data/cntl2, /u01/app/gaussdb/data/data/cntl3) FALSE               
ARCHIVE_CONFIG                                                   SEND,RECEIVE,NODG_CONFIG                                         FALSE               
LOG_ARCHIVE_CONFIG                                               SEND,RECEIVE,NODG_CONFIG                                         FALSE               
ARCHIVE_MAX_THREADS                                              1                                                                FALSE               
LOG_ARCHIVE_MAX_PROCESSES                                        1                                                                FALSE               
ARCHIVE_MIN_SUCCEED_DEST                                         1                                                                FALSE               
LOG_ARCHIVE_MIN_SUCCEED_DEST                                     1                                                                FALSE               
ARCHIVE_TRACE                                                    1                                                                FALSE               
LOG_ARCHIVE_TRACE                                                1                                                                FALSE               
_UNDO_SEGMENTS                                                   32                                                               FALSE               
UPPER_CASE_TABLE_NAMES                                           TRUE                                                             FALSE               
EMPTY_STRING_AS_NULL                                             TRUE                                                             FALSE               
HAVE_SSL                                                         FALSE                                                            FALSE               
COVERAGE_ENABLE                                                  FALSE                                                            FALSE               
TYPE_MAP_FILE                                                                                                                     FALSE               
DB_TIMEZONE                                                      +00:00                                                           FALSE               
XA_FORMAT_ID                                                     247                                                              FALSE               

18 rows fetched.

另外,这里需要注意的是通过alter system set调整的参数,会将参数直接写入到参数配置文件中。但是否即时生效要分为两种情况:

1、如果dv_parameters视图中effective字段显示的值为“reboot”。说明该参数的修改,需要重启之后才能生效。

SQL> alter system set LARGE_POOL_SIZE=40m;

Succeed.

SQL> select name,value,RUNTIME_VALUE,DEFAULT_VALUE,ISDEFAULT,MODIFIABLE,EFFECTIVE from dv_parameters where name = 'LARGE_POOL_SIZE';                   

NAME                           VALUE      RUNTIME_VA DEFAULT_VA ISDEFAULT            MODIFIABLE           EFFECTIVE           
------------------------------ ---------- ---------- ---------- -------------------- -------------------- --------------------
LARGE_POOL_SIZE                40m        32M        32M        FALSE                TRUE                 reboot              

1 rows fetched.

2、如果dv_parameters视图中effective字段显示的值为“immediately”。说明该参数的修改,立即生效。

SQL> alter system set BLOCK_REPAIR_TIMEOUT=90;

Succeed.

SQL> select name,value,RUNTIME_VALUE,DEFAULT_VALUE,ISDEFAULT,MODIFIABLE,EFFECTIVE from dv_parameters where name = 'BLOCK_REPAIR_TIMEOUT';

NAME                           VALUE      RUNTIME_VA DEFAULT_VA ISDEFAULT            MODIFIABLE           EFFECTIVE           
------------------------------ ---------- ---------- ---------- -------------------- -------------------- --------------------
BLOCK_REPAIR_TIMEOUT           90         90         60         FALSE                TRUE                 immediately         

1 rows fetched.
最后修改时间:2020-02-23 15:46:46
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论