ITPub博客

首页 > 数据库 > 国内数据库 > 【手摸手玩转 OceanBase 145】系统配置项总览

【手摸手玩转 OceanBase 145】系统配置项总览

原创 国内数据库 作者:13579NB232 时间:2023-01-19 16:38:24 0 删除 编辑

本文根据配置项的功能, 详细地罗列了 OceanBase 数据库的集群级配置项和租户级配置项。

集群级配置项

带宽相关

配置项名 功能描述
enable_ob_ratelimit 用于在 RPC 连接中,启用区域之间的速率限制。
ob_ratelimit_stat_period 用于设置 OBServer 计算和更新最大带宽的时间间隔。

负载均衡相关

配置项名 功能描述
balancer_idle_time 用于设置负载均衡等后台任务线程空闲时的唤醒间隔时间。
balancer_log_interval 用于负载均衡等后台任务线程打印统计日志的间隔时间。
balancer_task_timeout 用于设置负载均衡等后台任务的超时时间。
balancer_tolerance_percentage 用于设置负载均衡策略中,租户内多个 Unit 间磁盘不均衡程度的宽容度,如果在均值 + 或 - 宽容度范围之内,不会触发执行均衡动作。
enable_rebalance 用于设置是否开启自动负载均衡的功能。
server_balance_critical_disk_waterlevel 用于设置磁盘空间的负载均衡功能的水位线。
server_balance_disk_tolerance_percent 用于设置节点间磁盘负载均衡策略中不均衡程度的容忍度。
resource_hard_limit 用于分配 Unit 。
enable_sys_unit_standalone 用于设置系统租户的 Unit 是否独占节点。

副本相关

配置项名 功能描述
enable_rereplication 用于设置是否开启自动补副本的功能。
ls_meta_table_check_interval 用于设置 DBA_OB_LS_LOCATIONS/CDB_OB_LS_LOCATIONS 视图的后台巡检线程的检查间隔。
sys_bkgd_migration_change_member_list_timeout 用于设置副本迁移时变更 Paxos 成员组操作的超时时间。
sys_bkgd_migration_retry_num 用于设置副本迁移失败时最多重试次数。

备份恢复相关

配置项名 功能描述
backup_data_file_size 用于设置备份数据文件的容量。
restore_concurrency 用于设置从备份恢复租户数据时的最大并发度。

集群相关

配置项名 功能描述
all_server_list 用于显示群集中的所有服务器地址。
cluster 用于设置本 OceanBase 集群名。
cluster_id 用于设置本 OceanBase 集群 ID。
rpc_timeout 用于设置集群内部请求的超时时间。

SQL 相关

配置项名 功能描述
sql_login_thread_count 用于设置处理 SQL 登录请求的线程数量。

CPU 相关

配置项名 功能描述
cpu_count 用于设置系统 CPU 总数。如果设置为 0,系统将自动检测 CPU 数量。
server_balance_cpu_mem_tolerance_percent 在节点负载均衡策略中,用于设置 CPU 和内存资源不均衡的容忍度。
server_cpu_quota_max 用于设置系统可以使用的最大 CPU 配额。
server_cpu_quota_min 用于设置系统可以使用的最小 CPU 配额,系统会自动预留。
token_reserved_percentage 在控制租户 CPU 调度中,用于设置每次预留多少比例的空闲 token 数给租户。
workers_per_cpu_quota 用于设置分配给每个 CPU 配额的工作线程数量。

目录路径相关

配置项名 功能描述
config_additional_dir 用于设置本地存储配置文件的多个目录,为了冗余存储多份配置文件。
data_dir 用于设置存储 SSTable 等数据的目录。

内存空间相关

