OceanBase logo

OceanBase

A unified distributed database ready for your transactional, analytical, and AI workloads.

DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Resources

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS

OceanBase Cloud

OceanBase Database

Tools

Connectors and Middleware

QUICK START

OceanBase Cloud

OceanBase Database

BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Company

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

International - English
中国站 - 简体中文
日本 - 日本語
Sign In
Start on Cloud

A unified distributed database ready for your transactional, analytical, and AI workloads.

DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS
OceanBase CloudOceanBase Database
ToolsConnectors and Middleware
QUICK START
OceanBase CloudOceanBase Database
BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

Start on Cloud
编组
All Products
    • Databases
    • iconOceanBase Database
    • iconOceanBase Cloud
    • iconOceanBase Tugraph
    • iconInteractive Tutorials
    • iconOceanBase Best Practices
    • Tools
    • iconOceanBase Cloud Platform
    • iconOceanBase Migration Service
    • iconOceanBase Developer Center
    • iconOceanBase Migration Assessment
    • iconOceanBase Admin Tool
    • iconOceanBase Loader and Dumper
    • iconOceanBase Deployer
    • iconKubernetes operator for OceanBase
    • iconOceanBase Diagnostic Tool
    • iconOceanBase Binlog Service
    • Connectors and Middleware
    • iconOceanBase Database Proxy
    • iconEmbedded SQL in C for OceanBase
    • iconOceanBase Call Interface
    • iconOceanBase Connector/C
    • iconOceanBase Connector/J
    • iconOceanBase Connector/ODBC
    • iconOceanBase Connector/NET
icon

OceanBase Database Proxy

