---
title: "通用系统配置参数 | OceanBase 文档中心"
description: "通用系统配置参数 docslug#/oceanbase-database/oceanbase-database/V4.0.0/recommended-general-system-parameters-1 本节主要介绍 OceanBase 数据库使用过程中常用的系统配置参数及系统变量。 集群级参数 memory_li…"
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.0.0 社区版

# 通用系统配置参数

更新时间：2026-05-23 12:14:31

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.0.0/zh-CN/500.administrator-guide/600.basic-database-management/200.configuration-management/400.recommended-general-system-parameters-1.md)  

本节主要介绍 OceanBase 数据库使用过程中常用的系统配置参数及系统变量。

## 集群级参数

- memory_limit：用于配置 OBServer 最大可使用的总内存大小。当前该值无上限，如果设置的内存的最大上限超过了实际的物理内存总和，则会导致系统中其他按总内存计算的值偏大。

     - 默认值：0
     - 取值范围：[0M, +∞)
     - 示例：

      ```sql
      obclient> ALTER SYSTEM SET memory_limit='50G';

      ```
 - system_memory：用于设置系统预留给租户 ID 为 `500` 的租户的内存容量。

     - 默认值：0M
     - 取值范围：[0M, +∞)
     - 示例：

      ```sql
      obclient> ALTER SYSTEM SET system_memory='30G';

      ```
 - rootservice_memory_limit：用于设置 RootService 的最大内存容量限制。

     - 默认值：2G
     - 取值范围：[2G, +∞)
     - 示例：

      ```sql
      obclient> ALTER SYSTEM SET rootservice_memory_limit='2G';

      ```
 - memstore_limit_percentage：用于设置租户使用 MemStore 的内存占其总可用内存的百分比。

     - 默认值：50
     - 取值范围：(0, 100)
     - 示例：

      ```sql
      obclient> ALTER SYSTEM memstore_limit_percentage=50;

      ```
 - trace_log_slow_query_watermark：用于设置查询的执行时间阈值，如果查询的执行时间超过该阈值，则被认为是慢查询，慢查询的追踪日志会被打印到系统日志中。

     - 默认值：1s
     - 取值范围：[1ms, +∞)
     - 示例：

      ```sql
      obclient> ALTER SYSTEM trace_log_slow_query_watermark='100ms';

      ```
 - enable_syslog_recycle：用于设置是否开启回收系统日志的功能。

     - 默认值：False
     - 取值范围：True，False
     - 示例：

      ```sql
      obclient> ALTER SYSTEM enable_syslog_recycle=False;

      ```
 - max_syslog_file_count：用于设置在回收日志文件之前可以容纳的日志文件数量。

     - 默认值：0
     - 取值范围：[0, +∞)
     - 示例：

      ```sql
      obclient> ALTER SYSTEM max_syslog_file_count=0;

      ```
 - enable_sql_audit：用于设置是否开启 SQL 审计功能。

     - 默认值：True
     - 取值范围：True，False
     - 示例：

      ```sql
      obclient> ALTER SYSTEM enable_sql_audit=True;

      ```
 - datafile_disk_percentage：表示占用 `data_dir` 所在磁盘（ `data_dir` 所在的磁盘将被 OceanBase 数据库系统初始化用于存储数据）总空间的百分比。

     - 默认值：0
     - 取值范围：[0,99]
     - 示例：

      ```sql
      obclient> ALTER SYSTEM datafile_disk_percentage=90;

      ```
 - enable_rebalance：用于设置是否开启自动负载均衡的功能。

      ```sql
      obclient> ALTER SYSTEM enable_rebalance=True;

      ```
 - resource_hard_limit：用于分配 Unit。

     - 默认值：100
     - 取值范围：(0, 10000]
     - 示例：

      ```sql
      obclient> ALTER SYSTEM resource_hard_limit=100;

      ```
 - stack_size：用于设置程序函数调用栈的大小。

     - 默认值：512K
     - 取值范围：[512K, 20M]
     - 示例：

      ```sql
      obclient> ALTER SYSTEM stack_size='1M';

      ```
 - syslog_level：用于设置系统日志的打印级别。

     - 默认值：INFO
     - 取值范围：DEBUG，TRACE，INFO，WARN，USER_ERR，ERROR，PERF
     - 示例：

      ```sql
      obclient> ALTER SYSTEM syslog_level=INFO;

      ```

## 租户级参数