配置项名 功能描述
datafile_disk_percentage 表示占用 data_dir 所在磁盘(磁盘 data_dir 所在磁盘将被 OceanBase 数据库系统初始化用于存储数据)总空间的百分比。
data_disk_usage_limit_percentage 用于设置数据文件最大可以写入的百分比,超过这个阈值后,禁止数据迁入。
enable_sql_operator_dump 用于设置是否允许 SQL 处理过程的中间结果写入磁盘以释放内存。
global_write_halt_residual_memory 用于设置触发暂停普通租户写入( sys 租户不受影响)的全局剩余内存阈值。
leak_mod_to_check 用于内存泄露检查,是属于内部调试的功能。
memory_chunk_cache_size 用于设置内存分配器缓存的内存块容量。
memory_limit 表示可用的总内存大小。
memory_limit_percentage 用于设置系统总可用内存大小占总内存大小的百分比。
memory_reserved 用于设置系统预留给 KVCache 的内存容量。
memstore_limit_percentage 用于设置租户使用 MEMStore 的内存占其总可用内存的百分比。
system_memory 用于设置系统预留给租户 ID 为  500 的租户的内存容量。
use_large_pages 用于管理数据库使用的内存大页。

调试相关

配置项名 功能描述
debug_sync_timeout 用于打开 Debug Sync 调试开关,并设置其超时时间。
enable_rich_error_msg 用于设置是否在客户端消息中添加服务器地址、时间、追踪 ID 等调试信息。

压缩算法相关

配置项名 功能描述
default_compress_func 用于设置表数据的默认压缩算法,也可以在建表的时候指定其他压缩算法。
default_compress 用于设置在 Oracle 模式下,建表时使用的默认压缩策略。
tableapi_transport_compress_func 用于设置 tableAPI 查询结果传输使用的压缩算法。

事务及事务日志相关

配置项名 功能描述
log_disk_size 用于设置 Redo 日志磁盘的大小。
log_disk_percentage 用于设置 Redo 日志占用其所在磁盘总空间的百分比。
clog_sync_time_warn_threshold 用于设置事务日志同步耗时告警阈值,同步耗时超过该值产生 WARN 日志。
dtl_buffer_size 用于设置 SQL 数据传输模块使用的缓存大小。
ignore_replay_checksum_error 用于设置是否忽略回放事务日志时发生的校验和错误。
trx_2pc_retry_interval 用于设置两阶段提交失败时候自动重试的时间间隔。

转储与合并相关

配置项名 功能描述
enable_major_freeze 用于设置是否开启自动全局冻结的功能。
micro_block_merge_verify_level 用于设置合并时宏块的校验级别。
row_compaction_update_limit 用于设置触发内存中行内数据合并的修改次数。

PX 相关

配置项名 功能描述
px_workers_per_cpu_quota 用于设置并行执行工作线程数的比例。
px_task_size 用于设置 SQL 并行查询引擎每个任务处理的数据量大小。
max_px_worker_count 用于设置 SQL 并行查询引擎使用的最大线程数。

缓存相关

配置项名 功能描述
bf_cache_miss_count_threshold 用于控制 Bloomfilter Cache 的触发次数,当宏块未命中次数达到该值时,创建 Bloomfilter 缓存。
bf_cache_priority 用于设置 Bloom Filter 缓存优先级。
cache_wash_threshold 用于设置触发缓存清理的容量阈值。
fuse_row_cache_priority 用于设置融合行缓存在缓存系统中的优先级。
user_row_cache_priority 用于设置基线数据行缓存在缓存系统中的优先级。
autoinc_cache_refresh_interval 用于设置自增列缓存的刷新间隔。
plan_cache_evict_interval 用于设置执行计划缓存的淘汰时间间隔。
index_block_cache_priority 用于设置元数据索引微块缓存优先级。
opt_tab_stat_cache_priority 用于设置统计信息缓存优先级。
tablet_ls_cache_priority 用于设置 Tablet 映射缓存优先级。
user_block_cache_priority 用于设置数据块缓存在缓存系统中的优先级。

Location Cache 相关

配置项名 功能描述
virtual_table_location_cache_expire_time 用于设置虚拟表的位置信息缓存过期时间。
location_cache_refresh_rpc_timeout 通过 RPC 刷新  location_cache 的超时时间。
location_cache_refresh_sql_timeout 通过 SQL 刷新  location_cache 的超时时间。
location_cache_refresh_min_interval 用于设置位置缓存刷新请求的最小间隔,防止产生过多刷新请求造成系统压力过大。
location_cache_cpu_quota 用于设置位置缓存模块使用的 CPU 配额。
location_fetch_concurrency 用于设置单机 location_cache 刷新的最大并发数。
location_refresh_thread_count 用于设置 OBServer 从 RootService 中获取分区位置信息的线程数量。