V4.3.0

  • What is ODP?
  • Installation and deployment
    • Deployment modes
    • Deploy ODP by using OCP
    • Overview
    • Deploy ODP by using the CLI
    • Use OBD to deploy ODP
  • Basic operations
  • Configuration parameter
    • Parameter summary
    • View and modify parameters
    • Global parameters
      • cache_cleaner_clean_interval
      • check_tenant_locality_change
      • client_max_memory_size
      • client_tcp_user_timeout
      • cluster_count_high_water_mark
      • congestion_failure_threshold
      • default_inactivity_timeout
      • digest_sql_length
      • enable_async_log
      • enable_binlog_service
      • enable_cached_server
      • enable_flow_control
      • enable_global_ps_cache
      • enable_index_route
      • enable_prometheus
      • enable_qa_mode
      • enable_qos
      • enable_standby
      • enable_stat
      • enable_syslog_wf
      • enable_trace
      • flow_event_queue_threshold
      • grpc_thread_num
      • hot_upgrade_failure_retries
      • hot_upgrade_rollback_timeout
      • ip_listen_mode
      • local_bound_ip
      • log_dir_size_threshold
      • max_syslog_file_time
      • metadb_server_state_refresh_interval
      • monitor_stat_high_threshold
      • normal_pl_update_threshold
      • partition_location_expire_relative_time
      • prometheus_listen_port
      • protocol_diagnosis_level
      • proxy_hot_upgrade_check_interval
      • proxy_id
      • qos_stat_item_limit
      • refresh_idc_list
      • rpc_enable_retry_request_info_log
      • server_detect_mode
      • server_routing_mode
      • sock_packet_mark_out
      • sock_send_buffer_size_out
      • sql_table_cache_mem_limited
      • stack_size
      • syslog_level
      • tunnel_request_size_threshold
      • username_separator
      • work_thread_num
      • client_sock_option_flag_out
      • current_local_config_version
      • enable_congestion
      • enable_get_rslist_remote
      • enable_reroute
      • enable_sync_all_stats
      • log_file_percentage
      • monitor_stat_middle_threshold
      • rpc_force_srv_black_list
      • sequence_prefetch_threshold
      • server_state_refresh_interval
      • sock_recv_buffer_size_out
      • xflush_log_level
      • delay_update_entry_interval
      • rpc_server_net_max_pending_request
      • enable_monitor_stat
      • enable_primary_zone
      • client_max_connections
      • rpc_support_key_partition_shard_request
      • qa_mode_mock_public_cloud_slb_addr
      • server_tcp_keepidle
      • listen_port
      • stat_table_sync_interval
      • enable_extra_prometheus_metric
      • max_log_file_size
      • server_tcp_keepintvl
      • flow_low_water_mark
      • sock_packet_tos_out
      • enable_connection_diagnosis
      • rpc_server_entry_expire_time
      • enable_performance_mode
      • enable_sharding
      • block_thread_num
      • rpc_server_net_invalid_time_us
      • rpc_enable_global_index
      • enable_syslog_file_compress
      • enable_partition_table_route
      • server_detect_fail_threshold
      • fetch_proxy_bin_timeout
      • sequence_entry_expire_time
      • rpc_server_net_handler_expire_time
      • server_tcp_init_cwnd
      • need_convert_vip_to_tname
      • congestion_fail_window
      • rpc_net_timeout_base
      • fetch_proxy_bin_random_time
      • syslog_io_bandwidth_limit
      • monitor_item_limit
      • long_async_task_timeout
      • client_session_id_version
      • enable_cpu_isolate
      • proxy_local_cmd
      • rpc_max_server_table_entry_num
      • mem_leak_check_mod_name
      • ldg_info_refresh_interval
      • enable_sequence_prefetch
      • sock_option_flag_out
      • client_tcp_keepidle
      • proxy_mem_limited
      • monitor_item_max_idle_period
      • enable_transaction_internal_routing
      • enable_pl_route
      • detect_server_timeout
      • enable_xa_route
      • enable_cpu_topology
      • routing_cache_mem_limited
      • skip_proxy_sys_private_check
      • connect_observer_max_retries
      • client_tcp_keepintvl
      • task_thread_num
      • tenant_location_valid_time
      • rpc_enable_direct_expire_route_entry
      • config_server_refresh_interval
      • rpc_max_request_batch_size
      • hot_upgrade_exit_timeout
      • rpc_enable_congestion
      • min_keep_congestion_interval
      • shard_scan_thread_num
      • rpc_listen_port
      • enable_abort_conn_info
      • refresh_json_config
      • enable_obproxy_rpc_service
      • net_accept_threads
      • rootservice_list
      • server_tcp_user_timeout
      • enable_trans_detail_stats
      • enable_full_username
      • rpc_enable_force_srv_black_list
      • automatic_match_work_thread
      • monitor_cost_ms_unit
      • ignore_local_config
      • short_async_task_timeout
      • request_buffer_length
      • enable_async_pull_location_cache
      • sqlaudit_mem_limited
      • enable_bad_route_reject
      • flow_high_water_mark
      • rpc_srv_session_pool_inactive_timeout
      • grpc_client_num
      • enable_ob_protocol_v2_with_client
      • obproxy_sys_password
      • monitor_stat_low_threshold
      • cluster_expire_time
      • proxy_info_check_interval
      • rpc_request_timeout
      • rpc_period_task_interval
      • qos_stat_clean_interval
      • prometheus_sync_interval
      • skip_proxyro_check
      • monitor_log_level
      • local_bound_ipv6_ip
      • monitor_stat_dump_interval
      • mem_leak_check_class_name
      • enable_ob_protocol_v2
      • client_tcp_keepcnt
      • server_tcp_keepcnt
      • internal_cmd_mem_limited
      • enable_strict_stat_time
      • server_detect_refresh_interval
      • enable_strict_kernel_release
      • enable_client_connection_lru_disconnect
      • obproxy_config_server_url
      • enable_proxy_scramble
      • sql_table_cache_expire_relative_time
      • enable_causal_order_read
      • enable_client_ip_checkout
      • max_syslog_file_count
      • rpc_enable_reroute
      • idc_list_refresh_interval
      • prometheus_cost_ms_unit
      • min_congested_connect_timeout
      • refresh_rslist
      • log_cleanup_interval
      • delay_exit_time
      • stat_dump_interval
      • rpc_enable_parallel_handler
      • enable_cluster_checkout
      • enable_compression_protocol
      • flow_consumer_reenable_threshold
      • sequence_fail_retry_count
      • rpc_request_timeout_delta
      • slow_transaction_time_threshold
      • congestion_retry_interval
      • net_config_poll_timeout
      • enable_trace_stats
      • connection_diagnosis_option
      • enable_report_session_stats
      • default_buffer_water_mark
      • slow_proxy_process_time_threshold
    • Multi-level parameters
      • obproxy_force_parallel_query_dop
      • proxy_primary_zone_name
      • enable_transaction_split
      • obproxy_read_consistency
      • read_stale_retry_interval
      • rootservice_cluster_name
      • proxy_route_policy
      • route_diagnosis_level
      • proxy_tenant_name
      • proxy_idc_name
      • binlog_service_ip
      • query_digest_time_threshold
      • enable_server_ssl
      • compression_algorithm
      • obproxy_read_only
      • enable_cloud_full_username
      • observer_query_timeout_delta
      • enable_weak_reroute
      • target_db_server
      • slow_query_time_threshold
      • observer_sys_password
      • mysql_version
      • ob_max_read_stale_time
      • ssl_attributes
      • enable_read_write_split
      • observer_sys_password1
      • enable_client_ssl
  • Connection management
    • Principles
    • Network connection
    • Client session
    • Session status synchronization
    • Server session
  • Data routing
    • Factors affecting data routing
    • ODP routing
    • Follower latency threshold
    • Read/Write separation
    • Function partition key routing
      • String functions
      • Numeric calculation functions
      • Overview
      • FAQ
      • Date calculation functions
    • Intra-tenant routing
      • IP address-based routing
      • Global index table-based routing for strong-consistency reads
      • Partitioned table-based routing for strong-consistency reads
      • Replication table-based routing for strong-consistency reads
      • Strategy-based routing
      • Distributed transaction routing
      • Primary zone-based routing for strong-consistency reads
      • Forcible routing
      • Overview
      • Rerouting
  • Logs
    • obproxy.log
    • obproxy_stat.log
    • obproxy_error.log
    • obproxy_diagnosis.log
    • obproxy_digest.log
    • Overview
    • obproxy_slow.log
  • High availability mechanism
    • High availability testing
    • Overview
    • High availability of ODP services
    • High availability of OceanBase Database
  • Security and protocols
  • Operation and maintenance
    • Troubleshooting logic
    • Performance analysis
    • Show Trace
    • Routing diagnostics
      • Overview
      • Examples
      • Obtain diagnostic information
      • Diagnostic point troubleshooting
        • PARTITION_ENTRY_LOOKUP_DONE
        • PARTITION_ID_CALC_DONE
        • ROUTE_POLICY
        • HANDLE_RESPONSE
        • ROUTE_INFO
        • EXPR_PARSE
        • Overview
        • CONGESTION_CONTROL
        • RESOLVE_TOKEN
        • SQL_PARSE
        • FETCH_TABLE_RELATED_DATA
        • LOCATION_CACHE_LOOKUP
        • ROUTINE_ENTRY_LOOKUP_DONE
        • RESOLVE_EXPR
        • CALC_ROWID
        • CALC_PARTITION_ID
        • TABLE_ENTRY_LOOKUP_DONE
        • RETRY
    • Memory leak diagnostics
    • Connection diagnostics
  • Release Notes
    • Versioning rules
    • Enterprise Edition
      • V3.2
        • ODP Enterprise Edition V3.2.11
        • ODP Enterprise Edition V3.2.3.5
      • V4.2
        • ODP Enterprise Edition V4.2.3
        • ODP Enterprise Edition V4.2.2
        • ODP Enterprise Edition V4.2.1
      • V4.0
        • ODP Enterprise Edition V4.0.0
      • V4.1
        • ODP Enterprise Edition V4.1.0
      • V4.3
        • ODP Enterprise Edition V4.3.0
    • Community Edition
      • V4.2
        • ODP Community Edition V4.2.0
        • ODP Community Edition V4.2.1
        • ODP Community Edition V4.2.3
      • V4.0
        • ODP Community Edition V4.0.0
      • V4.1
        • ODP Community Edition V4.1.0