- freeze_trigger_percentage：用于设置触发全局冻结的租户使用内存阈值。

     - 默认值：20
     - 取值范围：(0, 100)
     - 示例：

      ```sql
      obclient> ALTER SYSTEM freeze_trigger_percentage=20;

      ```
 - major_compact_trigger：用于设置多少次小合并触发一次全局合并。

     - 默认值：0
     - 取值范围：[0, 65535]
     - 示例：

      ```sql
      obclient> ALTER SYSTEM major_compact_trigger=5;

      ```
 - cpu_quota_concurrency：用于设置租户的每个 CPU 配额所允许的最大并发数。

     - 默认值：4
     - 取值范围：[1, 10]
     - 示例：

      ```sql
      obclient> ALTER SYSTEM cpu_quota_concurrency=4;

      ```
 - writing_throttling_trigger_percentage：用于设置写入速度的阈值。当值为 `100` 时，表示关闭写入限速机制。

     - 默认值：60
     - 取值范围：[0, 100]
     - 示例：

      ```sql
      obclient> ALTER SYSTEM SET writing_throttling_trigger_percentage=100;

      ```
 - audit_trail：用于设置是否启用数据库审核。

     - 默认值：NONE
     - 取值范围：

           - NONE
           - OS
           - DB
           - DB，EXTENDED
           - DB_EXTENDED
     - 示例：

      ```sql
      obclient> ALTER SYSTEM SET audit_trail=NONE;

      ```
 - undo_retention：表示系统应保留的多版本数据范围，单位为秒，在转储时控制多版本数据的回收。

     - 默认值：1800
     - 取值范围：[0, 4294967295]
     - 示例：

      ```sql
      obclient> ALTER SYSTEM SET undo_retention=1800;

      ```

## 系统变量