日志相关

配置项名 功能描述
enable_record_trace_log 用于设置是否记录追踪日志。
enable_async_syslog 用于设置是否启用系统日志异步写。
enable_syslog_recycle 用于设置是否开启回收系统日志的功能。
enable_syslog_wf 用于设置是否把 WARN 以上级别的系统日志打印到一个单独的日志文件中。
max_string_print_length 用于设置打印系统日志时,单行日志最大长度。
max_syslog_file_count 用于设置在回收日志文件之前可以容纳的日志文件数量。
syslog_level 用于设置系统日志级别。
trace_log_sampling_interval 用于设置定期打印跟踪日志信息的时间。

分区相关

配置项名 功能描述
tablet_meta_table_check_interval 用于设置 DBA_OB_TABLET_REPLICAS/CDB_OB_TABLET_REPLICAS 视图的后台巡检线程的检查间隔。
tablet_meta_table_scan_batch_count 用于设置 Tablet meta table 迭代器使用过程中在内存里缓存的 Tablet 数量。
tablet_size 用于设置分区内部并行处理(合并、查询等)时每个分片的大小。

读写/查询相关

配置项名 功能描述
weak_read_version_refresh_interval 用于设置弱一致性读版本号的刷新周期,影响弱一致性读数据的延时。
large_query_worker_percentage 用于设置预留给处理大查询的工作线程百分比。
large_query_threshold 用于设置查询执行时间的阈值。
trace_log_slow_query_watermark 用于设置查询的执行时间阈值,如果查询的执行时间超过该阈值,则被认为是慢查询,慢查询的追踪日志会被打印到系统日志中。

RootService 相关

配置项名 功能描述
rootservice_async_task_queue_size 用于设置 RootService 内部异步任务队列的大小。
rootservice_async_task_thread_count 用于设置 RootService 内部异步任务使用的线程池大小。
rootservice_list 用于显示 RootService 及其副本所在的机器列表。
rootservice_ready_check_interval 用于设置 RootService 启动后等待和检查集群状态的时间间隔。
rootservice_memory_limit 用于设置 RootService 的最大内存容量限制。
lease_time 用于设置心跳租约时长。
server_check_interval 用于设置 Server 表一致性检查的时间间隔。
server_permanent_offline_time 用于设置节点心跳中断的时间阈值,即节点心跳中断多久后认为其被永久下线,永久下线的节点上的数据副本需要被自动补足。
ob_event_history_recycle_interval 用于控制历史事件的回收间隔。

I/O 相关

配置项名 功能描述
rdma_io_thread_count 用于设置 Libreasy 的 RDMA I/O 线程数。
syslog_io_bandwidth_limit 用于设置系统日志所能占用的磁盘 IO 带宽上限,超过带宽上限容量的系统日志将被丢弃。
disk_io_thread_count 用于设置磁盘 IO 线程数。必须为偶数。
net_thread_count 用于设置网络 I/O 线程数。

TCP 相关

配置项名 功能描述
enable_tcp_keepalive 用于开启或关闭客户端连接的探活机制。
tcp_keepidle 用于设置客户端连接上服务器后,如果没有数据发送,多久后会发送 Keepalive 探测分组,单位为秒。
tcp_keepintvl 用于设置开启客户端连接的探活机制后,前后两次探测之间的时间间隔,单位为秒。
tcp_keepcnt 用于设置关闭一个非活跃连接之前的最大重试次数。

其他