Download PDF

What is ODP? Deployment modes Deploy ODP by using OCP Overview Deploy ODP by using the CLI Use OBD to deploy ODP Basic operations Parameter summary View and modify parameters cache_cleaner_clean_interval check_tenant_locality_change client_max_memory_size client_tcp_user_timeout cluster_count_high_water_mark congestion_failure_threshold default_inactivity_timeout digest_sql_length enable_async_log enable_binlog_service enable_cached_server enable_flow_control enable_global_ps_cache enable_index_route enable_prometheus enable_qa_mode enable_qos enable_standby enable_stat enable_syslog_wf enable_trace flow_event_queue_threshold grpc_thread_num hot_upgrade_failure_retries hot_upgrade_rollback_timeout ip_listen_mode local_bound_ip log_dir_size_threshold max_syslog_file_time metadb_server_state_refresh_interval monitor_stat_high_threshold normal_pl_update_threshold partition_location_expire_relative_time prometheus_listen_port protocol_diagnosis_level proxy_hot_upgrade_check_interval proxy_id qos_stat_item_limit refresh_idc_list rpc_enable_retry_request_info_log server_detect_mode server_routing_mode sock_packet_mark_out sock_send_buffer_size_out sql_table_cache_mem_limited stack_size syslog_level tunnel_request_size_threshold username_separator work_thread_num client_sock_option_flag_out current_local_config_version enable_congestion enable_get_rslist_remote enable_reroute enable_sync_all_stats log_file_percentage monitor_stat_middle_threshold rpc_force_srv_black_list sequence_prefetch_threshold server_state_refresh_interval sock_recv_buffer_size_out xflush_log_level delay_update_entry_interval rpc_server_net_max_pending_request enable_monitor_stat enable_primary_zone client_max_connections rpc_support_key_partition_shard_request qa_mode_mock_public_cloud_slb_addr server_tcp_keepidle listen_port stat_table_sync_interval enable_extra_prometheus_metric max_log_file_size server_tcp_keepintvl flow_low_water_mark sock_packet_tos_out enable_connection_diagnosis rpc_server_entry_expire_time enable_performance_mode enable_sharding block_thread_num rpc_server_net_invalid_time_us rpc_enable_global_index enable_syslog_file_compress enable_partition_table_route server_detect_fail_threshold fetch_proxy_bin_timeout sequence_entry_expire_time rpc_server_net_handler_expire_time
OceanBase logo

