This topic describes the cluster-level and tenant-level parameters of OceanBase Database in detail based on their functions.
Cluster-level parameters
Security-related parameters
Parameter name |
Feature description |
|---|---|
| mysql_port | Sets the port number for the SQL service protocol. |
| rpc_port | Sets the protocol port number for remote access. |
| sql_protocol_min_tls_version | Sets the minimum SSL/TLS protocol version to be used for SSL connections when executing SQL statements. |
| ssl_client_authentication | Specifies whether to enable the SSL connection feature. |
| ssl_external_kms_info | Used to record information required for the SSL feature of OceanBase Database to operate. It records the configuration dependencies for different SSL usage methods in a JSON string format. The JSON string must contain at least the typessl_modefield. |
| enable_sql_audit | Specifies whether to enable the SQL audit feature. |
| enable_clog_encryption | It specifies whether to enable Clog encryption for BKMI and OBCloud modes under data transparent encryption. |
Backup and recovery-related parameters
Parameter name |
Feature description |
|---|---|
| backup_backup_dest | Specifies the backup destination for the backup data. |
| backup_backup_dest_option | Parameters for controlling backup operations. |
| backup_dest_option | Parameters related to backup control. |
| backup_concurrency | Specifies the concurrency level for writing data to the file system during backup. |
| backup_dest | The path for setting the baseline backup and log archiving. |
| backup_log_archive_option | Defines the archiving options for backup logs. |
| backup_net_limit | Sets the total bandwidth for cluster backup. |
| backup_recovery_window | It specifies the point in time to which backup data can be restored. |
| backup_region | Specifies the region for backup execution. |
| backup_zone | Specifies the zone for backup execution. |
| log_archive_batch_buffer_limit | Controls the maximum memory usage of a standalone node for log archiving. |
| log_archive_checkpoint_interval | Sets the time interval for log archiving checkpoints of cold data. |
| restore_concurrency | Specifies the maximum concurrency for restoring tenant data from a backup. |
cgroup-related parameters
Parameter name |
Feature description |
|---|---|
| enable_cgroup | It is used to control whether to enable the cgroup feature for the OBServer node. |
CPU-related parameters
Parameter name |
Feature description |
|---|---|
| cpu_count | Sets the total number of system CPUs. If set to 0, the system automatically detects the number of CPUs. |
| server_balance_cpu_mem_tolerance_percent | In the node load balancing strategy, this parameter specifies the tolerance for CPU and memory resource imbalance. |
| server_cpu_quota_max | Sets the maximum CPU quota available for the system. |
| server_cpu_quota_min | Sets the minimum CPU quota available for the system, which is automatically reserved. |
| token_reserved_percentage | In tenant CPU scheduling, it specifies the proportion of idle tokens reserved for the tenant each time. |
| workers_per_cpu_quota | Sets the number of worker threads allocated to each CPU. |
| cpu_reserved | It specifies the number of CPU cores reserved for the system. The remaining CPU cores will be exclusively used by OceanBase Database. |
| sys_cpu_limit_trigger | This parameter specifies the CPU utilization threshold. When the CPU utilization exceeds this threshold, the system will pause the execution of background tasks. |
| system_cpu_quota | Sets the CPU quota available to the sys tenant. |
| tenant_cpu_variation_per_server | Sets the allowed deviation for CPU quota scheduling among multiple units of a tenant. |
Read/write and query-related parameters
Parameter name |
Feature description |
|---|---|
| weak_read_version_refresh_interval | Sets the refresh interval for weak-consistency read version numbers, which affects the latency of weak-consistency reads. |
| large_query_worker_percentage | Sets the percentage of worker threads reserved for processing large queries. |
| large_query_threshold | The threshold for setting the query execution time. |
| trace_log_slow_query_watermark | Sets the threshold for query execution time. Queries whose execution time exceeds this threshold are considered slow queries, and their trace logs are printed to the system log. |
Load balancing-related parameters
Parameter name |
Feature description |
|---|---|
| balancer_log_interval | Sets the interval for printing statistical logs by the threads of a disaster recovery task. |
| balancer_task_timeout | This parameter specifies the timeout period for background tasks such as load balancing. |
| balancer_tolerance_percentage | This parameter specifies the tolerance for disk imbalance among multiple units within a tenant under the load balancing policy. If the disk usage deviates from the average by less than or equal to this tolerance, no balancing action is triggered. |
| server_balance_critical_disk_waterlevel | Sets the watermarks for the load balancing feature that controls disk space usage. |
| server_balance_disk_tolerance_percent | This parameter specifies the tolerance for imbalance in the disk load balancing strategy among nodes. |
| resource_hard_limit | Specifies the CPU overprovisioning percentage. |
| enable_sys_unit_standalone | Specifies whether the unit of the system tenant is exclusive to a node. |
| balancer_emergency_percentage | It is used to set the unit load threshold. When the unit load exceeds this threshold, replica migration out is allowed, and load balancing is performed even during major compactions. |
| balancer_timeout_check_interval | It is used to set the timeout interval for checking background tasks such as load balancing. |
| data_copy_concurrency | Sets the maximum number of concurrently executing data migration replication tasks in the system. |
| tenant_groups | Sets the tenant group used in the load balancing strategy. |
| unit_balance_resource_weight | It is used to set the resource weight used in the unit balancing strategy and generally does not require manual configuration. |
| resource_soft_limit | Specifies whether to enable unit balancing. |
Replica-related parameters
Parameter name |
Feature description |
|---|---|
| unit_gc_wait_time | Specifies the maximum wait time for a minor GC. If the minor GC does not complete within this time, a forced GC is triggered. |
| enable_rereplication | The master switch for automatic migration and replication of log stream replicas. |
| ls_meta_table_check_interval | This parameter specifies the check interval for the background inspection thread of the DBA_OB_LS_LOCATIONS or CDB_OB_LS_LOCATIONS view. |
| sys_bkgd_migration_change_member_list_timeout | Specifies the timeout period for changing the Paxos member group during replica migration. |
| sys_bkgd_migration_retry_num | Specifies the maximum number of retries allowed when a replica migration fails. |
| balance_blacklist_failure_threshold | Specifies the threshold for the number of consecutive failures of background tasks such as replica migration. When the number of consecutive failures of such tasks exceeds this threshold, the task will be placed in the blacklist. |
| balance_blacklist_retry_interval | Specifies the retry interval for background tasks, such as replica migration, after they are added to the blacklist. |
| election_cpu_quota | It is used to set the CPU quota allocated for background tasks related to replica election. |
| election_blacklist_interval | Specifies the time interval during which the primary replica cannot be re-elected as the leader after being revoked. |
| enable_auto_leader_switch | Specifies whether to enable automatic leader switchover. |
| enable_smooth_leader_switch | It is the switch for the smooth leader switchover feature. |
| global_index_build_single_replica_timeout | Specifies the timeout period for building each replica when creating a global index. |
| get_leader_candidate_rpc_timeout | This parameter specifies the timeout period for internal requests used to obtain candidates for automatic leader switchover. |
| migrate_concurrency | Sets the maximum concurrency for internal data migration. |
| rebuild_replica_data_lag_threshold | Sets the threshold for the transaction log lag between the standby replica and the primary replica. When this threshold is exceeded, replica reconstruction is triggered. |
| server_data_copy_out_concurrency | Specifies the maximum concurrency for migrating data out of a single node. |
| server_data_copy_in_concurrency | Specifies the maximum number of concurrent data migrations allowed for a single node. |
| replica_safe_remove_time | Specifies the maximum amount of time for which deleted replicas can be retained before they are cleaned up. |
Cache-related parameters
Parameter name |
Feature description |
|---|---|
| bf_cache_miss_count_threshold | Controls the number of times a Bloomfilter cache is triggered. A Bloomfilter cache is created when the number of misses in a macroblock reaches this value. |
| bf_cache_priority | Sets the Bloom filter cache priority. |
| cache_wash_threshold | The capacity threshold for triggering cache cleanup. |
| fuse_row_cache_priority | Sets the priority of the fused row cache in the caching system. |
| user_row_cache_priority | This parameter is used to set the priority of baseline data row cache in the caching system. |
| autoinc_cache_refresh_interval | Sets the refresh interval for the auto-increment column cache. |
| plan_cache_evict_interval | Sets the eviction time interval for the execution plan cache. |
| index_block_cache_priority | Sets the cache priority for metadata index microblocks. |
| opt_tab_stat_cache_priority | Sets the cache priority for statistics. |
| tablet_ls_cache_priority | This parameter is used to set the tablet mapping cache priority. |
| user_block_cache_priority | Sets the priority of a data block cache in the caching system. |
| index_info_block_cache_priority | Sets the priority of a block index in the caching system. |
| index_cache_priority | Used to set the index's priority in the caching system. |
| user_tab_col_stat_cache_priority | Sets the priority for caching statistics in the cache system. |
| plan_cache_high_watermark | Sets the memory usage threshold for the plan cache. When the cache usage exceeds this threshold, automatic eviction is triggered. |
| plan_cache_low_watermark | The threshold for the memory occupied by the plan cache. Evictions will stop when the memory usage drops below this threshold. |
Partition-related parameters
Parameter name |
Feature description |
|---|---|
| tablet_meta_table_check_interval | This parameter specifies 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 | Sets the number of tablets cached in memory during the iteration of a tablet meta table iterator. |
| tablet_size | It specifies the size of each shard during internal parallel processing (such as major compactions and queries) within a partition. |
| auto_broadcast_location_cache_rate_limit | Specifies the maximum number of partitions whose location information can be broadcast per second for each OBServer node. |
| auto_refresh_location_cache_rate_limit | Specifies the maximum number of partitions that each OBServer node can trigger automatic refresh for per second. |
| enable_pg | Specifies whether to enable the partition group feature. |
| gc_wait_archive | Specifies whether to wait for all logs on a partition to be archived before initiating garbage collection (GC) for the partition. |
| partition_table_check_interval | Specifies the interval for deleting non-existent replicas from a partitioned table by an OBServer node. |
Background execution thread-related parameters
Parameter name |
Feature description |
|---|---|
| sql_net_thread_count | It specifies the number of I/O threads in a MySQL cluster.global_sql_nio_serverThe number of threads. The default value of 0 indicates that the number of threads is determined by the parameternet_thread_counthave the same value. |
| auto_leader_switch_interval | Sets the working interval time for the automatic leader switchover background thread. |
| switchover_process_thread_count | Sets the size of the thread pool related to primary/standby switchover. |
I/O-related parameters
Parameter name |
Feature description |
|---|---|
| sync_io_thread_count | Configures the number of threads for synchronizing I/O requests. |
| syslog_io_bandwidth_limit | Sets the upper limit of disk I/O bandwidth that system logs can occupy. System logs exceeding this bandwidth limit will be discarded. |
| disk_io_thread_count | Specifies the number of threads for disk I/O. The value must be an even number. |
| net_thread_count | Sets the number of network I/O threads. |
| data_storage_error_tolerance_time | Used to control the data disk status toERRORThe tolerance time for the status. |
| sys_bkgd_io_high_percentage | Sets the maximum percentage of system background I/O usage. |
| sys_bkgd_io_low_percentage | It specifies the minimum percentage of system background I/O usage. |
| user_iort_up_percentage | This parameter specifies the threshold for user disk I/O latency. When user disk I/O latency exceeds this threshold, the system will throttle background I/O tasks. |
| ob_esi_rpc_port | Sets the communication port between the OBESE process and the OBSERVER process. |
| enable_ob_esi_process | Controls whether to enable the obesi (external storage interface) process. |
| ob_esi_session_timeout | Sets the timeout period for an obese process to hold active session resources. |
| ob_esi_io_concurrency | Sets the number of concurrent I/O operations for the OBDI process. |
| ob_esi_syslog_level | Sets the current logging level for the OBESE process. |
| ob_esi_max_syslog_file_count | Specifies the maximum number of log files that the obesi process can accommodate before recycling log files. |
| multiblock_read_gap_size | Sets the maximum capacity of the block cache for a single I/O aggregate read. |
| multiblock_read_size | Sets the I/O aggregation size for data reading. |
Cluster-related parameters
Parameter name |
Feature description |
|---|---|
| all_server_list | Displays the addresses of all servers in the cluster. |
| cluster | The name of the current OceanBase cluster. |
| cluster_id | Sets the ID of the current OceanBase cluster. |
| rpc_timeout | Sets the timeout period for internal requests within the cluster. |
| all_cluster_list | Displays the list of servers accessing the same config_url. |
| enable_election_group | Specifies whether to enable the election group strategy. |
| local_ip | The IP address of the server where the OBServer node is to be installed. |
| observer_id | The unique identifier for assigning RS to an OBServer node in a cluster. |
| min_observer_version | This API is used to view the lowest application version number of OBServer nodes in the cluster. |
Bandwidth-related
Parameter name |
Feature description |
|---|---|
| enable_ob_ratelimit | This API is used to enable inter-region rate limiting in an RPC connection. |
| ob_ratelimit_stat_period | Specifies the time interval for calculating and updating the maximum bandwidth on an OBServer node. |
Location cache related
Parameter name |
Feature description |
|---|---|
| virtual_table_location_cache_expire_time | Sets the cache expiration time for the virtual table location information. |
| location_cache_refresh_rpc_timeout | Refresh via RPClocation_cacheThe timeout period. |
| location_cache_refresh_sql_timeout | Refresh via SQLlocation_cacheThe timeout period. |
| location_cache_refresh_min_interval | Sets the minimum interval for refreshing location cache requests to prevent excessive refresh requests from overwhelming the system. |
| location_cache_cpu_quota | Sets the CPU quota for the location caching module. |
| location_fetch_concurrency | Sets the maximum concurrency for refreshing the local cache on a single node. |
| location_refresh_thread_count | Specifies the number of threads used by an OBServer node to obtain partition location information from the root service. |
| enable_auto_refresh_location_cache | It is used to set whether to enable the automatic refresh of location cache information. |
Directory path related
Parameter name |
Feature description |
|---|---|
| config_additional_dir | Specifies multiple directories for storing the configuration file locally to ensure redundant storage of multiple configuration files. |
| data_dir | The directory used to store data such as SSTables. |
Memory space
Parameter name |
Feature description |
|---|---|
| datafile_disk_percentage | It indicates the percentage of the total space of the disk where data_dir is located that is occupied. The disk where data_dir is located will be initialized by the OceanBase database system for data storage. |
| data_disk_usage_limit_percentage | It specifies the maximum percentage of data files that can be written. When the usage exceeds this threshold, data migration in is prohibited. |
| enable_sql_operator_dump | Specifies whether to allow intermediate results of SQL processing to be written to disk to free up memory. |
| global_write_halt_residual_memory | Used to set the trigger for pausing write operations of a user tenant (sysThe global remaining memory threshold that will not affect the tenant. |
| leak_mod_to_check | This is used for memory leak detection and is an internal debugging feature. |
| memory_chunk_cache_size | Sets the memory block capacity cached by the memory allocator. |
| memory_limit | Indicates the total size of available memory. |
| memory_limit_percentage | Sets the percentage of total memory that the system's total available memory size occupies. |
| memory_reserved | This parameter specifies the memory size reserved for underlying system modules. |
| memstore_limit_percentage | Sets the percentage of a tenant's total available memory that can be used by the MemStore. |
| system_memory | Used to set the system-reserved ID for the tenant to500The memory capacity of the tenant. |
| use_large_pages | Manages large memory pages used by the database. |
| datafile_maxsize | Specifies the maximum size for automatic disk file expansion. |
| datafile_next | Specifies the growth step for automatic disk file expansion. |
| storage_meta_cache_priority | Used to control the priority of storing Meta Cache in KVCache. |
PX-related
Parameter name |
Feature description |
|---|---|
| px_task_size | This parameter specifies the amount of data processed by each task in the SQL parallel query engine. |
| max_px_worker_count | Sets the maximum number of threads used by the SQL parallel query engine. |
Others
Parameter name |
Feature description |
|---|---|
| builtin_db_data_verify_cycle | Specifies the data bad block self-check cycle, in days. A value of 0 indicates no check. |
| data_storage_warning_tolerance_time | Specifies the tolerance period for allowing the data disk status to remain at WARNING. |
| dead_socket_detection_timeout | The time interval for detecting invalid sockets. |
| migration_disable_time | This parameter specifies the duration for which data migration is paused when data migration to a node fails due to reasons such as full disk space. |
| datafile_size | Specifies the size of the data file. This parameter is generally not required. |
| devname | Specifies the name of the network interface card device bound to the service process. |
| enable_perf_event | Specifies whether to enable the performance event collection feature. |
| 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 functions are suspended. |
| enable_ddl | It specifies whether to allow DDL statements to be executed. |
| high_priority_net_thread_count | The number of high-priority network threads. Value:0indicates that this feature is disabled. |
| obconfig_url | The URL address of the OBConfig service. |
| rpc_port | Sets the protocol port number for remote access. |
| stack_size | Sets the size of the program function call stack. |
| tenant_task_queue_size | Sets the request queue size for each tenant. |
| zone | Specifies the name of the zone where the node is located. This parameter is generally not required. |
| recyclebin_object_expire_time | Automatically purges expired schema objects from the recycle bin. |
| default_row_format | Specifies the default row format to use when creating tables in MySQL-compatible mode. |
| sys_bkgd_net_percentage | Sets the percentage of network bandwidth that background system tasks can occupy. |
| schema_history_recycle_interval | Used to set the internal execution of the system.schemaThe time interval for reclaiming records across multiple versions. |
| enable_asan_for_memory_context | When using ob_asan, this parameter specifies whether to allow ObAsanAllocator to be used as the allocator for MemoryContext objects. By default, ObAllocator is used. |
| ofs_list | Stores the OFS (OceanBase File System, a distributed storage system independently designed by OceanBase Database) connection URL for each zone. It is primarily used for RootService to access files across zones in OFS deployment mode. |
| async_ps_cursor_max_count | Controls the maximum number of asynchronous PS cursors allowed on a single node. |
| das_batch_rpc_delay_us | Used to control the global index back-to-table batch RPC channel (LOOKUP_DAS_BATCH_REQ1/2) aggregation and sending delay. |
Log Service
Parameter name |
Feature description |
|---|---|
| enable_logservice | A switch to control the logging service mode. |
| logservice_access_point | Used to persist the log service access point. |
Root Service
Parameter name |
Feature description |
|---|---|
| rootservice_async_task_queue_size | Sets the size of the internal asynchronous task queue for the Root Service. |
| rootservice_async_task_thread_count | Sets the thread pool size for asynchronous tasks within the Root Service. |
| rootservice_list | Displays the list of servers where the root service and its replicas reside. |
| rootservice_ready_check_interval | Sets the interval at which RootService waits and checks the cluster status after startup. |
| rootservice_memory_limit | Sets the maximum memory capacity limit for the Root Service. |
| lease_time | Sets the duration of a heartbeat lease. |
| server_check_interval | Sets the time interval for consistency check on server tables. |
| server_permanent_offline_time | Sets the time threshold for detecting a node heartbeat interruption. That is, after a node's heartbeat is interrupted for this duration, it is considered permanently offline, and its data replicas must be automatically replenished. |
| ob_event_history_recycle_interval | Controls the recycling interval for historical events. |
| enable_rootservice_standalone | It specifies whether to allow the sys tenant and RootService to exclusively occupy OBServer nodes. |
| fast_recovery_concurrency | It is used to control the concurrency of quick recovery tasks scheduled by RootService when executed on OBServer nodes. |
| wait_leader_batch_count | Specifies the maximum number of partitions that RootService can send for leader switchover at a time. |
RPC Authentication
Parameter name |
Feature description |
|---|---|
| rpc_client_authentication_method | Sets the security authentication method for the RPC client. |
| rpc_server_authentication_method | This parameter specifies the security authentication method for the RPC server. |
SQL-related
Parameter name |
Feature description |
|---|---|
| sql_login_thread_count | Sets the number of threads for processing SQL login requests. |
| sql_audit_memory_limit | Specifies the maximum memory that SQL audit data can occupy. |
| enable_sys_table_ddl | Specifies whether to allow manual creation of system tables. |
| internal_sql_execute_timeout | Sets the time interval for internal DML requests in the system. |
Transactions and transaction logs
Parameter name |
Feature description |
|---|---|
| log_disk_size | Specifies the disk size for redo logs. |
| log_disk_percentage | Specifies the percentage of total disk space that redo logs can occupy. |
| dtl_buffer_size | This parameter specifies the cache size used by the SQL data transmission module. |
| ignore_replay_checksum_error | Specifies whether to ignore checksum errors that occur during the replay of transaction logs. |
| trx_2pc_retry_interval | Specifies the time interval for automatic retries when a two-phase commit fails. |
| standby_fetch_log_bandwidth_limit | This parameter specifies the maximum total bandwidth that can be occupied per second for all servers in the cluster where the standby tenant is located to synchronize logs from the primary tenant. |
| log_storage_warning_tolerance_time | Specifies the time before the disk is marked as bad after I/O failures from the log disk trigger a leader switchover. |
| clog_disk_utilization_threshold | The threshold value for controlling the reuse of clog or iLog disk space. |
| clog_expire_days | Specifies the expiration time for clog files. A clog file is deleted when the time elapsed since its last modification exceeds the specified expiration time. |
| clog_cache_priority | Sets the priority of transaction log cache usage. |
| clog_disk_usage_limit_percentage | Specifies the maximum percentage of disk space available for transaction logs. |
| clog_sync_time_warn_threshold | This example shows you how to set the alert threshold for transaction log synchronization duration. A WARN log is generated when the synchronization duration exceeds this value. |
| clog_transport_compress_func | This parameter specifies the compression algorithm used for internal transaction log transmission. |
| enable_one_phase_commit | This parameter specifies whether to enable the one-phase commit optimization for transaction commits. |
| enable_separate_sys_clog | Specifies whether to store system transaction logs separately from user transaction logs. |
| flush_log_at_trx_commit | This parameter specifies the transaction log writing strategy during transaction commit. |
| ignore_replay_checksum_error | Specifies whether to ignore checksum errors that occur during the replay of transaction logs. |
| index_clog_cache_priority | Sets the priority of transaction log indexes in the caching system. |
| ilog_index_expire_time | Sets the maximum time within which an OBServer node can read ILog files. |
| trx_force_kill_threshold | Sets the maximum wait time for killing transactions when necessary due to freezes or leader switchover. |
Lock-related
Parameter name |
Feature description |
|---|---|
| trx_try_wait_lock_timeout | Sets the wait duration for row locks during statement execution. |
Debugging
Parameter name |
Feature description |
|---|---|
| debug_sync_timeout | This API is used to enable the debug sync debugging switch and set its timeout period. |
| enable_rich_error_msg | Specifies whether to add server address, time, trace ID, and other debugging information to client messages. |
TCP
Parameter name |
Feature description |
|---|---|
| enable_tcp_keepalive | Enables or disables the keep-alive mechanism for client connections. |
| tcp_keepidle | Specifies the interval, in seconds, after which a Keepalive probe packet is sent if no data is transmitted over the client connection to the server. |
| tcp_keepintvl | Specifies the time interval, in seconds, between two consecutive probes when the keep-alive mechanism for client connections is enabled. |
| tcp_keepcnt | Specifies the maximum number of retries before closing an inactive connection. |
External tables
Parameter name |
Feature description |
|---|---|
| external_table_disk_cache_max_percentage | Sets the maximum percentage of the datafile_size that can be used for disk caching of external tables. |
System logs
Parameter name |
Feature description |
|---|---|
| alert_log_level | The level for setting the alert log. |
| enable_record_trace_log | Specifies whether to record trace logs. |
| enable_async_syslog | Specifies whether to enable asynchronous system log writing. |
| enable_syslog_recycle | This parameter specifies whether to enable the feature of retaining old logs generated before an OBServer node is started.max_syslog_file_countUsed together to determine whether the recycling logic should consider old log files. |
| enable_syslog_wf | Specifies whether to log system logs of WARN level and above to a separate log file. |
| max_string_print_length | Specifies the maximum length of a single line of log that can be printed when system logs are printed. |
| max_syslog_file_count | Specifies the maximum number of log files that can be retained before log files are recycled. |
| syslog_level | Sets the system log level. |
| trace_log_sampling_interval | Specifies the time for regularly printing trace logs. |
| diag_syslog_per_error_limit | Specifies the maximum number of DIAG system logs allowed per second for each error code. Logs will no longer be printed once this threshold is exceeded. |
| enable_log_archive | Specifies whether to enable log archiving. |
| system_trace_level | Sets the log level for system tracing logs. |
Compression algorithms
Parameter name |
Feature description |
|---|---|
| default_compress_func | It is used to set the default compression algorithm for table data. Other compression algorithms can also be specified when creating a table. |
| default_compress | Specifies the default compression strategy to use when creating tables in Oracle-compatible mode. |
| tableapi_transport_compress_func | This parameter specifies the compression algorithm used for transmitting query results of the OBKV-Table. |
| default_transport_compress_func | Sets the RPC compression algorithm for the entire cluster. |
Minor compaction and major compaction
Parameter name |
Feature description |
|---|---|
| enable_major_freeze | Specifies whether to enable automatic global freeze. |
| micro_block_merge_verify_level | Specifies the verification level for macroblocks during major compaction. |
| row_compaction_update_limit | Sets the number of modifications that trigger in-memory minor compactions for row data. |
| enable_global_freeze_trigger | Specifies whether to enable automatic global freeze. |
| enable_merge_by_turn | It is used to set whether to enable the rolling compaction strategy. |
| enable_manual_merge | Specifies whether to enable manual compaction. |
| global_major_freeze_residual_memory | The remaining memory threshold for triggering a global freeze. When the remaining memory drops below this percentage, a global freeze is triggered. |
| minor_deferred_gc_time | Sets the time interval for delayed SSTable reclamation after a major compaction. |
| zone_merge_concurrency | Specifies the number of zones that can concurrently perform major compactions during major compaction. When this parameter is set to 0, the system automatically determines the optimal concurrency based on the deployment. |
| zone_merge_order | Specifies the rotation order for major compactions in zones. If not specified, the system determines the order automatically. |
| zone_merge_timeout | Sets the major compaction timeout period for a single zone. |
| minor_freeze_times | Specifies the number of freezes that trigger a major compaction. |
| minor_merge_concurrency | Specifies the number of concurrent threads during minor compaction. |
| minor_warm_up_duration_time | This parameter specifies the warm-up time for generating a new minor compaction file during a minor compaction. |
| row_purge_thread_count | Sets the maximum number of worker threads for in-row data merging in execution memory. |
Arbitration service
Parameter name |
Feature description |
|---|---|
| arbitration_degradation_policy | Specifies the automatic downgrade strategy. |
| ob_startup_mode | Specifies the startup mode for the OBServer node. This parameter can be modified only during the first startup. |
Resource isolation
Parameter name |
Feature description |
|---|---|
| clog_io_isolation_mode | Determines whether I/O requests to the clog disk are subject to resource isolation based on whether the clog disk and data disk are independent. |
| enable_global_background_resource_isolation | Enables global isolation of foreground and background resources. |
| global_background_cpu_quota | It is used to control the CPU quota for background tasks when global foreground/background resource isolation is enabled. |
Tenant-level parameters
Security
Parameter name |
Feature description |
|---|---|
| sts_credential | Specifies the credentials for accessing the STS service provided by OCP. |
| external_kms_info | Used to store key management information. |
| tde_method | Specifies the method for setting up transparent tablespace encryption. |
| audit_sys_operations | Specifies whether to track the operational behavior of system users. |
| audit_trail | Specifies whether to enable database auditing. |
Storage
Parameter name |
Feature description |
|---|---|
| default_table_organization | Specifies the default table organization mode for creating tables. |
| default_table_merge_engine | Specifies the default table creation parameters for user tenants.merge_engine. |
CPU
Parameter name |
Feature description |
|---|---|
| cpu_quota_concurrency | Sets the maximum concurrency allowed for each CPU quota of a tenant. |
Read/write/query
Parameter name |
Feature description |
|---|---|
| enable_monotonic_weak_read | Specifies whether to enable monotonic read. |
| query_response_time_stats | Used to set whether to enableinformation_schema.QUERY_RESPONSE_TIMEStatistics collection for views. |
| query_response_time_flush | Used to set whether to refresh.information_schema.QUERY_RESPONSE_TIMEView and rereadquery_response_time_range_base. |
| query_response_time_range_base | Used to setinformation_schema.QUERY_RESPONSE_TIMEThe interval for collecting view time parameters. |
Load balancing
Parameter name |
Feature description |
|---|---|
| zone_disk_balance_tolerance_percentage | It is used to control the tolerance for imbalance in the inter-zone table group disk balancing algorithm. |
| enable_ls_leader_balance | Controls whether to enable automatic leader balancing for log streams. |
| enable_gts_standalone | It specifies whether to enable the feature that allows the tenant's GTS service to exclusively use a set of units. |
| balancer_idle_time | It specifies the wake-up interval for idle threads of background tasks such as load balancing. |
| enable_rebalance | Specifies whether to enable automatic load balancing. |
| enable_transfer | Controls whether to allow data transfer within a tenant. Disable the parameter.enable_rebalanceThis parameter is invalid. |
| partition_balance_schedule_interval | The partition balancing scheduling cycle. |
| enable_database_sharding_none | Controls whether to enable automatic aggregation for user tables when creating a database. |
Replica-related
Parameter name |
Feature description |
|---|---|
| replica_parallel_migration_mode | Specifies the mode for the parallel migration feature of log stream replicas. |
| choose_migration_source_policy | Specifies the priority strategy for selecting source replicas during migration. |
Scaling
Parameter name |
Feature description |
|---|---|
| ls_scale_out_factor | The scaling factor of log streams, which controls the number of log streams for a tenant on each service node. |
Backup and Recovery
Parameter name |
Feature description |
|---|---|
| recover_table_concurrency | Specifies the maximum number of tables that can be restored in parallel during the cross-tenant table import phase of table-level restore. |
| recover_table_dop | Specifies the maximum number of tables that can be restored in parallel during the cross-tenant table import phase of table-level restore. |
| log_restore_concurrency | Sets the concurrency for log restore. |
| log_archive_concurrency | Specifies the concurrency for log archiving. |
| backup_data_file_size | Specifies the maximum file size for a single data backup file. |
Partition-related
Parameter name |
Feature description |
|---|---|
| enable_auto_split | It is used to control whether the auto-partitioning feature is enabled for a tenant. |
| auto_split_tablet_size | It specifies the threshold for triggering a split after the auto-partitioning feature is enabled for this tenant. |
| global_index_auto_split_policy | Specifies whether to enable automatic partitioning for the new global index. Default value:DISTRIBUTED. |
Backend Execution Threads
Parameter name |
Feature description |
|---|---|
| px_workers_per_cpu_quota | Sets the ratio of worker threads for parallel execution. |
| ddl_thread_score | Specifies the number of threads used by the DDL task. |
| compaction_low_thread_score | Specifies the number of worker threads for low-priority compaction. |
| compaction_high_thread_score | Sets the number of worker threads for high-priority compaction. |
| compaction_mid_thread_score | Sets the number of worker threads for medium-priority compaction. |
| ha_high_thread_score | Sets the current number of worker threads for high-priority threads in high-availability mode. |
| ha_mid_thread_score | Sets the current number of worker threads for priority threads in high availability mode. |
| ha_low_thread_score | Sets the current number of worker threads for high-availability, low-priority threads. |
| ob_compaction_schedule_interval | Sets the time interval for compaction scheduling. |
| compaction_dag_cnt_limit | Specifies the maximum number of DAGs allowed in the compaction DAG queue. |
| compaction_schedule_tablet_batch_cnt | Specifies the maximum number of partitions to be scheduled in each batch during compaction scheduling. |
| tenant_sql_login_thread_count | Sets the number of threads for MySQL tenant login.mysql_queueNumber of threads. The default value of 0 indicates to take the maximum number of available threads.unit_min_cpuThe value of . |
| tenant_sql_net_thread_count | It specifies the number of I/O threads for a MySQL-compatible tenant.sql_nio_serverNumber of threads. The default value 0 indicates to obtain the maximum number allowed by the system.unit_min_cpuThe value of . |
Cache-related
Parameter name |
Feature description |
|---|---|
| enable_adaptive_plan_cache | This parameter specifies whether to enable adaptive plan cache for a tenant. |
| result_cache_max_size | Used to controlresult cacheThe maximum amount of memory that the module can use. |
| result_cache_max_result | Used to control a singleresult cacheThe maximum number of cache objects that can be used isresult_cache_max_sizeThe memory usage of the process. |
| ob_result_cache_evict_percentage | Used to setresult cacheMemory eviction watermark. |
| ob_deterministic_udf_cache_max_size | Used to mark the statement execution period. AlldeterministicThe maximum total memory that can be used by the cache pool of UDFs. |
I/O-related
Parameter name |
Feature description |
|---|---|
| io_category_config | It specifies the percentage of I/O requests for each category. |
Compatibility
Note
The parameters in the following table currently take effect only in MySQL-compatible mode.
Parameter name |
Feature description |
|---|---|
| enable_sql_extension | Specifies whether to enable the SQL extension feature for the tenant. |
| compatible | This parameter is used to control the compatibility behavior of related features under a tenant and cannot be set. |
Routing
Parameter name |
Feature description |
|---|---|
| ob_proxy_readonly_transaction_routing_policy | Controls whether the proxy's routing for transactions is affected by read-only statements. |
LOB Data
Parameter name |
Feature description |
|---|---|
| lob_enable_block_cache_threshold | Sets the threshold for caching LOB queries stored in OUTROW format. |
Memory space related
Parameter name |
Feature description |
|---|---|
| ob_vector_memory_limit_percentage | Specifies the threshold for memory resource usage of the vector index module, in percentage. |
| range_optimizer_max_mem_size | The memory used by the Query Range module. |
| rpc_memory_limit_percentage | Sets the maximum memory for RPCs in a tenant as a percentage of the tenant's total memory. |
| query_memory_limit_percentage | Specifies the percentage of tenant memory available for a single SQL statement. |
Disk space
Parameter name |
Feature description |
|---|---|
| temporary_file_max_disk_size | Sets the maximum disk space that temporary files on a single node of a tenant can occupy. |
OBKV-related
Parameter name |
Feature description |
|---|---|
| enable_kv_ttl | Controls whether to start the TTL background task. This parameter takes effect for periodic TTL tasks, but user management commands are not subject to this restriction. Notice: The Time-To-Live (TTL) feature is limited to OceanBase Key-Value scenarios and is disabled in SQL scenarios. Otherwise, it may cause unexpected data deletion errors. |
| kv_ttl_duty_duration | Set the daily scheduled TTL trigger period. The TTL task is triggered once within this period. |
| kv_group_commit_batch_size | Specifies the size of the batch operations executed during an OBKV group commit. |
| kv_group_commit_rw_mode | Used to control scenarios where group commits are performed. |
| kv_hbase_client_scanner_timeout_period | Sets the timeout period for OBKV-HBase streaming queries. |
| kv_ttl_history_recycle_interval | Specifies the retention period for historical TTL task records. |
| ttl_thread_score | Sets the number of worker threads used by the TTL task. |
PL-related
Parameter name |
Feature description |
|---|---|
| plsql_code_type | Specifies the compilation type for PL/SQL code. |
| plsql_debug | Specifies whether to compile the project into a debug version. |
| plsql_optimize_level | Specifies the compilation optimization level. |
| plsql_v2_compatibility | This parameter specifies whether to enable the DDL-compilation caching feature for stored procedures. |
| package_state_sync_max_size | Used to control the serializable length for a single package state. |
| ob_enable_java_udf | This parameter specifies whether to enable or disable the Java UDF feature. |
| enable_pl_rich_error_msg | This parameter specifies whether to enable or disable the feature of appending additional information to exception messages when they are thrown in PL/SQL. |
Direct load related
Parameter name |
Feature description |
|---|---|
| default_load_mode | It is used to control the data import method in data import scenarios. |
| direct_load_allow_fallback | This parameter specifies whether to roll back the data import operation to a normal import method when encountering scenarios not supported by direct load during the specified data import operation. |
| load_data_diagnosis_log_compression | Specifies the compression algorithm used for diagnostic logs. |
| load_data_diagnosis_log_max_size | Sets the size of a single diagnostic log file. |
Others
Parameter name |
Feature description |
|---|---|
| enable_standby_semi_sync | Controls whether to enable semi-synchronous replication for the standby database (standby tenant). |
| schema_history_archive_expire_time | Specifies the retention period for multi-version historical archive data of a schema. |
| schema_history_expire_time | This parameter specifies the expiration time for historical metadata data. |
| zone_deploy_mode | Sets the distribution pattern of tenants across zones. |
| enable_early_lock_release | This parameter specifies whether to enable the pre-row unlocking feature. |
| workarea_size_policy | It is used to set the strategy for manually or automatically adjusting the SQL workspace size. |
| open_cursors | Limits the number of cursors that a single session can open at the same time. |
| ob_ssl_invited_common_names | Records the list of application identities running under the current tenant. These identities are derived from the client certificates used in SSL mutual authentication.subjectin thecnField (common name). |
| ob_enable_batched_multi_statement | It is used to set whether to enable batch processing for grouped execution optimization. |
| job_queue_processes | It specifies the maximum number of tasks that can run concurrently for each tenant, with the aim of controlling task-induced resource consumption by tenants. |
| default_auto_increment_mode | Sets the default auto-increment mode for auto-increment columns. |
| ob_query_switch_leader_retry_timeout | Sets the maximum retry time for failed queries, in microseconds (μs). |
| default_enable_extended_rowid | Specifies whether to create the table in extended ROWID mode. |
| dump_data_dictionary_to_log_interval | It is used to control the persistence cycle of tenant data dictionaries. |
| enable_user_defined_rewrite_rules | A toggle switch for controlling whether user-defined rules are enabled. |
| storage_rowsets_size | Controls the number of rows processed in a vectorized batch by the columnar storage engine. |
| approx_count_distinct_precision | Used to configureapprox_count_distinctThe precision of the function result. |
| default_skip_index_level | Controls the mechanism for generating skip indexes in incremental SSTables for a tenant. |
Transactions and transaction logs
Parameter name |
Feature description |
|---|---|
| log_disk_utilization_limit_threshold | Sets the threshold for the tenant log disk usage limit. When a tenant's log disk usage exceeds the total log disk space of the tenant multiplied by this value, log writing is no longer allowed. |
| log_disk_utilization_threshold | Sets the threshold for tenant log disk utilization. When a tenant's log disk usage exceeds the total tenant log disk space multiplied by this value, log file reuse is performed. |
| writing_throttling_maximum_duration | The write speed is controlled by managing the memory allocation progress. Specifically, it specifies the time required to allocate all remaining MemStore memory after write throttling is triggered. |
| writing_throttling_trigger_percentage | It specifies the percentage threshold of the used memory in a MemStore that triggers write throttling relative to the maximum memory of the MemStore. |
| standby_db_fetch_log_rpc_timeout | Sets the RPC timeout period for log pulling from the standby database, which controls how long the standby database's log transfer service waits before detecting that a primary server is unavailable and switching to another server. |
| log_disk_throttling_percentage | The percentage of unreclaimable log disk space that triggers the log write throttling. |
| log_transport_compress_all | Specifies whether to compress log data during transmission. |
| log_transport_compress_func | A compressor used for log transmission. |
| clog_max_unconfirmed_log_count | Sets the maximum number of uncommitted logs allowed in the transaction module. |
| clog_persistence_compress_func | Sets the compression algorithm for transaction log persistence. |
| enable_clog_persistence_compress | Specifies whether to enable compression for transaction log persistence on disk. |
Data types
Parameter name |
Feature description |
|---|---|
| json_document_max_depth | Sets the maximum number of nested levels allowed in a JSON document. |
Lock-related
Parameter name |
Feature description |
|---|---|
| enable_lock_priority | Table lock priority switch. |
External tables
Parameter name |
Feature description |
|---|---|
| external_table_io_hole_size | Sets the maximum distance (in bytes) between two consecutive I/O ranges. |
| external_table_io_range_size | Sets the maximum size of the major compaction range in bytes. |
System logs
Parameter name |
Feature description |
|---|---|
| log_disk_throttling_maximum_duration | This parameter specifies the maximum available time for the log disk after log throttling is triggered. |
| ls_gc_delay_time | Specifies the time after which tenant log streams are deleted. |
| standby_db_preferred_upstream_log_region | Specifies the preferred region for the standby tenant to synchronize upstream logs in a physical standby database scenario. |
| archive_lag_target | The time before tenant log archiving starts. |
Materialized view related
Parameter name |
Feature description |
|---|---|
| enable_mlog_auto_maintenance | Controls whether to enable automatic materialized view log management. |
| mlog_trim_interval | It is used to control the scheduling cycle of the automatic mlog pruning task in the background. |
| enable_mv_binlog_minimal_mode | Used to control the incremental refresh scenario of materialized views.binlog minimalThe switch for the mode. |
| mv_refresh_concurrency | It specifies the maximum number of materialized view refresh tasks that can run concurrently within a tenant. |
User login related
Note
The parameters in the following table take effect only in MySQL-compatible mode.
Parameter name |
Feature description |
|---|---|
| connection_control_failed_connections_threshold | Specifies the threshold for user incorrect login attempts. |
| connection_control_min_connection_delay | Specifies the minimum duration for which a user account is locked after exceeding the number of failed login attempts. |
| connection_control_max_connection_delay | Specifies the maximum duration for lockout after failed login attempts. Once the duration reaches this maximum, it will no longer increase. |
Compression Algorithms
Parameter name |
Feature description |
|---|---|
| spill_compression_codec | Specifies the compression algorithm type to implement data compression during SQL execution. |
| ob_encoding_granularity | Sets the maximum number of rows for encoding a single microblock. |
Minor compaction and major compaction related
Parameter name |
Feature description |
|---|---|
| mds_minor_compact_trigger | It specifies the number of SSTables that trigger a minor compaction for MDS. |
| mds_compaction_mid_thread_score | Sets the number of DAG (direct acyclic graph) threads for medium-priority MDS compaction. |
| mds_compaction_high_thread_score | Sets the number of DAG (direct acyclic graph) threads for high-priority MDS compaction. |
| default_progressive_merge_num | Specifies the default number of progressive major compactions for a newly created table. |
| major_freeze_duty_time | Specifies the trigger time for daily scheduled freeze and major compaction. |
| major_compact_trigger | Specifies the number of freezes that trigger a major compaction. |
| minor_compact_trigger | Configures the threshold for the number of SSTables that triggers a minor compaction. |
| undo_retention | Specifies the duration for which the system retains multi-version data, in seconds. This setting controls the recycling of multi-version data during minor compactions. |
| merger_check_interval | Sets the scheduling interval for the major compaction status-check thread. |
| freeze_trigger_percentage | Sets the memory usage threshold for tenants that triggers a global freeze. |
| max_kept_major_version_number | Specifies the number of frozen versions to retain for data retention. |
| merge_stat_sampling_ratio | This parameter specifies the sampling rate for data column statistics during major compactions. |
| merge_thread_count | Sets the number of threads for daily major compaction. |
| merger_completion_percentage | It is used to set the percentage threshold for the number of replicas completed with major compactions. When this threshold is reached, the scheduling for the current round of major compactions is considered complete. |
| merger_switch_leader_duration_time | The time interval for batch leader switchover during daily major compaction. |
| merger_warm_up_duration_time | It specifies the warm-up time for the new baseline data during major compaction. |
Arbitration Service
Parameter name |
Feature description |
|---|---|
| arbitration_timeout | Specifies the timeout period for triggering automatic downgrade. |
Unsupported parameters
Parameter name |
Feature description |
|---|---|
| sql_work_area | Sets the workspace memory for a tenant. |
| max_stale_time_for_weak_consistency | Specifies how old data is allowed to be read in weak-consistency mode. |
