OceanBase
English日本語简体中文
Docs Home
Products
Integrations
Release Notes

Databases

OceanBase DatabaseOceanBase Cloud OceanBase Best Practices

Tools

OceanBase Cloud PlatformOceanBase Migration ServiceOceanBase Developer CenterOceanBase Migration AssessmentOceanBase Admin ToolOceanBase Loader and DumperOceanBase DeployerKubernetes operator for OceanBaseOceanBase Diagnostic Tool OceanBase Binlog Service

Connectors and Middleware

OceanBase Database Proxy OceanBase Connector/C OceanBase Connector/J OceanBase Connector/ODBC OceanBase Connector/NETOceanBase Command-Line Client

Databases

OceanBase DatabaseOceanBase Cloud OceanBase Best Practices

Connectors and Middleware

OceanBase Database Proxy OceanBase Connector/C OceanBase Connector/J OceanBase Connector/ODBC OceanBase Connector/NETOceanBase Command-Line Client

Tools

OceanBase Cloud PlatformOceanBase Migration ServiceOceanBase Developer CenterOceanBase Migration AssessmentOceanBase Admin ToolOceanBase Loader and DumperOceanBase DeployerKubernetes operator for OceanBaseOceanBase Diagnostic Tool OceanBase Binlog Service
OceanBase DatabaseOceanBase Cloud ToolsConnectors and MiddlewareLifecycle Support Policy

OceanBase Database Proxy

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

Download PDF

Document Feedback
  1. Documentation Center
  2. OceanBase Database Proxy
  3. V4.3.3

sql_firewall_config

Last Updated:2026-09-04 08:23:04

Rules
Examples

sql_firewall_config specifies the blocking rules of the firewall.

Note

This parameter is introduced in OceanBase Database Proxy (ODP) V4.3.2.

Attribute
Description
Parameter type String
Default value Empty string
Value range A JSON string that conforms to specific rules. For more information about rules, see the Rules section of this topic.
Effective upon ODP restart No

Rules

A JSON string can contain the following fields.

Field
Description
limitName The name of the blocking rule to apply, which is a string. Names of blocking rules can be duplicate. The only impact is the display of information when throttling is triggered.
qps The maximum queries per second (QPS) allowed by the rule for SQL statements, which is an integer string. A QPS equal to or less than 0 specifies to block SQL statements.
rule A JSON object of attributes. Different attributes indicate different trigger conditions. Supported attributes are sqlType, keyWords, tableName, and scene. If multiple trigger conditions are specified, the blocking rule is triggered only when all trigger conditions are met.
rule.sqlType An array of SQL types. If this field is left empty, all SQL statements are blocked. If an SQL statement matches a specified SQL type, the blocking rule is triggered. Valid values are "ALL" (specifies to block all statements), "SELECT", "UPDATE", "INSERT", "REPLACE", "DELETE", and "MERGE".
rule.keyWords The value is a string and can be a regular expression. If an SQL statement matches the expression rule, the blocking rule is triggered.
rule.tableName The value is a string and can be a regular expression. If the table name in an SQL statement matches the specified value, the blocking rule is triggered. If this field is not specified, the blocking rule is triggered regardless of the table name in the statement.
rule.scene The value is a string. Valid values:
  • "Nowhere": The SQL statement does not contain a WHERE condition.
  • "Uselike": The SQL statement contains a LIKE condition.
status The value is a string. Valid values:
  • "OBSERVER": The blocking rule is being observed. An SQL statement that triggers the rule will be logged in the obproxy_limit.log file but will not be blocked.
  • "RUNNING": The blocking rule is in effect. An SQL statement that triggers the rule will be logged in the obproxy_limit.log file and blocked.
  • "SHUTDOWN": The blocking rule does not take effect.
username The target users of the blocking rule, which is a string array. If this field is not specified or does not exist, the target users are all users. If this field is specified, the target users are matched by username.
inUse Specifies whether to enable the blocking rule. The value is of the Boolean type. The default value is true. If the value is false, the blocking rule is disabled.

Here are some configuration examples:

  • Block SELECT, INSERT, and DELETE statements, with the blocking rule disabled.

    {"limiters":
        [
            {"limitName":"limit_sql_types_1","qps":"0","rule":{"sqlType":["SELECT", "INSERT", "DELETE"]}, "status":"RUNNING","inUse":false}
        ]
    }
    
  • Block SELECT, UPDATE, and DELETE statements without the where keyword, with the blocking rule enabled.

    {"limiters":
        [
            {"limitName":"limit_no_where_1","qps":"0","rule":{"scene":"Nowhere", "sqlType":["SELECT", "UPDATE", "DELETE"]}, "status":"RUNNING", "inUse":true}
        ]
    }
    
  • Monitor SELECT, UPDATE, and DELETE statements with the like keyword, with the blocking rule enabled. Such SQL statements are recorded in the obproxy_limit.log file and not actually blocked.

    {"limiters":
        [
            {"limitName":"limit_use_like_1","qps":"0","rule":{"scene":"Uselike", "sqlType":["SELECT", "UPDATE", "DELETE"]}, "status":"OBSERVER", "inUse":true}
        ]
    }
    
  • Block SQL statements with the ORDER BY or GROUP BY clause that are initiated by user1 or user2, with the blocking rule enabled.

    {"limiters":
        [
            {"limitName":"limit_key_word_no_order_by_or_group_by","qps":"0","rule":{"keyWords":"ORDER\s+BY|GROUP\s+BY"}, "status":"RUNNING", "username":["user1","user2"],"inUse":true},
            {"limitName":"limit_use_like_1","qps":"0","rule":{"scene":"Nowhere", "sqlType":["SELECT", "UPDATE"]}, "status":"OBSERVER", "inUse":true},
            {"limitName":"limit_no_where_1","qps":"0","rule":{"scene":"Nowhere", "sqlType":["UPDATE", "DELETE"]}, "status":"RUNNING", "inUse":true}
        ]
    }
    

Examples

  • Update firewall settings

    Here is an example of updating tenant-level firewall settings. For information about how to update multi-level parameters, see the Modify parameters section in the View and modify parameters topic.

    replace into proxy_config(cluster_name, tenant_name, name, value, config_level) values ('test_cluster', 'test_tenant', 'sql_firewall_config', '{"limiters":
        [
            {"limitName":"limit_sql_types_1","qps":"0","rule":{"sqlType":["SELECT", "INSERT", "DELETE"]}, "status":"RUNNING","inUse":false}
        ]
    }', 'LEVEL_TENANT');
    
  • Query firewall settings

    Here is an example of querying VIP-level firewall settings. For information about how to query multi-level parameters, see the View parameters section in the View and modify parameters topic.

    select * from proxy_config where vid = 0 and vip = '10.10.10.1' and vport = 2 and name = 'sql_firewall_config';
    
  • Delete firewall settings

    • Delete VIP-level firewall settings

      delete from proxy_config where vid = 0 and vip = '10.10.10.1' and vport = 2 and name = 'sql_firewall_config';
      
    • Delete global firewall settings

      replace into proxy_config(name, value, config_level) values ('sql_firewall_config', '', 'LEVEL_GLOBAL');
      

Previous topic

slow_query_time_threshold
Last

Next topic

ssl_attributes
Next
on this page
Rules
Examples