---
title: "系统变量参考 | OceanBase 文档中心"
description: "系统变量参考 OceanBase的系统变量和SQL功能相关，存储在内部表 __all_sys_variable 中，如环境变量、字符集等信息。 系统变量说明下表所示。 变量名 类型 默认值 说明 属性 autocommit int 1 是否自动提交。 GLOBAL | SESSION auto_increment_i…"
---
切换语言

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

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

# 系统变量参考

更新时间：2023-06-25 11:14:28

OceanBase的系统变量和SQL功能相关，存储在内部表 __all_sys_variable 中，如环境变量、字符集等信息。

系统变量说明下表所示。

| **变量名** | **类型** | **默认值** | **说明** | **属性** |
| --- | --- | --- | --- | --- |
| autocommit | int | 1 | 是否自动提交。 | GLOBAL \| SESSION |
| auto_increment_increment | int | 1 | 自增步长，仅用于MySQL客户端登录。 | GLOBAL \| SESSION |
| auto_increment_offset | int | 1 | auto_increment_offset确定AUTO_INCREMENT列值的起点。 | GLOBAL \| SESSION |
| binlog_row_image | varchar | full | 有以下选项。 full,记录所有列； minimal，只复制DML操作中修改的数据元素，提升主从复制吞吐量，减少binlog大小、网络资源和服务器内存占用; noblob，记录所有列除了BLOB和TEXT列。（目前OceanBase1.0 不支持BLOB和TEXT数据类型） | GLOBAL \| SESSION \| INFLUENCE \| NEED_SERIALIZE |
| character_set_client | varchar | utf8mb4 | 客户端字符集设置 | GLOBAL \| SESSION \| NULL |
| character_set_connection | varchar | utf8mb4 | 连接字符集设置 | GLOBAL \| SESSION \| NULL |
| character_set_database | varchar | utf8mb4 | 数据库字符集设置 | GLOBAL \| SESSION \| NULL |
| character_set_filesystem | varchar | binary | 文件系统字符集。这个变量是用来解析字符串引用的文件名，默认值是二进制的，这意味着不发生转换。 | GLOBAL \| SESSION \| NULL |
| character_set_results | varchar | utf8mb4 | 服务器端返回给客户端字符集。 | GLOBAL \| SESSION \| NULL |
| character_set_server | varchar | utf8mb4 | 服务器端字符集 | GLOBAL \| SESSION \| NULL |
| character_set_system | varchar | utf8mb4 | 系统存储字符集 | GLOBAL \| SESSION \| READONLY |
| collation_connection | varchar | utf8mb4_general_ci | 连接校验规则 | GLOBAL \| SESSION \| NULL \| INFLUENCE |
| collation_database | varchar | utf8mb4_general_ci | 数据库校验规则 | GLOBAL \| SESSION \| NULL |
| collation_server | varchar | utf8mb4_general_ci | 服务器端校验规则 | GLOBAL \| SESSION \| NULL |
| connect_timeout | int | 10 | 连接超时时间 | GLOBAL \| SESSION |
| datadir | varchar | - | 数据存放目录 | GLOBAL \| SESSION |
| debug_sync | varchar | - | Sync Point(同步点)功能，通过使用DEBUG_SYNC，可以手动构造不同线程间的并发执行序列，验证特殊并发逻辑下的代码处理正确性。 | SESSION \| INVISIBLE |
| div_precision_increment | int | 4 | 该变量说明用/操作符执行除操作的结果可增加的精确度的位数。 取值范围：[0，30] | GLOBAL \| SESSION \| INFLUENCE \| NEED_SERIALIZE |
| explicit_defaults_for_timestamp | int | 0 | 指定timestamp数据类型的默认属性。 timestamp的默认值为0。 | READONLY \| GLOBAL |
| group_concat_max_len | int | 1024 | 允许的GROUP_CONCAT()函数结果的最大长度。 | GLOBAL \| SESSION \| NEED_SERIALIZE |
| identity | int | 0 | 和变量last_insert_id是同义词。 可以通过select @@identity查询。 | SESSION |
| interactive_timeout | int | 28800 | 服务器关闭交互式连接前等待活动的秒数。 交互式客户端定义为在mysql_real_connect()中使用CLIENT_INTERACTIVE选项的客户端。 又见wait_timeout。 | GLOBAL \| SESSION |
| last_insert_id | int | 0 | 返回本session最后一次插入的自增字段值。 | SESSION |
| lower_case_table_names | int | 1 | 是否大小写敏感。 1：大小写不敏感； 0：大小写敏感 | GLOBAL \| SESSION \| READONLY |
| max_allowed_packet | int | 1048576 | 最大网络包大小。 | GLOBAL \| SESSION |
| net_read_timeout | int | 30 | 中断读前等待连接的其它数据的秒数。当服务器从客户端读数时，net_read_timeout指控制何时中断的超时值。当服务器向客户端写时，net_write_timeout指控制何时中断的超时值。 | GLOBAL \| SESSION |
| net_write_timeout | int | 60 | 中断写之前等待块写入连接的秒数。又见net_read_timeout。 | GLOBAL \| SESSION |
| ob_default_replica_num | int | 1 | 默认的每个集群中表的副本数。 | GLOBAL \| SESSION |
| ob_enable_aggregation_pushdown | bool | 1 | 是否允许聚合操作下压。 1：允许； 0：不允许。 | GLOBAL \| SESSION \| INFLUENCE |
| ob_enable_index_direct_select | bool | 0 | 是否允许用户直接查询索引表。 1：允许； 0：不允许。 | GLOBAL \| SESSION \| INFLUENCE |
| ob_enable_plan_cache | bool | 1 | 是否打开Plan Cache. 1: 打开； 0：关闭。 | GLOBAL \| SESSION |
| ob_enable_transformation | bool | 1 | 是否允许SQL重写。 1：允许； 0：不允许。 | GLOBAL \| SESSION |
| ob_global_debug_sync | varchar | - | ob_global_debug_sync 和变量debug_sync功能相似，区别在于ob_global_debug_sync是全局的(OBServer级别的global) ，debug_sync是session级别。 | SESSION \| INVISIBLE |
| ob_interm_result_mem_limit | int | 2147483648 | 用于表示对于当前租户的执行sql的过程中的中间结果能占用的最大内存，单位为byte，默认值为2G，取值范围[128M,128G] | GLOBAL \| SESSION \| NEED_SERIALIZE |
| ob_last_schema_version | int | 0 | Schema版本号 | SESSION |
| ob_log_level | varchar | disabled | 日志级别 | GLOBAL \| SESSION |
| ob_max_parallel_degree | int | 16 | 每次请求最大的并发数。 | GLOBAL \| SESSION |
| ob_proxy_partition_hit | bool | 1 | 表示OBProxy是否将SQL语句请求的数据发送到了这些数据主Partition所在的OBServer上。 1：是； 0：否。 | READONLY \| SESSION \| INVISIBLE |
| ob_proxy_set_trx_executed | bool | 0 | 用户是否通过OBProxy发送了START TRANSACTION Syntax给OBServer 1：是； 0：否。 | READONLY \| SESSION \| INVISIBLE |
| ob_proxy_global_variables_version | int | 0 | 用于OBserver返回给OBproxy需要的全局变量最新版本号信息，此系统变量用户只读但不可以修改，用户select @@ob_proxy_global_variables_version将返回当前全局变量最新版本号 默认值：0 取值范围:用户不可修改 | READONLY \| SESSION \| INVISIBLE |
| ob_query_timeout | int | 10000000 | 查询超时时间。 | GLOBAL \| SESSION \| NEED_SERIALIZE |
| ob_read_consistency | int | 3 | 读一致性级别。3=STRONG, 2=WEAK, 1=FROZEN, 0=NONE | GLOBAL \| SESSION \| NEED_SERIALIZE |
| ob_trx_timeout | int | 100000000 | 事务超时时间。 | GLOBAL \| SESSION \| NEED_SERIALIZE |
| read_only | bool | 0 | 是否只读。 | GLOBAL |
| sql_mode | varchar | STRICT_ALL_TABLES | 当前的服务器SQL模式。 | GLOBAL \| SESSION \| INFLUENCE \| NEED_SERIALIZE |
| sql_select_limit | int | 9223372036854770000 | SELECT语句返回的最大行数。 | GLOBAL \| SESSION \| NEED_SERIALIZE |
| timestamp | numeric | 1438332437.59361 | 为客户端设定时间。 | GLOBAL \| SESSION |
| time_zone | varchar | +8:00 | 服务器当前使用的时区。 | GLOBAL \| SESSION \| NEED_SERIALIZE |
| tx_isolation | varchar | READ-COMMITTED | 默认事务隔离级别。 | GLOBAL \| SESSION \|NEED_SERIALIZE |
| tx_read_only | bool | 0 | 事务是否为只读模式。 1：是； 0：否。 | GLOBAL \| SESSION \| NEED_SERIALIZE |
| version | varchar | 5.6.25 | 服务器版本号。 | GLOBAL \| SESSION |
| version_comment | varchar | OceanBase 1.0.0 | observer 的版本信息。 | READONLY \| GLOBAL |
| wait_timeout | int | 28800 | 服务器关闭非交互连接之前等待活动的秒数。在线程启动时，根据全局wait_timeout值或全局interactive_timeout值初始化会话wait_timeout值，取决于客户端类型(由mysql_real_connect()的连接选项CLIENT_INTERACTIVE定义)。又见interactive_timeout。 | GLOBAL \| SESSION |
| ob_proxy_user_privilege | int | 0 | 该变量表示当前用户当前登陆user privilege。取值范围：[0, 2^16]，取值含义：int类型32位，每个位代表一种权限，该位为1代表具有该权限，为0代表没有该权限。 | READONLY \| SESSION_SCOPE \| INVISIBLE |
| OB_ORG_CLUSTER_ID | unsignedint64 | cluster_id | 类型：unsignedint64 作用：通常情况下不需要设置OB_ORG_CLUSTER_ID变量，OceanBase生成日志(clog)时会使用缺省值（即每一个OceanBase集群的CLUSTER_ID）。DRC在复制数据写入目标集群时，需要在session中设置这个变量为日志中所带的CLUSTER_ID，以避免数据被循环复制 | SESSION |
| OB_SPM_MODE | Int64 | 0 | 取值范围[0,2]，用于控制spm生成以及演进的开关，当该系统变量的值为0时，baselineplan的生成和演进功能都被禁止，当值为1时，baseline 的生成是打开的，baseline的演进是禁止的，当值为2时，baseline的生成和演进都是打开的。spm以及baseline的相关解释参照文档《OB1.0SPM方案1.1》 | GLOBAL |
| ob_capability_flag | uint32 | 0 | 取值范围：[0, 2^32－1］，共32位，每个位代表一种功能，该位为1代表observer支持该功能，为0代表不支持。 解释：Indicate features that observer supports, readonlyafter modified by first observer Flags: READONLY \| SESSION \| INVISIBLE 说明：该变量属于session级别只读系统变量，对用户不可见，表示observer支持的扩展功能。在首次与observer建连接时，observer将该变量通过ok包带回给proxy，切换observer后，proxy不会同步给observer | READONLY\| SESSION \| INVISIBLE |
| ERROR_ON_OVERLAP_TIME | BOOL | FALSE | BOOL类型，动态参数，设置夏令时重叠区时间发生歧义时是否作报错处理，TRUE为报错处理 | GLOBAL \| SESSION |
| ob_compatibility_mode | enum | MYSQL | 表示该租户的兼容模式，MYSQL表示兼容MYSQL，ORACLE则表示兼容ORACLE。该系统变量只能在创建租户的时候指定，租户创建好之后就无法修改了。 目前创建租户的语法已经具备了设置系统变量的能力： CREATE TENANT [IF NOT EXISTS] tenantname[tenant_characteristic_list] [SET system_variable_name_and_value_list] 因此设置ob_compatibility_mode的时候类似于下面这样写即可： CREATETENANT [IF NOTEXISTS] tenantname [tenant_characteristic_list] SET ob_compatibility_mode= MYSQL | 租户级\|READONLY |
| ob_create_table_strict_mode | BOOL | TRUE | BOOL类型，动态变量，默认为True，如果设置为true，严格按照locality建立副本，任何副本建立失败，则create table失败。否则，全类型副本至少1个，paxos成员组副本达到多数，其他副本不管，即可成功 | GLOBAL\|SESSION |

 上一篇 下一篇 ![有帮助](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) 咨询热线