- recyclebin：用于设置是否开启回收站功能。

     - 默认值：OFF
     - 取值范围：

           - 1 或 ON
           - 0 或 OFF
     - 示例：

      ```sql
      obclient> SET GLOBAL recyclebin=OFF;

      ```

      或者

      ```sql
      obclient> SET GLOBAL recyclebin=0;

      ```
 - ob_query_timeout：用于设置 SQL 最大执行时间，单位是微秒。

     - 默认值：10000000
     - 取值范围：N/A
     - 示例：

      ```sql
      obclient> SET GLOBAL ob_query_timeout=10000000;

      ```
 - ob_trx_idle_timeout：用于设置事务空闲超时时间，即事务中两条语句之间的执行间隔超过该值时超时，单位为微秒。

     - 默认值：86400000000
     - 取值范围：[100000000,+∞)
     - 示例：

      ```sql
      obclient> SET GLOBAL ob_trx_idle_timeout=120000000;

      ```
 - ob_trx_timeout：用于设置事务超时时间，单位为微秒。

     - 默认值：86400000000
     - 取值范围：N/A
     - 示例：

      ```sql
      obclient> SET GLOBAL ob_trx_timeout=100000000;

      ```
 - ob_read_consistency：用于设置读一致性级别。

     - 默认值：STRONG
     - 取值范围：

           - 0：空字符串
           - 1：FROZEN
           - 2：WEAK
           - 3：STRONG
     - 示例：

      ```sql
      obclient> SET GLOBAL ob_read_consistency=STRONG;

      ```

      或者

      ```sql
      obclient> SET GLOBAL ob_read_consistency=3;

      ```
 - ob_sql_work_area_percentage：用于 SQL 执行的租户内存百分比限制。

     - 默认值：5
     - 取值范围：[0, 100]
     - 示例：

      ```sql
      obclient> SET GLOBAL ob_sql_work_area_percentage=5;

      ```
 - parallel_servers_target：用于设置每个 Server 上的并行查询排队条件。当多条并行执行（Parallel eXecution，PX）SQL 总计消耗的线程数超过并行查询排队条件后，后继并行执行 SQL 需要排队等待。

     - 默认值：0
     - 取值范围：[0, 9223372036854775807]
     - 示例：

      ```sql
      obclient> SET GLOBAL parallel_servers_target=0;

      ```
 - max_allowed_packet：用于设置最大网络包大小，单位是 Byte。

     - 默认值：4194304
     - 取值范围：[1024,1073741824]
     - 示例：

      ```sql
      obclient> SET GLOBAL max_allowed_packet=4194304;

      ```
 - nls_date_format：用于控制 Date 类型转 Str 的格式，以及 Str 隐式转 Date 的格式。

  > **说明**
  >
  >  
  >
  > 该参数仅适用于 Oracle 模式。

     - 默认值：DD-MON-RR
     - 取值范围：N/A
     - 示例：

      ```sql
      obclient> SET GLOBAL nls_date_format='DD-MON-RR';

      ```
 - autocommit：用于设置是否自动提交事务。

     - 默认值：ON
     - 取值范围：

      ```sql
      obclient> SET GLOBAL autocommit=ON;

      ```

      或者

      ```sql
      obclient> SET GLOBAL autocommit=1;

      ```
 - ob_enable_plan_cache：用于设置是否打开 Plan Cache。

           - 1 或 ON
           - 0 或 OFF
     - 示例：示例：

      ```sql
      obclient> SET GLOBAL ob_enable_plan_cache=ON;

      ```

      或者

      ```sql
      obclient> SET GLOBAL ob_enable_plan_cache=1;

      ```
 - ob_plan_cache_percentage：用于设置计划缓存可以使用的租户内存资源的百分比。

      ```sql
      obclient> SET GLOBAL ob_plan_cache_percentage=5;

      ```
 - ob_sql_audit_percentage：用于设置 SQL Audit 内存上限占当前租户内存的百分比。

     - 默认值：3
     - 取值范围：[0, 80]
     - 示例：

      ```sql
      obclient> SET GLOBAL ob_sql_audit_percentage=3;

      ```
 - ob_enable_sql_audit：用于控制当前租户是否开启 SQL Audit 功能。当取值为 `False` 时，全部租户均不会开启 SQL Audit 功能。

      ```sql
      obclient> SET GLOBAL ob_enable_sql_audit=True;

      ```
 - transaction_isolation：用于设置事务的隔离级别。

     - 默认值：READ-COMMITTED
     - 取值范围：READ-UNCOMMITTED ，READ-COMMITTED ，REPEATABLE-READ，SERIALIZABLE
     - 示例：

      ```sql
      obclient> SET GLOBAL transaction_isolation='READ-COMMITTED';

      ```
 - validate_password_check_user_name：用于设置用户密码是否可以和用户名相同。取值为 `ON` 时，表示用户密码不可以和用户名相同；取值为 `OFF` 时，表示用户密码可以和用户名相同。

     - 默认值：OFF
     - 取值范围：ON，OFF
     - 示例：

      ```sql
      obclient> SET GLOBAL validate_password_check_user_name=ON;

      ```
 - validate_password_length：用于设置用户密码最小长度。

     - 默认值：0
     - 取值范围：[0,2147483647]
     - 示例：

      ```sql
      obclient> SET GLOBAL validate_password_length=0;

      ```
 - validate_password_mixed_case_count：用于设置用户密码至少包含的大写字母个数以及至少包含的小写字母个数。

      ```sql
      obclient> SET GLOBAL validate_password_mixed_case_count=0;

      ```
 - validate_password_number_count：用于设置用户密码至少包含的数字个数。

      ```sql
      obclient> SET GLOBAL validate_password_number_count=0;

      ```
 - validate_password_policy：用于设置密码检查策略。取值为 `LOW` 时，表示仅包含密码常见的检测；取值为 `MEDIUM` 时，表示包括密码长度检测、大写字母个数检测、小写字母个数检测、数字个数检测、特殊字符个数检测、用户名密码相同检测。

     - 默认值：LOW
     - 取值范围：LOW，MEDIUM
     - 示例：

      ```sql
      obclient> SET GLOBAL validate_password_policy=LOW;

      ```
 - validate_password_special_char_count：用于设置用户密码至少包含的特殊字符个数。

      ```sql
      obclient> SET GLOBAL validate_password_special_char_count=0;

      ```
 - resource_manager_plan：用于激活资源管理计划。指定不同计划，会使用不同 CPU 的额度来限定资源组下的用户活动。

  租户内的普通线程和并行执行线程会相互抢占 CPU 资源，通过为租户指定资源隔离计划，可以控制资源抢占策略，限制资源的使用量。

     - 默认值：""
     - 取值范围：N/A
     - 示例：

      每个租户可以创建多套资源管理计划（Resource Plan），例如：DAYTIME、NIGHT 等，您可以在不同时间段或不同的应用场景下激活相应的计划，以最大化系统性能。

      ```sql
      delimiter //

      # 定义 DAYTIME 资源管理计划
      begin DBMS_RESOURCE_MANAGER.CREATE_PLAN(
        PLAN => 'DAYTIME');
      end; //

      begin DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
        PLAN => 'DAYTIME',
        GROUP_OR_SUBPLAN => 'interactive_group' ,
        COMMENT => 'TP 优先',
        MGMT_P1 => 30);
      end; //

      begin DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
        PLAN => 'DAYTIME',
        GROUP_OR_SUBPLAN => 'batch_group' ,
        COMMENT => '即使TP空负载，AP最多占用 40% CPU 资源',
        MGMT_P1 => 20,
        UTILIZATION_LIMIT => 40);
      end; //

      # 定义 NIGHT 资源管理计划
      begin DBMS_RESOURCE_MANAGER.CREATE_PLAN(
        PLAN => 'NIGHT');
      end; //

      begin DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
        PLAN => 'NIGHT',
        GROUP_OR_SUBPLAN => 'interactive_group' ,
        COMMENT => 'TP 资源最小化',
        MGMT_P1 => 10);
      end; //

      begin DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
        PLAN => 'NIGHT',
        GROUP_OR_SUBPLAN => 'batch_group' ,
        COMMENT => 'TP空负载，AP最多占用 90% CPU 资源',
        MGMT_P1 => 90,
        UTILIZATION_LIMIT => 90);
      end; //

      # 用户名部分，test001 会被自动转成大写。如果希望保持小写，则需要写成 '"test001"'
      BEGIN
        DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING  
           (DBMS_RESOURCE_MANAGER.ORACLE_USER, 'test001', 'batch_group');
      END;//

      select * from DBA_RSRC_GROUP_MAPPINGS;//

      # 白天时，执行该语句，激活 DAYTIME 计划，TP 优先
      SET GLOBAL resource_manager_plan='DAYTIME';

      # 夜晚时，执行该语句，激活 NIGHT 计划，批处理/AP 优先
      SET GLOBAL resource_manager_plan='NIGHT';

      # 禁用所有资源计划，不作任何限制
      SET GLOBAL resource_manager_plan='';

      ```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
