This topic describes the cluster-level and tenant-level parameters of OceanBase Database, categorized by function.
Cluster-level configurations
Bandwidth-related
| Parameter | Description |
|---|---|
| enable_ob_ratelimit | Enables bandwidth throttling between regions in RPC connections. |
| ob_ratelimit_stat_period | The time interval for calculating and updating the maximum bandwidth of an OBServer node. |
Load balancing-related
| Parameter name | Description |
|---|---|
| balancer_log_interval | The interval for the disaster recovery task thread to record statistics logs. |
| balancer_task_timeout | The timeout period of background tasks such as load balancing. |
| balancer_tolerance_percentage | The tolerance level for the load balancing strategy within a tenant. Units with disk usage within the range of the mean value plus or minus the tolerance level will not trigger an balancing action. |
| server_balance_critical_disk_waterlevel | The water level for triggering the disk space load balancing feature. |
| server_balance_disk_tolerance_percent | The tolerance level for the disk load balancing strategy between nodes. |
| resource_hard_limit | The overallocation percentage of CPU resources. |
| enable_sys_unit_standalone | Specifies whether to isolate system tenant units to nodes. |
Replica-related
| Parameter name | Description |
|---|---|
| enable_rereplication | Specifies whether to enable the automatic resynchronization feature. |
| ls_meta_table_check_interval | The check interval of the background inspection thread for the DBA_OB_LS_LOCATIONS/CDB_OB_LS_LOCATIONS view. |
| sys_bkgd_migration_change_member_list_timeout | The timeout period for changing the Paxos member group during replica migration. |
| sys_bkgd_migration_retry_num | The maximum number of retries for replica migration. |
Cluster-related
| Parameter name | Description |
|---|---|
| all_server_list | The IP addresses of all servers in the cluster. |
| cluster | The name of the OceanBase cluster. |
| cluster_id | The ID of the OceanBase cluster. |
| rpc_timeout | The timeout period for internal cluster requests. |
SQL-related
| Parameter name | Description |
|---|---|
| sql_login_thread_count | The number of threads for processing SQL login requests. |
CPU related
| Parameter name | Description |
|---|---|
| cpu_count | The total number of CPU cores in the system. If set to 0, the system will automatically detect the number of CPU cores. |
| server_balance_cpu_mem_tolerance_percent | The tolerance for CPU and memory resource imbalance in node load balancing. |
| server_cpu_quota_max | The maximum CPU quota available to the system. |
| server_cpu_quota_min | The minimum CPU quota available to the system. The system will automatically reserve this quota. |
| token_reserved_percentage | The percentage of idle tokens reserved for a tenant during CPU scheduling in the sys tenant. |
| workers_per_cpu_quota | The number of worker threads allocated to each CPU quota. |
Directory path related
| Parameter name | Description |
|---|---|
| config_additional_dir | Multiple directories for storing additional configuration files for redundancy. |
Memory space-related
| Parameter name | Description |
|---|---|
| datafile_disk_percentage | The percentage of total space on the disk where data_dir is located. The disk where data_dir is located will be initialized by OceanBase Database for storing data. |
| data_disk_usage_limit_percentage | The maximum percentage of data files that can be written. After this threshold is reached, data migration is prohibited. |
| enable_sql_operator_dump | Specifies whether to write intermediate results of SQL processing to the disk to free up memory space. |
| global_write_halt_residual_memory | The global memory threshold for halting normal tenant writes (sys tenant is not affected). |
| leak_mod_to_check | Specifies the memory leak check module. This parameter is for internal debugging. |
| memory_chunk_cache_size | The size of memory chunks in the cache of the memory allocator. |
| memory_limit | The total size of available memory. |
| memory_limit_percentage | The percentage of total memory size that is available to the system. |
| memory_reserved | The size of memory reserved for the KVCache. |
| memstore_limit_percentage | The maximum percentage of memory allowed for MemStores used by a tenant out of its total available memory. |
| system_memory | The size of memory reserved for tenant ID 500. |
| use_large_pages | The management of large pages used by the database. |
| datafile_maxsize | The maximum size for automatic expansion of disk files. |
| datafile_next | The incremental step for automatic expansion of disk files. |
Debugging-related
| Parameter name | Description |
|---|---|
| debug_sync_timeout | Specifies the timeout period of the Debug Sync feature. |
| enable_rich_error_msg | Specifies whether to add debugging information, such as the server address, timestamp, and trace ID, to client messages. |
Compression algorithm-related
| Parameter name | Description |
|---|---|
| default_compress_func | Specifies the default compression algorithm for table data. You can also specify a different compression algorithm when you create a table. |
| default_compress | Specifies the default compression strategy when you create a table in Oracle mode. |
Transaction and transaction log-related
| Parameter name | Description |
|---|---|
| log_disk_size | The size of the redo log disk. |
| log_disk_percentage | The maximum percentage of space that redo logs can occupy on a disk. |
| clog_sync_time_warn_threshold | The warning threshold for the time required to synchronize transaction logs. A WARN log is generated when the synchronization time exceeds the threshold. |
| dtl_buffer_size | The size of the cache used by the SQL data transmission module. |
| ignore_replay_checksum_error | Specifies whether to ignore checksum errors that occur during transaction log replay. |
| trx_2pc_retry_interval | The interval for automatic retries after a failure in two-phase commit. |
| standby_fetch_log_bandwidth_limit | The maximum bandwidth, in bytes per second, allowed for fetching logs from the primary tenant to the standby tenant. |
| log_storage_warning_tolerance_time | The time allowed after I/O failures on the log disk occur before the disk is marked as failed and the primary tenant is switched. |
Minor compaction and major compaction
| Parameter name | Description |
|---|---|
| enable_major_freeze | Specifies whether to enable the automatic global freeze feature. |
| micro_block_merge_verify_level | The verification level of macroblocks during a minor compaction. |
| row_compaction_update_limit | The number of modifications triggering a minor compaction of in-memory row-based data. |
PX
| Parameter name | Description |
|---|---|
| px_workers_per_cpu_quota | The proportion of parallel execution worker threads. |
| px_task_size | The amount of data processed per task by the SQL parallel query engine. |
| max_px_worker_count | The maximum number of threads used by the SQL parallel query engine. |
Cache-related
| Parameter name | Description |
|---|---|
| bf_cache_miss_count_threshold | The number of times a macroblock must fail to be found in the cache before creating a Bloom filter cache. |
| bf_cache_priority | The priority of the Bloom filter cache. |
| cache_wash_threshold | The capacity threshold that triggers cache cleanup. |
| fuse_row_cache_priority | The priority of the fuse row cache in the cache system. |
| user_row_cache_priority | The priority of the baseline data row cache in the cache system. |
| autoinc_cache_refresh_interval | The refresh interval of the auto-increment column cache. |
| plan_cache_evict_interval | The interval at which the system eliminates execution plans from the cache. |
| index_block_cache_priority | The priority of the metadata index microblock cache. |
| opt_tab_stat_cache_priority | The priority of the statistics cache. |
| tablet_ls_cache_priority | The priority of the tablet mapping cache. |
| user_block_cache_priority | The priority of the data block cache in the cache system. |
Location cache-related
| Parameter | Description |
|---|---|
| virtual_table_location_cache_expire_time | The expiration time of the location information cache for virtual tables. |
| location_cache_refresh_rpc_timeout | The RPC timeout period for refreshing the location_cache. |
| location_cache_refresh_sql_timeout | The SQL timeout period for refreshing the location_cache. |
| location_cache_refresh_min_interval | The minimum interval for refreshing the location cache, to prevent excessive refresh requests from causing high system pressure. |
| location_cache_cpu_quota | The CPU quota for the location cache module. |
| location_fetch_concurrency | The maximum number of concurrent refreshes of the location cache on a single server. |
| location_refresh_thread_count | The number of threads on an OBServer node for requesting partition location information from the Root Service. |
Log-related
| Parameter name | Description |
|---|---|
| enable_record_trace_log | Specifies whether to record trace logs. |
| enable_async_syslog | Specifies whether to enable asynchronous write of system logs. |
| enable_syslog_recycle | Specifies whether to enable the recycle switch for old logs before startup. It is used in conjunction with max_syslog_file_count to determine whether the recycle logic applies to old log files. |
| enable_syslog_wf | Specifies whether to write WARN-level and higher system logs to a separate log file. |
| max_string_print_length | The maximum length of a line of text in trace logs. |
| max_syslog_file_count | The maximum number of log files that can be accommodated before the recycle logic is triggered. |
| syslog_level | The system log level. |
| trace_log_sampling_interval | The time interval for periodic recording of trace logs. |
| diag_syslog_per_error_limit | The maximum number of DIAG system logs that are allowed per error code within one second. Logs exceeding this threshold are not recorded. |
Partition-related
| Parameter name | Description |
|---|---|
| tablet_meta_table_check_interval | The check interval for the background inspection thread of the DBA_OB_TABLET_REPLICAS or CDB_OB_TABLET_REPLICAS view. |
| tablet_meta_table_scan_batch_count | The number of tablets cached in memory during the iteration of the tablet meta table. |
| tablet_size | The size of each shard for internal parallel processing (such as major compaction and query) in a partition. |
Read/write and query-related
| Parameter name | Description |
|---|---|
| weak_read_version_refresh_interval | The refresh interval for weak-consistency read versions, which affects the latency of weak-consistency read data. |
| large_query_worker_percentage | The percentage of worker threads reserved for handling large queries. |
| large_query_threshold | The execution time threshold. |
| trace_log_slow_query_watermark | The execution time threshold. A slow query whose execution time exceeds the threshold has its trace logs printed to system logs. |
Root Service-related
| Parameter name | Description |
|---|---|
| rootservice_async_task_queue_size | The size of the asynchronous task queue in Root Service. |
| rootservice_async_task_thread_count | The size of the thread pool for asynchronous tasks in Root Service. |
| rootservice_list | The list of servers where Root Service and its replicas reside. |
| rootservice_ready_check_interval | The time interval for checking the cluster status after Root Service starts. |
| rootservice_memory_limit | The maximum memory capacity allowed to Root Service. |
| lease_time | The lease duration for heartbeats. |
| server_check_interval | The time interval for checking the consistency of the server table. |
| server_permanent_offline_time | The time threshold for determining a permanently offline node. After a node's heartbeat is interrupted for this period of time, the node is considered to be permanently offline, and the data replicas on the node need to be automatically supplemented. |
| ob_event_history_recycle_interval | The interval for recycling historical events. |
I/O-related
| Parameter | Description |
|---|---|
| rdma_io_thread_count | The number of RDMA I/O threads for Libreasy. |
| syslog_io_bandwidth_limit | The maximum disk I/O bandwidth allowed for system logs. System logs exceeding the bandwidth limit will be discarded. |
| disk_io_thread_count | The number of disk I/O threads. It must be an even number. |
| net_thread_count | The number of network I/O threads. |
Background execution threads
| Parameter | Description |
|---|---|
| sql_net_thread_count | The number of I/O threads for a MySQL cluster, which is also the number of global_sql_nio_server threads. The default value of 0 indicates to use the value of the net_thread_count parameter. |
TCP-related
| Parameter | Description |
|---|---|
| enable_tcp_keepalive | Specifies whether to enable the keepalive mechanism for client connections. |
| tcp_keepidle | The time interval in seconds after a client connection is established with the server before a keepalive probe packet is sent if no data is being transmitted. |
| tcp_keepintvl | The time interval in seconds between two keepalive probes after the keepalive mechanism is enabled. |
| tcp_keepcnt | The maximum number of retries before a non-active connection is closed. |
RPC authentication-related
| Parameter | Description |
|---|---|
| rpc_client_authentication_method | The security authentication method for RPC clients. |
| rpc_server_authentication_method | The security authentication method for RPC servers. |
Arbitration service-related
| Parameter | Description |
|---|---|
| ob_startup_mode | The startup mode of OBServer nodes. This parameter can be modified only during the first startup. |
Others
| Parameter name | Description |
|---|---|
| builtin_db_data_verify_cycle | The cycle for self-inspection of bad data blocks, in days. If the value is 0, the self-inspection is disabled. |
| data_storage_warning_tolerance_time | The tolerance time for the data disk status to be set to the WARNING state. |
| dead_socket_detection_timeout | The interval for detecting failed sockets. |
| enable_sys_table_ddl | Specifies whether to allow manual creation of system tables. |
| internal_sql_execute_timeout | The interval for system internal DML requests. |
| migration_disable_time | The period of time to suspend data migration for a node after data migration fails due to a full disk or other reasons. |
| schema_history_expire_time | The expiration time of metadata history data. |
| datafile_size | The size of data files. Generally, you do not need to specify this parameter. |
| devname | The name of the network card that the service process binds to. |
| enable_perf_event | Specifies whether to enable the collection of performance events. |
| enable_record_trace_id | Specifies whether to record the trace ID set by the application. |
| enable_upgrade_mode | Specifies whether to enable upgrade mode. In upgrade mode, some system background features are suspended. |
| enable_ddl | Specifies whether to allow DDL operations. |
| high_priority_net_thread_count | The number of high-priority network threads. The value 0 indicates that this feature is disabled. |
| mysql_port | The port number for the SQL service protocol. |
| obconfig_url | The URL address of the OBConfig service. |
| rpc_port | The port number for remote access. |
| sql_protocol_min_tls_version | The minimum version number of the SSL/TLS protocol used for an SSL connection for SQL statements. |
| ssl_client_authentication | Specifies whether to enable the SSL connection feature. |
| stack_size | The size of the call stack for program functions. |
| tenant_task_queue_size | The size of the request queue for each tenant. |
| zone | The name of the zone to which the node belongs. Generally, you do not need to specify this parameter. |
| ssl_external_kms_info | Records some information on which the SSL feature of OceanBase Database depends. The information is recorded in a JSON string and includes relevant configurations for different SSL usage scenarios. The JSON string must contain a ssl_mode field. |
| recyclebin_object_expire_time | Automatically purges expired schema objects from the recycle bin. |
| default_row_format | The default row format used when creating a table in MySQL mode. |
| enable_sql_audit | Specifies whether to enable SQL auditing. |
| min_observer_version | The application version number of the minimum OBServer node in the cluster. |
| sys_bkgd_net_percentage | The percentage of network bandwidth available to background system tasks. |
| schema_history_recycle_interval | The interval for recycling schema multi-version records in the system. |
| enable_asan_for_memory_context | When ob_asan is used, specifies whether to allow ObAsanAllocator (default) as the MemoryContext allocator. |
Unsupported parameters
| Parameter name | Description |
|---|---|
| plan_cache_high_watermark | The threshold of memory usage of the execution plan cache. When the memory usage exceeds this threshold, automatic plan eviction is triggered. |
| plan_cache_low_watermark | The threshold of memory usage of the execution plan cache. When the memory usage falls below this threshold, plan eviction is stopped. |
| tenant_cpu_variation_per_server | The allowed deviation of CPU quota scheduling among multiple units of a tenant. |
| system_trace_level | The log level of system tracing logs. |
Tenant-level parameters
User login-related
Note
The following parameters take effect only in MySQL mode.
| Parameter | Description |
|---|---|
| connection_control_failed_connections_threshold | The threshold of failed login attempts. |
| connection_control_min_connection_delay | The minimum duration of account lockout after the failed login attempt threshold is reached. |
| connection_control_max_connection_delay | The maximum duration of account lockout. When the maximum duration is reached, the duration does not increase even if the login attempt fails again. |
Load balancing-related
| Parameter | Description |
|---|---|
| balancer_idle_time | The interval for waking up idle load balancing and background tasks threads. |
| enable_rebalance | Specifies whether to enable automatic load balancing. |
| enable_transfer | Specifies whether to allow transfer within a tenant. This parameter is ineffective when enable_rebalance is disabled. |
| partition_balance_schedule_interval | The scheduling cycle of partition balancing. |
Backup and restore
| Parameter name | Description |
|---|---|
| log_restore_concurrency | The maximum number of concurrent log restore threads. |
| log_archive_concurrency | The maximum number of concurrent log archive threads. |
Audit
| Parameter name | Description |
|---|---|
| audit_sys_operations | Specifies whether to track the operations of system users. |
| audit_trail | Specifies whether to enable database audit. |
Memory space
| Parameter name | Description |
|---|---|
| rpc_memory_limit_percentage | The maximum memory usage allowed for RPCs, which is the percentage of the total memory of the tenant. |
Transaction and transaction log-related
| Parameter name | Description |
|---|---|
| log_disk_utilization_limit_threshold | The threshold of log disk utilization for limiting log write. When the usage of the log disk exceeds the total size of the log disk space for the tenant multiplied by this threshold, log write is no longer allowed. |
| log_disk_utilization_threshold | The threshold of log disk utilization for log file reuse. When the usage of the log disk exceeds the total size of the log disk space for the tenant multiplied by this threshold, log file reuse is performed. |
| writing_throttling_maximum_duration | The time required for allocating the remaining MemStore memory after write throttling is triggered, in seconds. This parameter controls the write speed. |
| writing_throttling_trigger_percentage | The threshold of write speed, specified as a percentage. |
| standby_db_fetch_log_rpc_timeout | The RPC timeout period for pulling logs from the primary database, in seconds. This parameter is used to control the log transmission service in the standby database. When this service detects that a server in the primary database is unavailable, it will switch to another server after a period of time. |
| log_disk_throttling_percentage | The percentage of unrecoverable log disk space. When this parameter is reached, write throttling is triggered. |
| log_transport_compress_all | Specifies whether to compress logs during transmission. |
| log_transport_compress_func | The compressor for log transmission. |
Minor compaction and major compaction
| Parameter name | Description |
|---|---|
| default_progressive_merge_num | The default number of minor compactions for a newly created table. |
| major_freeze_duty_time | The time when the daily scheduled freeze and major compaction are triggered. |
| major_compact_trigger | The number of freezes that trigger a global major compaction. |
| minor_compact_trigger | The threshold of the number of SSTables that triggers a minor compaction. |
| undo_retention | The system-retained version data range, in seconds, for minor compaction. |
| merger_check_interval | The scheduling interval of the threads that check the status of minor compactions. |
| freeze_trigger_percentage | The memory usage threshold of tenants that triggers a global freeze. |
CPU
| Parameter name | Description |
|---|---|
| cpu_quota_concurrency | The maximum number of concurrent operations allowed for each CPU quota. |
Encryption-related
| Parameter name | Description |
|---|---|
| external_kms_info | Stores some key management information. |
| tde_method | Specifies the method for transparently encrypting tablespaces. |
PL
| Parameter name | Description |
|---|---|
| plsql_code_type | Specifies the compilation type of PL/SQL code. |
| plsql_debug | Specifies whether to compile a debug version. |
| plsql_optimize_level | Specifies the optimization level during compilation. |
| plsql_v2_compatibility | Specifies Oracle compatibility features of PL/SQL. Notice This parameter applies only to Oracle mode and is currently not in effect. |
Compatibility-related
Note
The following table lists the configuration items that take effect only in MySQL mode.
| Configuration item | Description |
|---|---|
| enable_sql_extension | Specifies whether to enable SQL extensions for the tenant. |
| compatible | Controls the compatibility behavior of related features in the tenant. This configuration item cannot be set. |
Read/write and query-related
| Configuration item | Description |
|---|---|
| enable_monotonic_weak_read | Specifies whether to enable monotonic reads. |
| query_response_time_stats | Specifies whether to enable statistics collection for the information_schema.QUERY_RESPONSE_TIME view. |
| query_response_time_flush | Specifies whether to flush the information_schema.QUERY_RESPONSE_TIME view and re-read query_response_time_range_base. |
| query_response_time_range_base | The interval for the time parameter in the information_schema.QUERY_RESPONSE_TIME view to collect statistics. |
Routing-related
| Configuration item | Description |
|---|---|
| ob_proxy_readonly_transaction_routing_policy | Controls whether the Proxy's routing of transactions is affected by read-only statements. |
I/O-related
| Parameter | Description |
|---|---|
| io_category_config | Specifies the percentage of I/O requests for each category. |
Background thread-related
| Parameter | Description |
|---|---|
| compaction_low_thread_score | The number of worker threads for minor compaction. |
| compaction_high_thread_score | The number of worker threads for major compaction. |
| compaction_mid_thread_score | The number of worker threads for incremental major compaction. |
| ha_high_thread_score | The number of worker threads for high-priority threads in high availability. |
| ha_mid_thread_score | The number of worker threads for medium-priority threads in high availability. |
| ha_low_thread_score | The number of worker threads for low-priority threads in high availability. |
| ob_compaction_schedule_interval | The interval for scheduling compactions. |
| compaction_dag_cnt_limit | The maximum number of DAGs in the compaction DAG queue. |
| compaction_schedule_tablet_batch_cnt | The maximum number of partitions scheduled in each batch for compaction. |
| tenant_sql_login_thread_count | The number of threads for MySQL tenant logins, which is the number of mysql_queue threads. The default value of 0 means to use the value of unit_min_cpu. |
| tenant_sql_net_thread_count | The number of I/O threads for MySQL tenants, which is the number of sql_nio_server threads. The default value of 0 means to use the value of unit_min_cpu. |
Arbitration service-related
| Parameter | Description |
|---|
Others
| Parameter name | Description |
|---|---|
| enable_early_lock_release | Specifies whether to enable the early lock release feature. |
| workarea_size_policy | Specifies the strategy for manually or automatically adjusting the size of an SQL workspace. |
| open_cursors | Specifies the maximum number of cursors that can be opened simultaneously in a session. |
| ob_ssl_invited_common_names | Records the application identities of the tenant, which are obtained from the cn field (common name) of the subject field of the client-side certificate during two-way SSL authentication. |
| ob_enable_batched_multi_statement | Specifies whether to enable the group execution optimization for the batch processing feature. |
| job_queue_processes | Specifies the maximum number of jobs that can run simultaneously on a tenant, to control the jobs from monopolizing the tenant's resources. Notice This parameter takes effect only in Oracle mode. |
| default_auto_increment_mode | Specifies the default auto-increment mode. |
| ob_query_switch_leader_retry_timeout | The maximum retry duration for failed queries, in microseconds (us). |
| default_enable_extended_rowid | Specifies whether to create a table in the extended ROWID mode by default. |
| dump_data_dictionary_to_log_interval | The interval for persisting the data dictionary of a tenant to logs. |
| enable_user_defined_rewrite_rules | Specifies whether to enable user-defined rewrite rules. |
Not supported configuration items
| Configuration item name | Description |
|---|---|
| sql_work_area | The amount of memory available for tenant workspaces. |
| max_stale_time_for_weak_consistency | The maximum allowed staleness for weak-consistency read operations. |