OceanBase logo

OceanBase

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

Product Overview
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

OceanBase

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

Product Overview
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

SQL - V4.2.5

    Download PDF

    OceanBase logo

    The Unified Distributed Database for the AI Era.

    Follow Us
    Products
    OceanBase CloudOceanBase EnterpriseOceanBase Community EditionOceanBase seekdb
    Resources
    DocsBlogLive DemosTraining & CertificationTicket
    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
    3. SQL
    4. V4.2.5
    iconOceanBase Database
    SQL - V 4.2.5
    Databases
    • OceanBase Database
    • OceanBase Cloud
    • OceanBase Tugraph
    • Interactive Tutorials
    • OceanBase Best Practices
    Tools
    • OceanBase Cloud Platform
    • OceanBase Migration Service
    • OceanBase Developer Center
    • OceanBase Migration Assessment
    • OceanBase Admin Tool
    • OceanBase Loader and Dumper
    • OceanBase Deployer
    • Kubernetes operator for OceanBase
    • OceanBase Diagnostic Tool
    • OceanBase Binlog Service
    Connectors and Middleware
    • OceanBase Database Proxy
    • Embedded SQL in C for OceanBase
    • OceanBase Call Interface
    • OceanBase Connector/C
    • OceanBase Connector/J
    • OceanBase Connector/ODBC
    • OceanBase Connector/NET
    SQL
    KV
    • V 4.6.0
    • V 4.4.2
    • V 4.3.5
    • V 4.3.3
    • V 4.3.1
    • V 4.3.0
    • V 4.2.5
    • V 4.2.2
    • V 4.2.1
    • V 4.2.0
    • V 4.1.0
    • V 4.0.0
    • V 3.1.4 and earlier

    OceanBase Database Enterprise Edition V3.2.4

    Last Updated:2026-04-27 03:14:13  Updated
    Share
    What is on this page
    V3.2.4 BP4
    Version information
    Enhanced features
    Behavioral changes
    Parameter changes
    System variable changes
    Bug fixes
    V3.2.4 BP3
    Version information
    Enhanced features
    Behavioral changes
    Parameter changes
    System variable changes
    Considerations
    Bug fixes
    V3.2.4 BP2
    Version information
    Enhanced features
    Considerations
    Bug fixes
    V3.2.4 BP1
    Version information
    Enhanced features
    Compatibility changes
    Bug fixes
    Considerations
    V3.2.4
    Version information
    Overview
    New features
    Compatibility changes
    Upgrade notes
    Recommended versions of tools
    Considerations

    folded

    Share

    V3.2.4 BP4

    Version information

    • Release date: June 21, 2023
    • Version: V3.2.4 BP4
    • RPM version: oceanbase-3.2.4.4-104000052023062021

    Enhanced features

    • The OBKV feature is optimized. The COUNT function for a single partition is supported based on the table model. The definition of expired columns is supported to automatically delete expired data.
    • MySQL data types are optimized. Specifically, the NCHAR and NVARCHAR data types and the SELECT N'xxx' syntax are supported.
    • The compatibility with Oracle functions is improved. The SOUNDEX and NLS_INITCAP functions are supported. At present, the NLS_INITCAP function supports only NLS_SORT=BINARY.
    • Security is hardened. The _enable_reserved_user_dcl_restriction parameter is added to specify whether to allow normal users to modify built-in users.

    Behavioral changes

    • In this version, the optimization of IN predicate extraction is disabled by default. If large IN queries exist in the business SQL statements and the execution time or memory consumption of these large IN queries causes a bottleneck in the business system, you can set the value of the _enable_in_range_optimization parameter to True to enable the optimization of IN predicate extraction.
    • Since OceanBase Database Enterprise Edition V3.2.4 BP4, the _max_trx_size parameter is replaced with max_trx_part_size.

    Parameter changes

    Parameter
    Change type
    Default value
    Description
    _enable_in_range_optimization New False A tenant-level parameter that specifies whether to optimize the query range of IN predicates.
    max_trx_part_size New 0B A cluster-level parameter that specifies the maximum amount of data that can be written by a transaction on a participant. Default value: OB, which specifies not to apply a limit.
    _max_trx_size Deprecated 0B This parameter is replaced by max_trx_part_size to ensure compatibility between different versions.
    max_trx_2pc_retry_interval New 30s A cluster-level parameter that specifies the maximum message retry interval during the two-phase commit of transactions.
    _enable_reserved_user_dcl_restriction New False A cluster-level parameter that specifies whether only a built-in user can modify other built-in users. Default value: False, which specifies not to apply a limit.
    _enable_backtrace_function New True A cluster-level parameter that specifies whether the backtrace function takes effect.
    _optimizer_better_inlist_costing New False A tenant-level parameter that specifies whether to enable IN expression optimization for the optimizer.
    kv_ttl_history_recycle_interval New 7d A tenant-level parameter that specifies the retention period of the historical records of TTL-based deletion tasks.
    kv_ttl_duty_duration New [00:00:00, 24:00:00] A tenant-level parameter that specifies the running period for background TTL tasks.
    enable_kv_ttl New False A tenant-level parameter that specifies whether to enable background TTL tasks.
    _pipelined_table_function_memory_limit New 500 * 1024 * 1024 (500 MB) A tenant-level parameter that specifies the size of memory for the result set of pipelined functions.

    System variable changes

    Variable
    Change type
    Default value
    Description
    _show_ddl_in_compat_mode New 0 Specifies whether to show the result of compatibility with MySQL. After this variable is enabled, show create table/database will show the result of compatibility with MySQL. This is a session-level variable. Default value: 0, which indicates that this feature is disabled.

    Notice

    The MySQL mode of OceanBase Database has special scalability capabilities. For example, OceanBase Database allows you to add subpartitions, and you can specify Default in a LIST-partitioned table to prevent adding additional partitions. If you use these capabilities to create a table in MySQL mode, the displayed content will be different from the actual schema in the Oracle mode of OceanBase Database. Proceed with caution.

    Bug fixes

    • Fixed the issue of stack overflow caused by excessive loop iterations in stored procedures with GOTO (Oracle mode) or ITERATE (MySQL mode) statements.
    • Fixed the issue where the memory usage of the SYS500 tenant was high in a liboblog scenario due to a Time Stamp Counter (TSC) clock rollback.
    • Fixed the issue where Error 4377 was returned when partition pruning was triggered by an INSERT statement in non-strict mode.
    • Fixed the issue where Error 4012 was returned when an excessively long JSON string was inserted by using the replace into statement.
    • Fixed the issue where the return result of DBMS_UTILITY.GET_HASH_VALUE(ROWID,1,10000) was incompatible in Oracle mode.
    • Fixed the issue where the 4000 common error was returned for an UPDATE operation that contained subqueries.
    • Fixed the issue where a core dump of the observer process might occur when a stored procedure that contained CursorForLoop was debugged in OceanBase Developer Center (ODC).
    • Fixed the issue where the value of the server_uuid system variable was wrong after a tenant upgrade.
    • Fixed the issue where too many memory resources were occupied when the result sets of pipelined functions were large.
    • Fixed the issue where an error might return during cross-user schema identification if no database was specified for public synonyms in Oracle mode.
    • Fixed the issue where it took a long time to generate an execution plan for the INSERT ALL statement.
    • Fixed the issue where in Oracle mode, the scale and precision of the data returned by the ResultSetMetaData API were inconsistent with those returned in Oracle Database.
    • Fixed the issue where an out-of-memory (OOM) error was returned during package compilation after a memory leak occurred in PL Resolve View.
    • Fixed the issue where an error was returned in querying distinct primary keys and CLOB columns.
    • Fixed the issue where Error 4258 was returned during character set conversion when statistics were collected.
    • Fixed the issue of generating a large query range and causing SQL execution error 4019 Size Overflow in an equijoin scenario where both tables had IN conditions. This issue occurred because duplicate IN predicates were not being eliminated.
    • Fixed the issue where tenant parameters could not be specified if the number of timer tasks on the node exceeded 32 when many tenants existed.
    • Fixed the issue where after the tenant allowlist (ob_tcp_invited_nodes) was set to 1.1.1.1/24, the logon by using 1.1.1.1 failed.
    • Fixed the issue where Error 4019 was returned when the SHOW CREATE TABLE statement was executed on a partitioned table that contained 50,000 partitions.
    • Fixed the issue where a major compaction for the standby tenant timed out due to a TSC time exception in the system.
    • Fixed the issue where Error 5226 was returned when the usage of the plan cache reached the limit because plan cache eviction failed.
    • Fixed the issue where when an exception occurred during a package call, the number of the line where the exception occurred was inaccurately provided by the exception handler.
    • Fixed the issue where an error was returned for a ROWNUM query due to the push-down of the join limit.
    • Fixed the issue where Error 4016 was returned if the base table of the trigger contained hidden columns.
    • Fixed the issue of not being able to display the information of views that reference a DBLink table using the DES command.
    • Fixed the issue where Error 5599 was returned when an array constructor was used in a CREATE USER statement.
    • Fixed the issue where errors might be returned while accessing views that contain synonyms.
    • Fixed the issue where OceanBase Database Proxy (ODP) could not obtain routing information when two synonyms were nested.

    V3.2.4 BP3

    Version information

    • Release date: April 19, 2023
    • Version: V3.2.4 BP3
    • RPM version: oceanbase-3.2.4.3-103000032023041816

    Enhanced features

    • The OBKV connection count feature is added, which simplifies the process for locating OBKV request issues.

      • The GV$OB_KV_CONNECTIONS view is added, which allows you to query all active sessions of the KV class in the current tenant.
      • The V$OB_KV_CONNECTIONS view is added, which allows you to query all active sessions of the KV class on the current OBServer node.
    • The call of the CURRVAL function to obtain the current value of a sequence across OBServer nodes is optimized.

      • In earlier versions, when OceanBase Database Proxy (ODP) connects to an OBServer node, if a route switch occurs between consecutive NEXTVAL and CURRVAL calls, an error is reported when you call CURRVAL on another OBServer node.
      • This version supports cross-route synchronization of CURRVAL calls when ODP connects to an OBServer node. The call of CURRVAL on another OBServer node returns the value obtained by the last NEXTVAL call.

    Behavioral changes

    • The INSERT VALUES statement for inserting multiple rows of data in MySQL mode is supported. In MySQL mode, if you do not specify the strict mode for SQL_MODE, when you insert NULL to fields with the NOT NULL constraint, an error is reported if you use INSERT VALUES to insert a single row of data, and the operation succeeds but a WARNING alert is generated if you use INSERT VALUES to insert multiple rows of data, same as in MySQL Database.

    • Sorting for SET QUERY result sets is supported in Oracle mode.

      • The serial execution and sequential output feature of Oracle Database is supported. You can set the tenant- or session-level variable _force_order_preserve_set to enable this feature.
      • For performance considerations, by default, HASH operators, such as set operators like UNION ALL, UNION, MINUS, INTERSECT, and EXCEPT, are used instead of MERGE operators for parallel execution.

    Parameter changes

    Parameter
    Change type
    Default value
    Description
    _large_query_yield_timelimit New 30s The wait timeout period for large queries. It is a cluster-level parameter. Value range: (0ms, + ∞].
    _with_subquery New 0 The common table expression (CTE) optimization strategy of the optimizer. It is a tenant-level parameter. Valid values:
    • 0: OPTIMIZE. The optimizer determines whether a CTE is materialized or inlined.
    • 1: MATERIALIZE. The optimizer forcibly materializes CTEs.
    • 2: INLINE. The optimizer forcibly inlines CTEs.
    _xsolapi_generate_with_clause New true Specifies whether the optimizer actively extracts CTEs. It is a tenant -level parameter. Valid values: [true, false].
    _optimizer_group_by_placement New true Specifies whether the optimizer enables the rewrite feature for GROUP BY PLACEMENT. It is a tenant -level parameter. Valid values: [true, false].

    System variable changes

    Variable
    Change type
    Default value
    Description
    _force_order_preserve_set New false Specifies the rewrite behavior and the plan generation logic of SET QUERY. If this variable is set to true, the branches are executed serially and the result sets are output in sequence. It is a global or session-level variable. Valid values: [true, false].
    Note
    When this parameter is set to true, the computing performance is affected.

    Considerations

    The _max_trx_size parameter allows you to limit the transaction size to ensure system stability. If the parameter is set to 0, the transaction size is not limited. The default value is 100M. Observe the following considerations when you configure this parameter:

    1. The _max_trx_size parameter setting does not take effect, except for V2.x and earlier and V3.2.4 and later.
    2. When you upgrade from a version in which this parameter does not take effect to V3.2.4 or V3.2.4 BP, the transaction size is changed from unlimited to a maximum size of 100 MB. If you do not want to limit the transaction size, set this parameter to 0 before the upgrade.

    Bug fixes

    • Fixed the issue where the range extraction was abnormal and caused incorrect results when columns C1, C2, and C3 had indexes and an SQL statement contained the (C1 = ? OR C1 = ? ...) AND C2 IN (...) AND C3 ... condition.
    • Fixed the issue where ORA-00600: internal error code, arguments: -4016, Internal error was reported when the SUBSTRB function was used in a DML statement in PL and the parameters included variables defined in PL.
    • Fixed the issue where in Oracle mode, when a package variable was used as the output parameter for internal calls, the stored procedure execution result was incompatible with that of the native Oracle Database.
    • Fixed the issue where an excessive long time was took to get the plan due to the failure to handle UPDATE IGNORE during expression precalculation.
    • Fixed the issue where backup pieces were not deleted as expected when an automatic cleanup task was normally scheduled.
    • Fixed the issue where a memory leak problem occurred when a SELECT statement was parsed in an INSERT ALL statement.
    • Fixed the issue where the execution result was not as expected due to abnormal return results of the expression when a filter condition was pushed down.
    • Fixed the issue where some indexes were in the abnormal state after physical restore.

    V3.2.4 BP2

    Version information

    • Release date: February 28, 2023
    • Version: V3.2.4 BP2
    • RPM version: oceanbase-3.2.4.2-102000042023022717

    Enhanced features

    • The system package UTL_RAW in Oracle mode supports the CAST_TO_NVARCHAR2() function, which converts RAW values into NVARCHAR2 values.
    • DBLinks support DNS resolution in Oracle mode.
    • The system functions XMLAGG(), XMLPARSE(), and XMLELEMENT() are supported in Oracle mode.
    • The FROM_BASE64() and TO_BASE64() functions are supported in MySQL mode.
    • The compatibility with the system variables DEFAULT_STORAGE_ENGINE and EVENT_SCHEDULER is improved in MySQL mode.
    • The value 11 is available for the REQUEST_TYPE field in the V$OB_SQL_AUDIT view. This value indicates that the SQL statement is executed in PL.

    Considerations

    • ArrayBinding is not recommended for batch insertion in this version. We recommend that you set ob_enable_batched_multi_statement to False.
    • When you upgrade OceanBase Database Enterprise Edition from V3.2.4 or V3.2.4 BP1 to V3.2.4 BP2, election without leader may occur during the upgrade. After all OBServer nodes are started, normal election resumes and the cluster is upgraded.

    Bug fixes

    • Fixed the issue where when the number of SSTable macroblocks was too large and more than 32 MB of data was written in the slog file, an error was reported and the major compaction of the cluster was stuck.
    • Fixed the issue where the execution result was wrong in MySQL mode because the filters applied by the NEST LOOP JOIN operator was abnormal.
    • Fixed the issue where when the macroblock reuse logic was abnormal, a large number of macroblocks were rewritten, resulting in excessive I/Os during the major compaction of the cluster.
    • Fixed the issue where when an SQL statement had four or more index columns in a WHERE clause and an index was hit and contained in expr, the result set returned by the query was incorrect in some scenarios.
    • Fixed the issue where when data of OceanBase Database V2.2.77 was restored by using OceanBase Database V3.2.4, the leader was stuck.
    • Fixed the issue where in Oracle mode, when AUTO COMMIT was disabled, after some data was inserted, the SELECT statement in a user-defined function (UDF) could not read uncommitted data.
    • Fixed the issue where in Oracle mode, when AUTO COMMIT was enabled, after a transaction was manually started and the executed PL package contained DML statements, the transaction was automatically committed.

    V3.2.4 BP1

    Version information

    • Release date: January 9, 2023
    • Version: V3.2.4 BP1
    • RPM version: oceanbase-3.2.4.1-101000052023010822

    Enhanced features

    • Security optimization

      • You can change the AccessKey ID and AccessKey Secret during data backup and restore. The backup feature of OceanBase Database allows you to specify an Alibaba Cloud Object Storage Service (OSS), Tencent Cloud Object Storage (COS), or Huawei Object Storage Service (OBS) bucket as the backup destination. However, you cannot modify the access_id or access_key parameter of the backup destination during the backup. If the AccessKey ID or AccessKey Secret is changed, you must stop the log backup and change the backup directory. Therefore, this version provides the ALTER SYSTEM change external_storage_dest PATH[=]'xxx?host=xxx' set ACCESS_INFO[=]'access_id=xxx&access_key=xxx'; command for you to modify the AccessKey ID and AccessKey Secret of the backup destination. The relevant content in GConf is updated and saved accordingly. Observe the following considerations when you use this command:

        • Before you run the command to update the AccessKey ID and AccessKey Secret for accessing the OSS, COS, or OBS bucket, we recommend that you stop the ongoing second backup task. We also recommend that you delete the old AccessKey ID and AccessKey Secret one hour later after you run the command.
        • If you modify the AccessKey ID and AccessKey Secret during a second backup task, and the task is stuck, you must forcibly cancel the task and change the directory to resume to task.
      • The password information configured by using a DBLink can be encrypted for storage.

      • Remote Procedure Call (RPC) authentication is supported for communication between OBServer nodes.

      • Transparent data encryption (TDE) is integrated into Alibaba Cloud Key Management Service (KMS).

    • Monitoring statistics optimization: Transaction time statistics and SQL execution time statistics are added to the v$sysstat view.

      • Transaction time statistics metrics include sp trans total used time and distributed trans total used time.
      • SQL execution time statistics metrics include sql local execute time, sql remote execute time, and sql distributed execute time.
    • Compatibility with MySQL PL syntaxes: GET DIAGNOSTICS, GET STACKED DIAGNOSTICS CONDITION, DECLARE CONTINUE HANDLER, SIGNAL SQLSTATE, and DEFINER syntaxes are supported.

    • Performance optimization: You can use arrays to execute simple statements such as INSERT...VALUES, UPDATE, and DELETE in batches. This improves the batch execution performance by about 4 times.

    Compatibility changes

    • The default value of the schema_history_expire_time parameter is changed from 7d to 30d.
    • The default value of the ob_esi_session_timeout parameter is changed from 1m to 10m.
    • The rpc_client_authentication_method parameter is added to specify the security authentication method of the RPC client. The setting takes effect immediately. Valid values are NONE, PLAIN_KEY, SSL_NO_ENCRYPT, and SSL_IO. The default value is NONE.
    • The rpc_server_authentication_method parameter is added to specify the security authentication method of the RPC server. The setting takes effect immediately. Valid values are NONE, ALL, PLAIN_KEY, SSL_NO_ENCRYPT, and SSL_IO. The default value is ALL.

    Bug fixes

    • Fixed the issue where in Oracle mode, Error 4179 was returned when a cursor for looping operations was used in a package.
    • Fixed the issue where a timeout error occurred when deleting data from a table with foreign keys, where the internal execution flow triggered an exception in parallel while processing the foreign keys.
    • Fixed the issue where creating a new tenant resulted in an error of insufficient resources due to abnormal resource release after tenant release.
    • Fixed the issue where when an execution plan hit the plan cache, the execution result of MERGE INTO was incorrect.
    • Fixed the issue where memory leak occurred when indexes were created on JSON generated columns.

    Considerations

    • To use Key Management Service (KMS), upgrade liboblog to V3.2.4.0 or later and then upgrade OceanBase Database to V3.2.4 BP1.
    • If a large query triggers a deadlock in a scenario where ArrayBinding or CREATE TABLE AS SELECT is used, we recommend that you increase the value of the large_query_threshold parameter to avoid triggering deadlocks.

    V3.2.4

    Version information

    • Release date: November 1, 2022
    • Version: V3.2.4
    • RPM version: oceanbase-3.2.4.0-100000072022102819

    Overview

    Compared with V3.2.3, OceanBase Database V3.2.4 improves the compatibility and stability of the database kernel to meet the production and testing requirements of customer systems. Core enhancements include:

    • Enhanced compatibility with MySQL

      The geographic information system (GIS) and MySQL binlog parsing are supported. The DBMS_RESOURCE_MANAGER system package is added.

    • Enhanced compatibility with Oracle

      The DBMS_SCHEDULER system package is added. System package functions are supplemented.

    • Kernel enhancements

      SQL rule-based resource isolation, the IPv6 protocol, backup to OBS, log optimization, transaction size configuration, and configuration of the number of logon threads are supported.

    New features

    Enhanced compatibility

    Compatibility with MySQL
    • Support for GIS

      GIS provides the storage, computing, and indexing capabilities for spatial objects such as points, lines, planes, and complex spatial objects. GIS is widely applied in the transportation industry and can help quickly build spatial computing capabilities. GIS is supported since OceanBase Database V3.2.4. GIS in OceanBase Database adopts the quadtree-based indexing solution and supports the GIS data types of MySQL 8.0, the management and caching of spatial reference system (SRS) metadata, quadtree-based spatial indexes, single-value types (GEOMETRY, POINT, LINESTRING, and POLYGON), and multi-value types (MULTIPOINT, MULTILINESTRING, MULTIPOLYGON, and GEOMETRYCOLLECTION). The spatial computing functions commonly used in MySQL 8.0 are also implemented. For more information, see Functions for spatial computing.

    • Support for MySQL binlog parsing

      The OceanBase CDC data synchronization solution supports MySQL binlogs and allows popular applications, such as Canal, Debezium, and Flink CDC, to generate and parse binlogs in OceanBase Database. The OBServer node must support binlog-related system variables such as binlog_format, binlog_row_image, log_bin, and server_uuid. The REPLICATION SLAVE and REPLICATION CLIENT privileges can be set. OceanBase CDC parses clogs in OceanBase Database into binlogs for subscription and consumption by downstream products. For more information, see binlog_row_image.

    • Addition of the DBMS_RESOURCE_MANAGER system package

      The DBMS_RESOURCE_MANAGER system package is added for creating and maintaining resource consumer groups, resource management plans, and binding rules of resource consumer groups. More functions are supported, such as CREATE_CONSUMER_GROUP, CREATE_PLAN, and SET_CONSUMER_GROUP_MAPPING.

    Compatibility with Oracle
    • Addition of the DBMS_SCHEDULER system package

      The DBMS_SCHEDULER system package is added for managing scheduled tasks. More functions are supported, such as CREATE_JOB, CREATE_PROGRAM, and DEFINE_PROGRAM_ARGUMENT.

    • Supplementation of system package functions

      • The DBMS_SESSION.SET_CONTEXT function is supplemented for setting or resetting the value of the context attribute.
      • The DBMS_SESSION.CLEAR_CONTEXT function is supplemented for clearing the specified context.
      • The UTL_RAW.CAST_TO_BINARY_INTEGER function is supplemented for converting the RAW binary representation of a BINARY_INTEGER value into a BINARY_INTEGER value.

    Kernel enhancements

    • Support for SQL rule-based resource isolation

      In real practice, more fine-grained control of resource isolation is required for business. For example, different SQL statements are executed by using different resource specifications for isolation. This helps allocate and isolate resources for business systems such as OLAP and OLTP, and reduces the mutual impact between business systems.

      OceanBase Database V3.2.4 supports creating resource groups and binding users to resource groups. When a user executes a business SQL statement, OceanBase Database allocates the corresponding resource group based on the predefined SQL rules to help the user define a business resource isolation plan. At present, the resource isolation plan applies only to CPU resources. For more information, see Multi-tenant resource isolation.

    • Support for the IPv6 protocol

      IPv6 is widely applied in customer projects as it gains popularity among communications network suppliers and terminal vendors. OceanBase Database V3.2.4 and related components, such as ODP and JDBC, support IPv6. OceanBase clusters support both IPv4 and IPv6 TCP/IP connections. Before you use IPv6, make sure that the operating system of your server is configured to support IPv6. For more information, see IS_IPV6.

    • Support for backup to OBS

      Backup and restore is a core feature for ensuring the high availability of OceanBase Database. OceanBase Database supports three backup media: Alibaba Cloud Network File System (NFS), Alibaba Cloud Object Storage Service (OSS), and Tencent Cloud Object Storage (COS). OceanBase Database supports backup to HUAWEI CLOUD Object Storage Service (OBS) since V3.2.4. You can specify the backup destination (backup_dest) to back up data and log files to OBS. For more information, see Preparations for backup.

    • Log optimization OceanBase Database V3.2.4 optimizes log output in the following aspects:

      • Log level definition: The DIAG log level is added. WARN and ERROR logs that do not need to be perceived by users are classified into DIAG logs. The levels are adjusted for O&M-oriented WARN and ERROR logs that need to be retained.

        Log level
        Intended audience
        Definition
        Original log level
        ERROR DBA or users The OBServer node cannot provide normal services. For example, the disk is full or the listening port is occupied. An ERROR log may also be generated when an error is returned during an internal check in the background. For example, 4377 indicates a DML defensive check error, and 4103 indicates a data checksum error. In this case, manual intervention is required. /
        WARN DBA or users An unexpected scenario occurs. The OBServer node can provide services, but the behavior is not as expected. For example, a write throttling warning. /
        INFO DBA or users System status changes. INFO
        EDIAG R&D Error diagnosis information for troubleshooting. This log level indicates an unexpected logical error. For example, function parameters are not as expected. ERROR
        WDIAG R&D Warning diagnosis information for troubleshooting. This log level indicates an expected error. For example, a function fails to return a value. WARN
        TRACE R&D Task-level diagnosis information. TRACE
        DEBUG R&D Debugging details. DEBUG
      • Error code association: Error messages are classified and error codes are improved. A response error code is defined for each warning and error. You can retrieve documents based on an error code to find the solution.

      • Throttling by error code: WDIAG logs are throttled by error code. For throttled logs, only the error code and the number of throttled logs are displayed. The diag_syslog_per_error_limit parameter is added for controlling this throttling feature. By default, 200 DIAG logs per second are allowed for each error.

      • Monitoring log removal: The dump tenant info, memory info, and easy stat log entries are removed from log files for separate management.

      • Log file self-description: The server address, host type, CPU type, operating system version, OBServer version, and time zone are recorded in the header of each log file.

    • Other feature enhancements

      • You can configure the transaction size by using the _max_trx_size parameter.
      • You can configure the number of logon threads by using the sql_login_thread_count parameter.
      • You can set table-level parallel hints. For example, select /*+ parallel(t1, 8) */ from t1;.

    Compatibility changes

    Parameters

    Parameter
    Change type
    Default value
    New default value
    Description
    enable_cgroup New / True Specifies whether to enable the control group feature.
    sql_login_thread_count New / 0 The number of threads for processing logon requests. The default value is 0, which indicates that the number of threads is dynamically adjusted.
    ob_query_switch_leader_retry_timeout New / 0us The longest retry time for a failed query. The default value is 0us, which indicates that the retry timeout check is disabled.
    diag_syslog_per_error_limit New / 200 The number of diagnostic logs for each error code per second.
    ob_esi_syslog_level Modified INFO WDIAG The log level of independent subprocesses.
    syslog_level Modified INFO WDIAG The level of system logs.

    System changes

    Parameter
    Change type
    Recommended value
    Description
    binlog_format New ROW The supported binlog format. This parameter takes effect when log_bin is set to ON.
    binlog_checksum New CRC32 The supported binlog checksum.
    binlog_rows_query_log_events New OFF Specifies whether to write row query log events into the binlog. This parameter applies to the row-based logging.
    log_bin New ON The supported binlog enabling status.
    server_uuid New Generated upon tenant creation The instance UUID.

    Behavioral changes

    • Differences between the new system log levels used in OceanBase Database V3.2.4 and the log levels in earlier versions:
      • The log levels are ERROR, WARN, INFO, EDIAG, WDIAG, TRACE, and DEBUG in descending order of priority.

      • The WARN log level in earlier versions changes to the WDIAG level in V3.2.4. Therefore, WARN logs in earlier versions are generated as ERROR logs in V3.2.4.

    Upgrade notes

    • An upgrade from V3.2.1, V3.2.2, or V3.2.3 to V3.2.4 is supported. However, an upgrade from V3.2.3 BP6 and later to V3.2.4 is not supported.

    • An upgrade from V3.1.2 to V3.2.4 is supported. You must download the software packages V3.2.0, V3.2.1, V3.2.2, and V3.2.3, and upload them to OCP.

    • An upgrade from V2.2.77 is supported. You must upgrade OceanBase Database to V3.1.2 first and then to V3.2.4.

    Recommended versions of tools

    The following table describes the recommended versions of components used with OceanBase Database V3.2.4.

    Component
    Version
    ODP V3.2.8
    OCP V3.3.4
    ODC V4.0.0
    OMS V3.4.0
    OBCI V2.0.2
    ECOB V1.1.6
    JDBC V2.2.11
    OBClient V2.1.1.3

    Considerations

    The open_cursors parameter specifies the maximum number of open cursors that a session can have at once. The default value is 50. OceanBase Database V3.2.4 changes the maximum number of prepared statements for a single session. Therefore, if you upgrade your database to V3.2.4, you must determine whether to increase the value of open_cursors to avoid errors when prepared statements are executed.

    Previous topic

    OceanBase Database Enterprise Edition V4.1.0
    Last

    Next topic

    OceanBase Database Enterprise Edition V3.2.3
    Next
    What is on this page
    V3.2.4 BP4
    Version information
    Enhanced features
    Behavioral changes
    Parameter changes
    System variable changes
    Bug fixes
    V3.2.4 BP3
    Version information
    Enhanced features
    Behavioral changes
    Parameter changes
    System variable changes
    Considerations
    Bug fixes
    V3.2.4 BP2
    Version information
    Enhanced features
    Considerations
    Bug fixes
    V3.2.4 BP1
    Version information
    Enhanced features
    Compatibility changes
    Bug fixes
    Considerations
    V3.2.4
    Version information
    Overview
    New features
    Compatibility changes
    Upgrade notes
    Recommended versions of tools
    Considerations