This topic lists all system parameters in OceanBase Cloud Platform (OCP) for reference by OCP admins. After a parameter is modified, the modification takes effect in about 10 minutes by default. Some parameters only take effect after OCP Server restarts. The need for restart is indicated in the description column of the tables.
Global configuration
| Parameter | Default value | Description |
|---|---|---|
| ocp.site.url | http://localhost:8080 |
The URL for accessing the OCP console. The URL must start with http or https. It must contain the virtual IP (VIP) address, domain name, and port number, and not end with a forward slash (/). Example: http://localhost:8080. |
| ocp.config-url.site.url | - | The URL for accessing the OCP config url service. The default value is empty, indicating that the URL specified for the ocp.site.url parameter is used. If the config url service is deployed separately, you must set a value different from that of ocp.site.url. |
| ocp.config-url.use-request-address | TRUE | The URL for the requests used by responses in the config url service. The default value is TRUE. If it is set to FALSE, responses will use the URL specified for the ocp.config-url.site.url parameter. |
| ocp.system.default.timezone | - | The default time zone of OCP. If this parameter is not specified, the default time zone of the system is used. A restart is required for a modification to take effect. |
| ocp.system.default.language | zh-CN | The system default language, which is not the frontend display language. The default value of zh-CN is used if this parameter is not specified. A restart is required for a modification to take effect. |
| ocp.web.tracking.enabled | false | Specifies whether to enable the telemetry feature of OCP. By default, the telemetry feature is disabled in the Enterprise Edition and enabled in the Community Edition. The telemetry feature collects usage information of users in some scenarios and shares desensitized usage information with OceanBase Database to improve the product experience. For example, the information helps you understand how users use OceanBase Database, enabling improvements in user experience. You can run the update config_properties set value = 'false' where `key` = 'ocp.web.tracking.enabled'; command in MetaDB of OCP to disable this feature. |
Security and logon
| Parameter | Default value | Description |
|---|---|---|
| server.servlet.session.timeout | 30m | The timeout value for session logons and sessions. Default value: 30m. Minimum value: 60s. If no unit is specified, the default unit of second is used. |
| ocp.iam.auth | local | The web page logon option. Valid values: local (for OCP accounts in the local MetaDB) and buc (for Alibaba Group employee accounts). Default value: local. A restart is required for a modification to take effect. |
| ocp.iam.csrf.enabled | TRUE | Specifies whether to enable protection against cross-site request forgery (CSRF). We recommend that you enable this feature for web-based logons. Default value: TRUE. A restart is required for a modification to take effect. |
| ocp.iam.login.max-attempts | 5 | The maximum number of consecutive unsuccessful logon attempts allowed. When this threshold is exceeded, the client IP address is temporarily blocked. Default value: 5. |
| ocp.iam.login.lockout-minutes | 30 | The amount of time a client IP address is blocked after the maximum number of unsuccessful logon attempts is exceeded. Default value: 30. Unit: minutes. |
| ocp.iam.login.client.max-attempts | 10 | The maximum number of consecutive logon attempts allowed for a client. When this threshold is exceeded, the client IP address is temporarily blocked. Default value: 10. |
| ocp.iam.login.client.lockout-minutes | 10 | The amount of time a client IP address is blocked after the maximum number of logon attempts is exceeded. Default value: 10. Unit: minutes. |
Monitoring
| Parameter | Default value | Description |
|---|---|---|
| ocp.monitor.collect.obcluster.enabled | true | Specifies whether to collect the monitoring data of OceanBase clusters. If this parameter is set to true, the monitoring data of all OceanBase clusters is collected. |
| ocp.monitor.collect.obproxy.enabled | true | Specifies whether to collect the monitoring data of OBProxies. If this parameter is set to true, the monitoring data of all OBProxy clusters is collected. |
| ocp.monitor.collect.host.enabled | true | Specifies whether to collect the monitoring data of hosts. If this parameter is set to true, the monitoring data of all hosts is collected. |
| ocp.monitor.data.retention-days | {"ob_cluster_system_event":31,"ocp_metric_data_1":8,"ocp_metric_data_60":31,"metric_hour_data":1098,"metric_daily_data":1098} | The number of days for which the monitoring data is retained. The key is the name of the table where the data is stored, and the value is the number of days for data retention. A restart is required for modifications to take effect. |
Performance diagnostics
The following table describes the parameters for SQL performance diagnostics.
| Parameter | Default value | Description |
|---|---|---|
| ocp.perf.sql-diag.awful-performance-index-used-config | {"enabled":true, "cpuTimeLimitUs":100000, "execPsLimit":5.0, "fullLogicalReadsLimit":10000} | The diagnostic parameter for poor performance despite the use of index.
|
| ocp.perf.sql-diag.cpu-time-proportion-high-config | {"enabled":true, "cpuTimeLimitUs":10000, "execPsLimit":10.0, "maxCpuTimeLimitUs":30000, "affectedRowsLimit":100, "execLimit":30, "sqlCountLimit":20, "cpuTimePercentLimit":20} | The diagnostic parameter for a high CPU time percentage for execution.
Diagnostic criteria: During the diagnostic period, if all the following conditions are met, the CPU time percentage is considered high: (1) The percentage of the CPU time of the diagnosed SQL query to the CPU time of the tenant exceeds $cpuTimePercentLimit. (2) The total number of SQL executions by the tenant exceeds $execLimit. (3) The number of unique SQL queries executed by the tenant is greater than $sqlCountLimit. |
| ocp.perf.sql-diag.database-white-list | oceanbase,information_schema,mysql,__recyclebin,sys,__public | The names of the databases to be skipped in SQL diagnostics. |
| ocp.perf.sql-diag.execution-spike-config | {"enabled":true, "cpuTimeLimitUs":3000, "execPsLimit":5.0, "pointsLimit":5, "compareMin":20, "avgExecutionMultiply": {"0":6, "1":5, "5":4, "10":3, "50": 2.5, "100": 2, "500": 1.6}, "stdExecutionMultiply": {"0":80, "1":60 , "3": 30,"5":20, "10":15, "20":8, "30":6, "50":5, "80":4}} | The diagnostic parameter for execution spikes.
1. Find the SQL queries that meet the diagnostic conditions within the first $compareMin after the diagnostics starts. Calculate the average execution frequency per minute (avg_exec_ps) of the SQL queries, the standard deviation of the execution frequency (std_exec_ps) in the first $compareMin, and the ratio of the standard deviation to the average (range_percent). In other words, the following statistics are calculated: 2. Then, calculate the average number of executions per second (exec_ps) of the SQL query. If the exec_ps parameter meets all the following conditions at the same time, the SQL query is considered an execution spike: Note |
| ocp.perf.sql-diag.index-diagnoser-config | {"enabled":true,"schedulePeriodMin":5, "coreThreadSize":10, "maxThreadSize":50,"maxQueueSize":10000,"diagPeriodSec":300,"diagOffsetSec":60,"maxDiagPeriodSec":1800} | The parameter for SQL index diagnostics. It takes effect after a restart. We recommend that you leave this parameter unchanged. |
| ocp.perf.sql-diag.ineffective-hint-config | {"enabled":true, "execPsLimit":5.0, "cpuTimeLimitUs":20000} | The diagnostic parameter for inactive hints.
Diagnostic criteria: If the index specified in the hint is inconsistent with that of the execution plan, the hint is inactive. |
| ocp.perf.sql-diag.perf-diagnoser-config | {"enabled":true,"schedulePeriodMin":5, "coreThreadSize":10, "maxThreadSize":50,"maxQueueSize":10000,"diagPeriodSec":300,"diagOffsetSec":60,"maxDiagPeriodSec":1800} | The parameter for SQL performance diagnostics. It takes effect after a restart. We recommend that you leave this parameter unchanged. |
| ocp.perf.sql-diag.performance-degradation-after-plan-changed-config | {"enabled":true, "compareMin":5, "cpuTimeMultiply": {"0":50, "1":30, "10":10, "100":8, "1000":6}} | The diagnostic parameter for changes in the execution plan and performance degradation.
|
| ocp.perf.sql-diag.performance-degradation-config | {"enabled":true, "cpuTimeLimitUs":10000, "execPsLimit":5.0, "maxCpuTimeLimitUs":30000, "affectedRowsLimit":100, "execLimit":5, "compareMin":20, "cpuTimeMultiply": {"0":50, "1":30, "10":10, "100":8, "1000":6}} | The diagnostic parameter for performance degradation.
Diagnostic criteria: A baseline number of executions is taken as the reference for comparison. The baseline number of executions must be greater than $execLimit. Otherwise, it cannot be used as the reference for comparison. After the reference for comparison is determined, the performance is considered degraded when the SQL query under diagnostics meets all the following conditions at the same time:
|
| ocp.perf.sql-diag.query-timeout | 30000000 | The timeout threshold of SQL diagnostic queries (μs). |
| ocp.perf.sql-diag.row-lock-contention-high-config | {"enabled":true, "execPsLimit":0, "cpuTimeLimitUs":1000, "elapsedTimeLimitUs":0} | The diagnostic parameter for high row lock contention.
Note The elapsedTimeLimitUs parameter is used only when it is configured. Diagnostic criteria: An SQL query is considered to have caused high row lock contention if its type is %select%for%update%. |
| ocp.perf.sql-diag.table-scan-index-not-exists-config | {"enabled":true, "execPsLimit":1.0, "cpuTimeLimitUs":20000} | The diagnostic parameter for the full-table scan without any indexes available.
Diagnostic criteria: No index is available if the following conditions are met:
|
| ocp.perf.sql-diag.table-scan-index-not-used-config | {"enabled":true, "execPsLimit":1.0, "cpuTimeLimitUs":2000} | The diagnostic parameter for a full-table scan without using the index.
Diagnostic criteria: The index is not used. |
| ocp.perf.sql.diag-plan-change-config | {"enabled":true,"schedulePeriodMin":5, "coreThreadSize":10, "maxThreadSize":50,"maxQueueSize":10000,"diagPeriodSec":300,"diagOffsetSec":300,"maxDiagPeriodSec":1800} | The parameter for scheduling of diagnostic tasks. We recommend that you leave this parameter unchanged. |
| ocp.perf.sql.max-query-range | 24h | The maximum length of time range for querying SQL performance data. Default value: 24h. If the time range of a query you specified on the TopSQL or SlowSQL tab exceeds the value of this parameter, an error is returned when you submit the query. |
| ocp.perf.sql.plan-hist-level0-granularity | 30s | The time interval for OCP to aggregate the performance data of the Level 0 SQL execution plans, or plans for short. By default, OCP collects and aggregates the performance data of plans once every 30s. The performance data is stored in specific tables for use in TopSQL diagnostics. You can increase this value to relieve the storage pressure for the MetaDB and MonitorDB of OCP. |
| ocp.perf.sql.plan-hist-level0-query-interval | 2h | The maximum time range for querying the Level 0 plan performance data. If the specified query time range exceeds this value, OCP queries data tables with larger aggregation time intervals. |
| ocp.perf.sql.plan-hist-level0-retention | 5d | The period for retaining performance data partitions of Level 0 plans. Performance data partitions are created by day. By default, the data is retained for only five days. Partitions that have been retained for more than five days are automatically deleted. |
| ocp.perf.sql.prepare-partition-ahead | 8 | The number of days for creating performance data partitions before the diagnostics. You need to specify the period in days. |
| ocp.perf.sql.query-timeout | 30000000 | The timeout threshold for SQL performance data queries (μs). |
| ocp.perf.sql.sql-hist-level0-granularity | 30s | The time interval for OCP to aggregate the performance data of the Level 0 SQL queries. Note To improve the performance of monitoring metric collection, OCP collects and aggregates SQL performance data at different time intervals for TopSQL diagnostics. The data is divided into three levels and is collected and stored in table partitions of the corresponding levels by day. The retention period for performance data partitions is specified by a fixed parameter. For the same type of performance data, a larger time interval requires less storage space. |
| ocp.perf.sql.sql-hist-level0-query-interval | 2h | The maximum time range for querying the Level 0 SQL performance data. If the time range you specified on the TopSQL tab exceeds this value, OCP queries the Level 1 SQL performance data tables. |
| ocp.perf.sql.sql-hist-level0-retention | 2d | The retention period for partitions of Level 0 SQL performance data. Partitions for Level 0 SQL performance data are created by day. By default, the MetaDB and MonitorDB of OCP only retains partitions created in the last two days. |
| ocp.perf.sql.sql-hist-level1-granularity | 2m | The time interval for OCP to aggregate the performance data of the Level 1 SQL queries. By default, OCP aggregates SQL performance data once every 2 minutes and writes the data into Level 2 SQL performance data tables. |
| ocp.perf.sql.sql-hist-level1-query-interval | 12h | The maximum time interval for querying the Level 1 SQL performance data. If the time range you specified on the TopSQL tab exceeds this value, OCP queries the Level 2 SQL performance data tables. |
| ocp.perf.sql.sql-hist-level1-retention | 8d | The retention period for partitions of Level 1 SQL performance data. |
| ocp.perf.sql.sql-hist-level2-granularity | 10m | The time interval for OCP to aggregate the performance data of the Level 2 SQL queries. By default, OCP aggregates SQL performance data once every 10 minutes and writes the data into Level 2 SQL performance data tables. |
| ocp.perf.sql.sql-hist-level2-query-interval | 48h | The maximum time interval for querying the Level 2 SQL performance data. Regardless of whether the time range you specified exceeds this value, OCP queries the Level 2 SQL performance data tables. |
| ocp.perf.sql.sql-hist-level2-retention | 15d | The retention period for partitions of Level 2 SQL performance data. |
| ocp.perf.ash.max-analyse-range | 60m | The maximum analysis range of the Active Sessions History (ASH) report of OceanBase Database. |
| ocp.perf.ash.earliest-analyse-time | 8 | The analysis start time recorded in the ASH report of OceanBase Database. |
Alerting
| Parameter | Default value | Description |
|---|---|---|
| ocp.alarm.send.enabled | true | Specifies whether to send alerts. This parameter is set to true by default. |
| ocp.alarm.datasource.slow-sql-exclude-obclusters | sys#* | Specifies the clusters in which the slow SQL statements of the data source are not alerted, such as *#cluster1,tenant2#cluster2. |
| ocp.alarm.datasource.trans-stat-exclude-obclusters | Specifies the clusters in which the transactions of the data source are not alerted, such as *#cluster1,tenant2#cluster2. | |
| ocp.alarm.detect.too-many-targets-alarm-threshold | 20 | Specifies the maximum number of alerted instances that hit the same alert rule. If the number exceeds the specified value, the alerts for those instances are merged into one. |
| ocp.alarm.notification.expired-days | 90 | Specifies the number of days that an alert message is archived. After the specified number of days, the archived message is stored in the history database and the corresponding alert event is deleted. |
| ocp.alarm.host.property | svr_ip | Specifies the information displayed for an alerted host. If you set the value to svr_ip, the IP address of the alerted host is displayed. If you set the value to host_name, the name of the alerted host is displayed. |
Backup and restore
| Parameter | Default value | Description |
|---|---|---|
| ocp.backup.alarm.backup-data-retention-days | 7 | The number of days for which backup data is retained. |
| ocp.backup.alarm.backup-liboblog-expire-days | 7 | The number of days for which the backup liboblog is retained. |
| ocp.backup.storage.collect.task.timeout | 10800000 | The timeout value for each directory storage collection task during backup and restore. |
| ocp.backup.storage.collect.command.timeout | 3600000 | The timeout value for each data collection command during a storage collection task of backup and restore. This parameter is used when a storage collection task requires more than one data collection command. |
| ocp.backup.storage.collect.period.minutes | 180 | The time interval, in minutes, between data collection commands during a storage collection task of backup and restore. |
| ocp.backup.storage.collect.schedule.enabled | true | Specifies whether to enable periodical storage collection tasks during backup and restore. This parameter is set to true by default. To disable the feature, set this parameter to false. |
| ocp.backup.storage.collect.max.retry.times | 2 | The maximum number of retries for each storage collection task during backup and restore. |
| ocp.backup.storage.collect.host.task.concurrency | 8 | The maximum concurrency of storage collection tasks on each host during backup and restore. |
| ocp.backup.storage.collect.obtain-idle-host-interval-seconds | 60 | The time interval, in seconds, between retries to obtain an idle host during a storage collection task of backup and restore. |
| ocp.backup.storage.collect.obtain-idle-host-times | 60 | The maximum number of retries to obtain an idle host during a storage collection task of backup and restore. |
| ocp.backup.restore-time-pre-check.enabled | true | Specifies whether to check whether the restore time is within the period during which data can be restored before the restore is initiated. By default, this parameter is set to true. |
| ocp.backup.oss.support.cname | true | Specifies whether to support cname when OSS is accessed during backup and restore. By default, this parameter is set to true. |
| ocp.backup.backup-command.timeout | 300 | The timeout period of a backup command, in seconds. |
Log analysis
| Parameter | Default value | Description |
|---|---|---|
| ocp.log.regex.observer | %s/log/* | The regular expression for the observer log. |
| ocp.log.regex.obproxy | /home/admin/logs/obproxy/log/* | The regular expression for the obproxy log. |
| ocp.log.regex.host | /var/log/message* | The regular expression for the host log. |
| ocp.analyze.enabled | false | Specifies whether to enable the data middle platform. |
| ocp.analyze.ob.trace.enabled | false | Specifies whether to enable trace data capture. |
| ocp.analyze.ob.log.enabled | false | Specifies whether to enable OceanBase log capture. |
| ocp.analyze.es.client.addresses | The list of addresses of the client roles of the data middle platform Elastic Search (ES). The addresses are separated with a comma (,). | |
| ocp.analyze.es.client.username | Optional. The username for authentication of the connection to ES. | |
| ocp.analyze.es.client.password | Optional. The password for authentication of the connection to ES. | |
| ocp.analyze.es.index.keep.days | 7 | The number of days that the ES indexes are retained. |
| ocp.analyze.es.index.shards | 12 | The number of shards of each ES index. |
| ocp.analyze.es.index.replicas | 1 | The number of replicas of each ES index. |
| ocp.ob.slowsql.threshold | The time threshold, in microseconds, for OB-Agent to identify and collect a query of the OceanBase cluster as a slow query. |
Inspection
| Parameter | Default value | Description |
|---|---|---|
| ocp.inspection.scrips.sequence-availability.threshold-percentage | 0.8 | The threshold, in percentage, above which a sequence is identified as available during the inspection. |
| ocp.monitor.exporter.check-active-period-seconds | 60 | The time interval, in seconds, at which the status of active exporters is checked. |
| ocp.monitor.exporter.check-inactive-period-seconds | 50 | The time interval, in seconds, at which the status of inactive exporters is checked. |
OceanBase connection management
| Parameter | Default value | Description |
|---|---|---|
| obsdk.print.sql | true | Specifies whether to print SQL statements in OceanBase connection management. Default value: true. |
| obsdk.slow.query.threshold.millis | 1000 | The threshold for slow queries in OceanBase connection management. Default value: 1000. Unit: milliseconds. |
| obsdk.operation.global.timeout.millis | 300000 | The global timeout period for O&M commands in OceanBase connection management. Valid values: 10000 to 7200000. Default value: 300000. Unit: milliseconds. |
Host
| Parameter | Default value | Description |
|---|---|---|
| ocp.host.remote-command.default-timeout-millis | 30000 | The default timeout value for remote commands on the host. Unit: milliseconds. |
| ocp.host.ssh-ping.max-delay-millis | 3000 | The maximum time difference between the request and response for a whoami command sent by the OCP Server through SSH. When the actual delay exceeds this value, some operations such as adding a host may be affected. Unit: milliseconds. |
| ocp.host.check.clock-diff.enable | false | Specifies whether to check the difference between the time of OCP Server and that of the managed hosts. |
| ocp.host.check.clock-diff.max-diff | 50 | The maximum difference between the time of OCP Server and that of the managed hosts. When the actual time difference exceeds this value, host management and monitoring can be affected. Unit: milliseconds. |
| ocp.host.check.unavailable-time-threshold | 60000 | The maximum offline duration of OCP-Agent, in milliseconds. If the offline duration of OCP-Agent exceeds the specified value, an alert is sent, indicating that the host is unavailable. |
OCP-Agent
| Parameter | Default value | Description |
|---|---|---|
| ocp.agent.home.path.prefix | /home/admin | The custom installation path of OCP-Agent. |
| ocp.agent.manager.http.port | 62888 | The O&M port of OCP-Agent. |
| ocp.agent.monitor.http.port | 62889 | The monitoring port of OCP-Agent. |
| ocp.agent.auth.metric-auth-enabled | true | Specifies whether to enable authentication for the monitoring API of OCP-Agent. |
| monagent.log.level | info | The log level of the ocp_monagent process. Default value: info. |
| mgragent.log.level | info | The log level of the ocp_mgragent process. Default value: info. |
File management
| Parameter | Default value | Description |
|---|---|---|
| ocp.file.local.dir | #{systemProperties['user.home'].concat('/data/files')} | The local storage path of files in the OCP file module. |
| ocp.file.file-server.bucket.type | LOCAL | The default type of the file server, such as LOCAL and OSS. Default value: LOCAL. |
Flow control
| Parameter | Default value | Description |
|---|---|---|
| ocp.iam.rate-limit.enabled | true | Specifies whether flow control is enabled on the global level. This parameter can be dynamically enabled and disabled. |
| ocp.iam.rate-limit.internal-api.connect.timeout | 1000 | The connection timeout value for calls made to the internal flow control APIs. Unit: milliseconds. A restart is required for a modification to take effect. |
| ocp.iam.rate-limit.internal-api.read.timeout | 1000 | The read timeout value for calls made to the internal flow control APIs. Unit: milliseconds. A restart is required for a modification to take effect. |
| ocp.iam.rate-limit.task.schedule.period | 3 | The scheduling cycle of primary and secondary role management tasks in flow control. Unit: seconds. A restart is required for a modification to take effect. |
| ocp.iam.rate-limit.on-user.enabled | true | Specifies whether flow control applies to users. This parameter can be dynamically enabled and disabled. |
| ocp.iam.rate-limit.on-ip.enabled | false | Specifies whether flow control applies to IP addresses. This parameter can be dynamically enabled and disabled. |
System logs
| Parameter | Default value | Description |
|---|---|---|
| logging.file.name | ${user.home}/logs/ocp/ocp.log | The full log file name, which contains the absolute path and the file name. System environment variables in Linux and macOS, such as ${HOME}, and Java system variables, such as ${user.home}, are supported. Default value: ${user.home}/logs/ocp/ocp.log. |
| logging.file.max-history | 100 | The maximum number of days to keep archived log files. This parameter is used after logging.file.name is configured. |
| logging.file.max-size | 100MB | The size of a log file, such as 30MB or 1GB. This parameter is used after logging.file.name is configured. Default value: 100MB. |
| logging.file.total-size-cap | 10GB | The total size of log files, such as 1GB. This parameter is used after logging.file.name is configured. Default value: 10GB. |
| logging.level.org.hibernate.SQL | INFO | The log level of SQL statements in the Spring framework. Default value: INFO. |
| logging.level.web | INFO | The log level of the Spring web framework. Default value: INFO. |
| logging.level.com.alipay.ocp | INFO | The log level of OCP. Default value: INFO. |
| logging.level.com.oceanbase.ocp | INFO | The log level of OCP. Default value: INFO. |