The Unified Distributed Database for the AI Era.

Follow Us
Products
OceanBase CloudOceanBase EnterpriseOceanBase Community EditionOceanBase seekdb
Resources
DocsBlogLive DemosTraining & Certification
Company
About OceanBaseTrust CenterLegalPartnerContact Us
Follow Us

© OceanBase 2026. All rights reserved

Cloud Service AgreementPrivacy PolicySecurity
Contact Us
Document Feedback
  1. Documentation Center
  2. OceanBase Database Proxy
  3. V4.3.0
iconOceanBase Database Proxy
V 4.3.0
  • V 4.3.6
  • V 4.3.4
  • V 4.3.3
  • V 4.3.2
  • V 4.3.1
  • V 4.3.0
  • V 4.2.3
  • V 4.2.2
  • V 4.2.0 and earlier

Principles

Last Updated:2026-04-14 09:41:35  Updated
share
What is on this page
Background information
Features
Connection mapping
Connection feature

folded

share

Background information

OceanBase Database Proxy (ODP) offers users a range of features including database access and routing. By connecting directly to ODP, users can seamlessly utilize the OceanBase database. During the usage of database features, ODP interacts with OBServer nodes, ensuring a transparent and streamlined interaction process. Notably, connection management plays a crucial role in facilitating this process.

Features

ODP's connection management provides the following features:

  1. Proxy feature: ODP functions as both a client and a server. It ensures that the interaction behavior conforms to the MySQL protocol.

  2. Connection feature: ODP implements many connection functionalities, including accessing different clusters and tenants, and supporting primary and backup databases, prepared statements in distributed architecture, and commands like kill and show processlist.

  3. High availability feature: ODP can handle issues such as timeouts and changes in server or network status, which shields users from backend exceptions.

Connection mapping

When you establish a connection between a client and a standalone database, there is only one physical connection between them, as shown in the following figure.

Standalone database

However, when you use ODP to establish a connection between a client and an OceanBase database, the situation is different. As shown in the following figure, there is one physical connection between the client and ODP, while there may be multiple physical connections between ODP and OBServer nodes. The connection between the client and ODP is referred to as a client connection, and the connection between ODP and an OBServer node is referred to as a server connection.

Distributed database

If the data accessed by the client is stored on different OBServer nodes, ODP will establish multiple physical connections with these OBServer nodes. It will also manage and reuse these connections, presenting only one logical connection from the client's perspective. Based on this, ODP can provide a wide range of features, such as primary/standby database splitting, read/write splitting, data access request routing for partitioned tables, prepared statements in distributed architecture, and backend exception shielding.

Connection feature

ODP changes the mapping mode of database connections to M:N. Therefore, some connection functionalities require additional handling. For example, when using the show processlist command to query the number of connections, users want to query the number of connections between the client and ODP, rather than the number of connections between ODP and OBServer nodes.

The following describes several common connection functionalities:

  • Connection stickiness

    ODP has not yet implemented status synchronization for all functionalities, such as transaction status, temporary table status, and cursor status. For these functionalities, ODP will only forward subsequent requests to the node where the status starts, eliminating the need for status synchronization. However, the drawback is that the advantages of a distributed system cannot be fully leveraged. Therefore, ODP will gradually support status synchronization for related functionalities in the order of significance.

  • Combined use of show processlist and kill

    The show processlist command is used to display the connections between the client and the server. For ODP, this command displays only the connection between the client and ODP, not the connections between ODP and OBServer nodes.

    The kill command is used to terminate a client connection. When a client connection is closed, ODP will also close the corresponding server connections. Before using kill to terminate a client connection, you must first obtain the connection ID by using show processlist.

  • Impact on load balancing

    Because ODP handles show processlist and kill, both commands must be sent to the same ODP node to work properly.

    In scenarios that require load balancing, such as a public cloud, multiple ODP nodes are mounted to a load balancer. In this case, if show processlist and kill are sent over two different connections, the load balancer may forward the requests to different ODP nodes. Therefore, we recommend that you do not use these commands in such scenarios.

Previous topic

target_db_server
Last

Next topic

Session status synchronization
Next
What is on this page
Background information
Features
Connection mapping
Connection feature