配置项名 功能描述
builtin_db_data_verify_cycle 用于设置数据坏块自检周期,单位为天。当值为 0 时表示不检查。
data_storage_warning_tolerance_time 用于控制数据盘状态设为 WARNING 状态的容忍时间。
dead_socket_detection_timeout 用于设置检测失效 Socket 的时间间隔。
enable_sys_table_ddl 用于指定是否允许手动创建系统表。
internal_sql_execute_timeout 用于设置系统内部 DML 请求的时间间隔。
migration_disable_time 用于设置因磁盘满等原因导致某个节点数据迁入失败时的暂停迁入时长。
schema_history_expire_time 用于设置元数据历史数据过期时间。
datafile_size 用于设置数据文件的大小。一般不需要设置。
devname 用于设置服务进程绑定的网卡设备名。
enable_perf_event 用于设置是否开启性能事件的信息收集功能。
enable_record_trace_id 用于设置是否记录应用端设置的追踪 ID。
enable_upgrade_mode 用于设置是否开启升级模式。在升级模式中,会暂停部分系统后台功能。
enable_ddl 用于设置是否允许执行 DDL。
high_priority_net_thread_count 用于设置高优先级网络线程数,值为  0 时,表示关闭该功能。
mysql_port 用于设置 SQL 服务协议端口号。
obconfig_url 用于设置 OBConfig 服务的 URL 地址。
rpc_port 用于设置远程访问的协议端口号。
ssl_client_authentication 用于设置是否开启 SSL 连接功能。
stack_size 用于设置程序函数调用栈的大小。
tenant_task_queue_size 用于设置每个租户的请求队列大小。
zone 用于设置节点所在的 Zone 的名字。该配置项一般不需要配置。
ssl_external_kms_info 用于记录 OceanBase 数据库 SSL 功能运行依赖的一些信息,通过 json 字符串方式记录不同 SSL 使用方式下依赖的相关配置,json 中至少包含类型  ssl_mode 字段。
recyclebin_object_expire_time 用于自动 Purge 回收站中过期的 Schema 对象。
default_row_format 用于设置在 MySQL 模式下,建表时使用的默认行格式。
enable_sql_audit 用于设置是否开启 SQL 审计功能。
min_observer_version 用于查看本集群最低的 OBServer 应用程序版本号。
sys_bkgd_net_percentage 用于设置后台系统任务可占用网络带宽百分比。
schema_history_recycle_interval 用于设置系统内部执行  schema 多版本记录回收任务的时间间隔。
enable_asan_for_memory_context 在使用 ob_asan 时,用于设置是否允许 ObAsanAllocator(默认 ObAllocator 作为 MemoryContext 的分配器)。

暂不支持的配置项

配置项名 功能描述
plan_cache_high_watermark 用于设置执行计划缓存占用内存的阈值,如果超过该阈值时将触发自动淘汰。
plan_cache_low_watermark 用于设置执行计划缓存占用内存的阈值,如果低于该阈值时将停止淘汰。
tenant_cpu_variation_per_server 用于设置租户多个 Unit 之间 CPU 配额调度允许的偏差。
system_trace_level 用于设置系统追踪日志的日志打印级别。

租户级配置项

用户登录相关

说明

下表中的配置项当前仅在 MySQL 模式下生效。

配置项名 功能描述
connection_control_failed_connections_threshold 用来指定用户错误登录尝试的阀值。
connection_control_min_connection_delay 指定了超过错误登录次数阈值之后,错误登录锁定的最小时长。
connection_control_max_connection_delay 指定了错误登录锁定时长的最大值,当时长达到这个最大值之后就不再增长。

审计相关

配置项名 功能描述
audit_sys_operations 用于设置是否追踪系统用户的操作行为。
audit_trail 用于设置是否启用数据库审核。

事务及事务日志相关

配置项名 功能描述
log_disk_utilization_limit_threshold 用于设置租户日志盘利用率限制阈值,当租户日志盘使用量超过租户日志盘空间总量乘以该值时,不再允许日志写入。
log_disk_utilization_threshold 用于设置租户日志盘利用率阈值,当租户日志盘使用量超过租户日志盘空间总量乘以该值时,进行日志文件重用。
writing_throttling_maximum_duration 通过控制内存分配进度,控制写入速度。即指定在触发写入限速后,剩余 MEMStore 内存分配完所需的时间。
writing_throttling_trigger_percentage 用于设置写入速度的阈值。

转储与合并相关

