第六章:参数和变量

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 第六章:参数和变量

参数管理

管理范围:通过集群参数的设置可以控制集群的负载均衡、合 并时间、合并方式、资源分配和模块开关等功能。

参数生效:参数分为动态生效和重启生效两类,大部分为动态生效。

参数级别:参数分为集群级别和租户级别,大部分为集群参数。

管理权限:系统租户可以查看和设置所有其他租户的参数 (包 括 sys 租户),普通租户只能设置自己租户的参数。

OBServer 启动后,如果没有指定参数,使用系统指定的参数Default 值。在OBServer 进程启动成功后,参数值持久化到 /home/admin/oceanbase/etc/observer.config.bin 文件中,可以通strings 命令来查看内容。

集群参数查询

系统租户查询集群参数语法

show parameters [SHOW_PARAM_OPTS] [tenant='tenant‘]

普通租户查询集群参数语法

show parameters [SHOW_PARAM_OPTS]

列名

含义

Zone

所在的zone

svr_ip

机器IP

svr_port

机器端端口

name

配置项名

value

配置项值

data_type

配置项数据类型

info

配置项解释(描述了Parameter的意义和取值范围)

scope

配置项范围属性(Tenant/Cluster)

scource

当前值来源(Tenant|Cluster|CommandLine|ObAdmin|File)

edit_level

dynamic_effective(动态生效)/static_effective(重启后生效)

集群参数设置

集群参数修改语句的语法如下所示,同时修改多个系 统配置项时,请用逗号(,)隔开:

ALTER SYSTEM SET param_name = expr [COMMENT 'text’] [PARAM_OPTS] [TENANT = 'tenantname’]

PARAM_OPTS: [ZONE='zone' | SERVER='server_ip:rpc_port’]

如果不带任何条件,则修改所有OB Server的值。

ALTER SYSTEM 语句不能同时指定Zone 和 Server。如指定Zone,仅能指定一个Zone,如果指定 Server,只能指定一个 Server。

集群级别的配置项(Scope) 不能通过普通租户设定,也不可以通过 sys 租户指定普通租户进行设定。例如, alter system set memory_limit=‘100G’ tenant=‘test_tenant’ 将导致报错,因为 memory_limit 是集群级别(scope)的配置项。

常用的OB系统配置项(合并相关)

配置项

默认值

说明

zone_merge_timeout

3h

单个ZONE合并的超时时间

取值范围:[1s+]

freeze_trigger_percentage

70

触发合并时,memstore使用的百分比

取值范围:(0,100)

enable_manual_merge

FALSE

是否开启手动合并

True开启,False不开启

如果这个值为True,则认为DBA关闭自动合并

major_freeze_duty_time

02:00

是否开启手动合并

True开启,False不开启

如果这个值为True,则认为DBA关闭自动合并

常用的OB系统配置项(syslog相关)

配置项

默认值

说明

syslog_level

INFO

日志级别:DEBUG,TRACE,INFO,WARN,ERROR

enable_syslog_recycle

FALSE

是否打开自动控制日志的开关,配合max_syslog_count生效

max_syslog_file_count

0

指定最多同时存在多少个日志文件

每个日志文件占用256M空间

trace_log_slow_query_waterwork


100ms

打印trace log慢查询控制阈值

取值范围:[1ms,+]

syslog_io_bandwidth_limit

30MB

系统日志(syslog)IO带宽限流

enable_syslog_wf

TRUE

是否单独保存Warning以上日志级别的日志到文件中

常用的OB系统配置项(内存相关)

配置项

默认


说明

minor_freeze_times

0


两次合并之间的转储上限次数

large_query_threshold

100ms

大查询判定条件

取值范围:[1ms+]

large_query_worker_percentage

30

大查询分配资源百分比

取值范围:[0,100]in percentage

memory_limit_percentage

80

内存使用上限

取值范围:[10,90]

常用的OB系统配置项(其他)

配置项

默认


说明

server_permanent_offline_time

3600s

服务器永久下线时间

取值范围:[20s+]

enable_auto_leader_switch

TRUE

允许系统自动切主

clog_sync_warn_threshold

100ms

commitlog同步超过多长时间报WARN日志

clog_sync_warn_threshold

TRUE

是否开启sql审计功能,默认值为TRUE,表示开启SQL审计功能

取值为TRUE,FALSE

sql_audit_memory_limit

10%内存

开启SQL审计功能状态下,SQL审计内部表最大可用内存,默认为10%内存。取值范围:[64M+]

变量Variables,与业务租户相关

控制租户全局(global)级别或者会话(session)级别的属性,大部分动态生效,少部分需要重建连接 查看variables

show variables;

show variables like '%<pattern>%’;

修改variables

set @@session. <name>=<value> ;

set @@global.<name>=<value>;

Session variables vs Global variables

会话变量:Session级修改 (只对本会话生效)。当客户端连接到数据库后,数据库会复 制全局变量以自动生成会话变量。会话变量的修改只对当前会话生效。

set ob_trx_timeout=200000000

全局变量:Global 级 (租户级) 修改 (不会随会话退出而失效)数据库实例共享全局变 量。这意味着不同用户共享这些全局变量,且数据库会保存您对全局变量做出的更改, 断开连接并再次进入数据库时,更改依旧有效。


set global ob_trx_timeout = 200000000

对当前已经打开的session不生效

需要重新建立session

常用的OB系统变量 (Variables)

配置项

默认值

说明

属性

ob_query_timeout

10000000

查询超时时间

GLOBAL|SESSION

ob_trx_timeout

100000000

事务超时时间

GLOBAL|SESSION

ob_read_consistency


STRONG

读一致性级别

GLOBAL|SESSION

ob_enable_truncate_flashback

ON

truncate table是否会进回收站受该参数控制

GLOBAL|SESSION

lower_case_table_names

1

是否大小写敏感

1:大小写不敏感

0:大小写敏感


GLOBAL|SESSION|READONLY

ob_timestamp_service:跟Google Spanner 的TrueTime意思差不多,通过这个服务,OB可以实现 集群租户级别的全局一致性。

set global ob_timestamp_service=‘GTS’

set global ob_timestamp_service=‘LTS’

ODC管理会话功能支持查看和修改会话属性

ODC 提供了可视化界面,可以清晰直观的查看与修改当前数 据库支持的变量。对于变量值的修改:

如果变量的值是字符或数字类型,可以在变量编辑页面中直接输入修改值。


如果变量的值是枚举类型,ODC会在变量值的编辑框中列举出该变量支持的值的集合,用户可以在不用准确记忆变量名和值的情况下通过可视化界面完成修改,这降低了用户记忆变量的成本并提高了变量修改的效率。


ODC 会使用橙色标记修改过的数据库变量,以方便您更直观的管理变量


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6月前
|
存储 C++ 容器
学会在 C++ 中使用变量:从定义到实践
C++中的变量是数据容器,包括`int`、`double`、`char`、`string`和`bool`等类型。声明变量时指定类型和名称,如`int myNum = 15;`。`cout`与`&lt;&lt;`用于显示变量值。常量用`const`声明,值不可变。变量名应唯一,遵循特定命名规则,常量声明时需立即赋值。
159 1
|
3月前
|
Python
Python变量的作用域_参数类型_传递过程内存分析
理解Python中的变量作用域、参数类型和参数传递过程,对于编写高效和健壮的代码至关重要。正确的应用这些概念,有助于避免程序中的错误和内存泄漏。通过实践和经验积累,可以更好地理解Python的内存模型,并编写出更优质的代码。
28 2
|
6月前
|
存储 编译器 C++
c++ 变量详细解释
c++ 变量详细解释
79 0
|
自然语言处理 程序员 C语言
C语言——函数(上)分类、参数、调用。
C语言——函数(上)分类、参数、调用。
|
存储 程序员 编译器
C#编程深入研究变量,类型和方法(二)
C#编程深入研究变量,类型和方法
C#编程深入研究变量,类型和方法(二)
|
存储 安全 编译器
C#编程深入研究变量,类型和方法(一)
C#编程深入研究变量,类型和方法
C#编程深入研究变量,类型和方法(一)
|
Python
Python经典编程习题100例:第87例:结构体变量传递
Python经典编程习题100例:第87例:结构体变量传递
97 0
变量高级用法
变量高级用法
69 0
|
C++
变量基础
变量基础
94 0
|
存储 编译器 C语言
【C 语言】C 语言 函数 详解 ( 函数本质 | 顺序点 | 可变参数 | 函数调用 | 函数活动记录 | 函数设计 ) [ C语言核心概念 ](三)
【C 语言】C 语言 函数 详解 ( 函数本质 | 顺序点 | 可变参数 | 函数调用 | 函数活动记录 | 函数设计 ) [ C语言核心概念 ](三)
205 0
【C 语言】C 语言 函数 详解 ( 函数本质 | 顺序点 | 可变参数 | 函数调用 | 函数活动记录 | 函数设计 ) [ C语言核心概念 ](三)