配置项名 功能描述
default_progressive_merge_num 用于设置新建一张表时默认的渐进合并次数。
major_freeze_duty_time 用于设置每日定时冻结和合并的触发时刻。
major_compact_trigger 用于设置多少次小合并触发一次全局合并。
minor_compact_trigger 用于控制分层转储触发向下一层下压的阈值。
undo_retention 用于设置系统应保留的多版本数据范围,单位为秒,在转储时控制多版本数据的回收。
merger_check_interval 用于设置合并状态检查线程的调度间隔。
freeze_trigger_percentage 用于设置触发全局冻结的租户使用内存阈值。

CPU 相关

配置项名 功能描述
cpu_quota_concurrency 用于设置租户的每个 CPU 配额所允许的最大并发数。

加密相关

配置项名 功能描述
external_kms_info 用于存储一些密钥管理信息。
tde_method 用于设置透明表空间加密的方式。

PL

配置项名 功能描述
plsql_code_type 用于指定 PL/SQL 代码的编译类型。
plsql_debug 用于指定是否编译成 debug 版本。
plsql_optimize_level 用于指定编译优化级别。
plsql_v2_compatibility 用于指定 Oracle 8 的兼容功能。
说明
该配置项仅适用于 Oracle 模式,当前暂不生效。
plsql_warnings 用于控制 PL/SQL 编译器的报错行为,可以指定某类型或某个  warning 码的状态为 enable、 disable 或  error。

兼容相关

说明

下表中的配置项当前仅在 MySQL 模式下生效。

配置项名 功能描述
enable_sql_extension 用于设置是否开启租户的 SQL 扩展功能。

读写/查询相关

配置项名 功能描述
enable_monotonic_weak_read 用于设置是否开启单调读。
query_response_time_stats 用于设置是否启用  information_schema.QUERY_RESPONSE_TIME 视图的统计信息收集。
query_response_time_flush 用于设置是否刷新  information_schema.QUERY_RESPONSE_TIME 视图并重新读取  query_response_time_range_base。
query_response_time_range_base 用于设置  information_schema.QUERY_RESPONSE_TIME 视图收集时间参数的间隔时间。

路由相关

配置项名 功能描述
ob_proxy_readonly_transaction_routing_policy 用于控制 Proxy 对于事务的路由是否受只读语句的影响。

IO 相关

配置项名 功能描述
io_category_config 用于配置各类别 I/O 请求的百分比。

后台执行线程相关

配置项名 功能描述
compaction_low_thread_score 用于设置低优先级 compaction 的工作线程占用 CPU 时间片权重。
compaction_high_thread_score 用于设置高优先级 compaction 的工作线程占用 CPU 时间片权重。
compaction_mid_thread_score 用于设置中优先级 compaction 的工作线程占用 CPU 时间片权重。
ha_high_thread_score 用于设置高可用高优先级线程的当前工作线程数。
ha_mid_thread_score 用于设置高可用中优先级线程的当前工作线程数。
ha_low_thread_score 用于设置高可用低优先级线程的当前工作线程数。
ob_compaction_schedule_interval 用于设置 Compaction 调度的时间间隔。

其他

配置项名 功能描述
enable_early_lock_release 用于设置是否开启提前解行锁的功能。
workarea_size_policy 用于设置手动或者自动调整 SQL 工作区大小的策略。
open_cursors 用于限制单个 Session 可以同时打开的游标数量。
ob_ssl_invited_common_names 用于记录当前租户运行的应用身份列表,该身份来自 SSL 双向认证中 Client 端证书  subject 中的  cn 字段(common name)。
ob_enable_batched_multi_statement 用于设置是否启用批处理功能的成组执行优化。
job_queue_processes 用来设定每个租户上可以同时运行的任务数上限,目的是为了控制任务挤占租户的资源。
说明
该配置项当前仅在 Oracle 模式下生效。
default_auto_increment_mode 用于设置默认的自增列自增模式。
ob_query_switch_leader_retry_timeout 用于设置失败 Query 的最大重试时间,单位为微秒(us)。
default_enable_extended_rowid 用于设置是否将表创建为 Extended ROWID 模式。

暂不支持的配置项

配置项名 功能描述
sql_work_area 用于设置租户的工作区内存。
max_stale_time_for_weak_consistency 用于设置弱一致性读允许读到多旧的数据。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70026124/viewspace-2932858/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2023-01-18

  • 博文量
    184
  • 访问量
    93221