Skip to content

Releases: oceanbase/odc

Release 4.3.1

01 Aug 08:20
1205f2b

Choose a tag to compare

4.3.1 (2024-07-31)

Feature Updates

Risk Control Changes

  • Added table-level permission control, allowing project members to have different operation permissions on different tables, including query, change, and export operations, enhancing collaborative control capabilities.

Session Management

  • Support for closing sessions/queries has been extended to more scenarios where OBServer is not directly connected.
    • When connected to OceanBase V4.2.3 and OBProxy V4.2.5 or higher versions, session management is performed using client session capability.
    • In OceanBase V4.2.1 Oracle mode, session management is handled using anonymous blocks.

Analytical Instance Development

  • Added real-time execution profiling, providing visual and interactive presentation of sql_plan_monitor.
    • This feature requires data source version OceanBase V4.2.4 or higher.
    • Supports analysis not only of completed SQL executions but also real-time analysis of ongoing SQL executions.
    • Provides graphical, tabular, and text views of execution plans, intuitively displaying operator connections and step sequences.
    • Global view offers sorting of Top 5 time-consuming operators and overall summary of execution phases, quickly pinpointing performance bottlenecks.
    • Operator nodes include execution status and detailed information such as CPU, memory, disk, rows processed, and node attributes.
    • For parallel execution nodes, supports sorting by DB time, IO memory, and rows processed, quickly identifying data skew. Supports analysis of both standalone and distributed execution plans.
    • Newly designed integrated real-time diagnostic page for comprehensive execution profiling combining execution plans and end-to-end trace diagnostics.

SQL Development

  • During SQL execution, supports viewing execution progress, including total number of executions, current execution count, and trace ID of currently executing SQL. Real-time viewing of completed execution results is also supported.
  • Supports graphical format viewing of OceanBase's logical SQL execution plan.

Data Sources

  • Fully compatible with OceanBase V4.2.4, OceanBase V4.3.1, OceanBase V4.3.2.

Usability Improvements

  • Data cleanup tasks now support editing task configurations.
  • Data source module supports batch import from MySQL, Oracle, and Doris data sources.

Bug Fixes

Data Lifecycle Management

  • Table structure comparison performed even when structure synchronization is not enabled. #3014

Risk Control Changes

  • Automatic authorization rules did not take effect for LoginSuccess events. #3003

Import/Export

  • In the desktop mode, reinstalling ODC may lead to the unintended import of historical files generated during previous import tasks when initiating new tasks. #3006

SQL Check

  • When SQL window rules are enabled, commit and rollback buttons in SQL window may become ineffective. #2985

SQL Development

  • NPE may occur during PL debugging. #2930
  • SQL error when modifying session variables for Oracle data sources. #2872

Mock Data

  • Unable to terminate mock data tasks. #2850

Global Object Retrieval

  • Object synchronization cannot be stopped. #2928

Tickets

  • Unable to retrieve SQL check results when check result file does not exist locally. #2943

Auditing

  • Actual length of content_ip_address column values exceeds the column length limit. #2863

Other

  • When deploying across multiple nodes using process mode to schedule tasks, all tasks may be scheduled to the same node. #2408

Release 4.3.0_bp1

24 Jun 13:26
68947f6

Choose a tag to compare

Bug fixed

  • The sql statement "like replace" contains "\" formatted incorrectly.
  • ODC430 desktop failed to start during reinstallation.
  • If the object data in the imported zip is empty, the import task fails.
  • The creator cannot terminate the auto-run task.
  • Message notifications do not support setting timeouts.
  • The formatting button on the SQL Confirm screen does not take effect.
  • Not all data sources are displayed after batch import.
  • The execution plan showing more partitions than actual partitions causes data archiving to fail.
  • Optimize multi-library change subtask workorder description.

Release 4.3.0

12 Jun 08:52
7afa242

Choose a tag to compare

Feature

  • Change Risk Control
    • Provides batch database change capabilities to ensure schema consistency across environments and maintain business continuity.
    • Implements fine-grained database permission management, introduces the role of database admin, and integrates it into the approval process to strengthen security.
    • Enhances flexibility, allowing users to manually execute tickets at the optimal time to avoid peak load and ensure efficiency.
  • Data Lifecycle Management
    • Refines task configuration, supports customizing the processing scope based on partition conditions, and allows specifying task execution time, achieving personalized data management.
    • Optimizes the schema synchronization of archiving tasks to ensure consistency between source and target schemas, improving success rates.
    • Integrates data validation into cleanup tasks to enhance the safety of deletion operations.
    • Enriches execution record details, visually displaying key indicators to improve transparency.
    • Fully supports various field types, broadening application scenarios to meet diverse management needs.
  • Usability
    • Introduces global object search, simplifying user query processes and enhancing operational convenience.

Bug fixes

  • Data Source
    • Failed to connect to the standby cluster to query the table structure.
    • Concurrency exception during reset connection.
  • PL object management
    • The list of procedures and functions is not sorted by name.
    • Failed to batch compile procedures in OceanBaseOracle mode.
  • SQL Console
    • The database in the SQL window cannot be switched when the number exceeds 2000.
    • The SQL window setting does not take effect if execution fails and does not continue execution.
    • SQL window execution error after connection is closed using obclient.
    • ORACLE data sources cannot set nls parameters in the SQL console.
  • Data archiving/cleaning
    • When the task framework is closed, the message notification is invalid.
  • Projects and work orders
    • When editing a project, an error is reported indicating that the project already exists.
    • The internationalization of the ticket description failed.
    • Approval fails when the approval content is too long.
  • Schema Comparison
    • Result exception when target table does not exist.
  • Import and export
    • The import table structure does not take effect if it is set to hop.
  • Table object management
    • When the OceanBase tenant is configured with lower_case_table_names=2, an error is reported that the table object does not exist.
    • The unique index of the partitioned table is not visible.
  • Others
    • swagger-ui.html access failed.

Release 4.2.4_bp2

15 May 13:00
0e8f442

Choose a tag to compare

Bug fixed

  • Work orders whose lifecycles span the release process do not advance properly.
  • Using MySQL mode to send archiving tasks, and custom target table name, will report an error
  • After editing the message notification, the signing key is cleared
  • The partition interval is not displayed in the partition plan policy details
  • Use OB4.x or a later version to deliver a partition plan that misses partition deletion or creates fewer partitions
  • The partition plan execution record details page is not paged
  • The data archive page execution record is not paged
  • Unable to connect to ODP Sharding data source
  • The user cannot be deleted after archiving the item
  • Partition plan No pre-created SQL is no copy prompt
  • Failed to deliver a partition plan task using a version earlier than OB3.x
  • Connecting to a multi-cloud connection string in OceanBase MySQL mode did not report an error
  • The sql console cannot be opened when using OAuth and Bastion machine integration at the same time
  • The socket timed out when the result set was exported for more than 60 seconds
  • The data source whose connection times out is changed to the data source whose connection is normal. Failed to synchronize the database

Release 4.2.4_bp1

13 Apr 14:02
9c17497

Choose a tag to compare

Bug fixed

  • DLM task logs cannot be viewed when accessing via IP in a multi-node deployment environment.
  • The ob_query_timeout setting in the connection initialization script is not effective during PL debugging.
  • When a user fails to configure a task partitioning schedule or disables it, the ODC fails to start.
  • ZIP packages exported by ODC are unable to be imported.
  • Original information is not cleared when switching message channel types.
  • After viewing message channel details, clicking "New" results in editing the previous channel instead.
  • An error occurs during SQL window auto-completion when the user lacks permissions for the MySQL database.
  • Failed message notifications impact task approvals.

Release 4.2.4

03 Apr 09:53
3c062bd

Choose a tag to compare

Feature

  • Data Sources

    • Supported OceanBase v4.2.2.
    • New Oracle data source with support for SQL development, import/export, data masking, object management, change approval.
    • New Doris data source with support for SQL development, import/export, data masking, table object management, session management, command-line window, change approval.
  • SQL Development

    • 71 common O&M snippets built-in, which can auto-complete in the SQL window and will match database type and version.
    • SQL auto-completion supports completing data dictionary/performance view.
    • Case sensitivity for schema names, table names, and column names in Oracle mode now consistent with PL/SQL Developer behavior.
    • Schema Comparison.
    • New Schema Comparison feature added, supporting Schema Comparisons for homogenous databases (OBOracle, OBMySQL, MySQL).
    • Supported scope includes table objects, with comparison properties including columns, primary keys, constraints, indexes, partitions, table properties.
    • Schema Comparison results provide DIFF preview and change script preview.
    • SQL preview results are downloadable and can directly initiate schema synchronization tasks.
  • Online Schema Changes

    • Support for adding intermediate columns to tables.
    • Support for concurrent index changes during table schema modifications (OceanBase Oracle mode).
    • Support for primary key deletion when the table contains unique constraints (OceanBase Oracle mode).
  • Partitioning Plan

    • Support for configuring partitioning plan for databases in OBOracle mode.
    • Partition field types not only support DATE/TIMESTAMP but also NUMBER/CHAR/VARCHAR2 and other field types.
    • Redesigned the partitioning plan strategy configuration page, custom mode can configure any partition upper boundary calculation logic through expressions, support for previewing the execution SQL of the partitioning plan.
    • Execution cycle for deleting partitions can be independently configured from the creation partition cycle.
    • Data Archiving/Cleaning.
    • Support for configuring cleaning tasks for databases in OBOracle mode.
    • Support for configuring archiving tasks from OBOracle to OBOracle.
    • Support for previewing the actual SQL being executed for data archival/cleaning tasks when initiating the task.
    • Data archiving supports custom target table names.
    • Data cleaning supports configuring whether to use primary keys. When primary keys are not used, data deletion will directly match the deletion criteria based on indexes, and the task execution process does not need to shard tasks based on primary keys. This can significantly improve the efficiency of cleaning, especially in specific scenarios.
  • Security Standards

    • Support for Custom Environment

    Customize SQL window standards and SQL check rules for different business scenarios.
    When creating a custom environment, choose an existing environment for initial configuration.
    Support for configuring tag styles to easily distinguish between different environments.

    • Three new SQL check rules added

    Reserved words should not be used as object names.
    Existence of offline (table lock) schema change statements, offline schema changes will result in table locking, impacting business operations.
    Existence of TRUNCATE statements, high risk of TRUNCATE tables in production environments.

    • Default values of risk identification rules in security standards optimized, production environments can be used out of the box.
    • SQL window standard adds risk tips for enabling PL debugging in production environments.
    • Database-level Access Control.
    • Project collaboration adds access control for databases.
    • Types of database access permissions include query, export, and modification. It supports granting permissions based on types and setting the validity period of permissions.
    • Project developers have default access to all databases within the project, consistent with previous versions.
    • Added the role of project participant, with participants by default having no access to any databases.
    • Participants can apply for permissions to access databases through tickets.
    • Administrators can directly authorize participants with permissions to access databases.
    • Administrators can revoke permissions to access databases from participants.
  • Notifications Messages

    • Project collaboration adds message notification feature.
    • Supported event types include ticket approval status change, task execution status change, and task scheduling failures.
    • The scope of notifications can be configured through rules, messages can be configured through templates.
    • The notification channel supports configuring commonly used webhook channels, such as DingTalk, Lark, and WeCom. It also supports custom HTTP requests and setting limits on message sending.
  • System Integration

    • SSO supports LDAP protocol.

Enhancements

  • Optimized the database selection component, standardizing the database selection interaction across product pages and adding fuzzy matching functionality for project names, data source names, and database names.
  • Added a resource tree locator key to the SQL window for quickly identifying the current database's position within the resource tree.
  • Upgraded preference settings to a top-level feature accessible directly through [Settings], new configuration options include:
    • Whether to enable end-to-end tracing during SQL execution.
    • Whether to continue SQL execution upon encountering errors.
    • Customization of editor theme and font size.
    • Configuration of editor shortcuts for running SQL commands.
    • Setting the default workspace.
    • Whether to enable user behavior analytics.
    • Desktop version now supports memory size configuration through JVM parameters.
  • Added database availability indicators; the database list under projects will now show unavailable statuses and reasons.
  • Improved the initiation interaction for tickets:
    • Support for initiating various tickets directly from the database in the resource tree.
    • Commonly used tickets (mock data, database changes, data archiving, data cleaning, database permission application) support reinitiation with editable task parameters.
  • Enhanced database change processes to detect index change statements and automatically adjust the timeout setting (120h) to prevent index change statement execution failure due to timeout.
  • Desktop version personal settings now support custom JVM configuration with memory usage control to within 1 GB.
  • Desktop version supports exporting data files larger than 4 GB.
  • Optimized the en-US language wording of the product.

Non-backward-compatibleChanges

  • The default environment for security standards no longer supports editing or disabling.

Bug fixes

  • Connection Session
    • Sessions failing to remove after expiration, causing potential leaks #2125](#2125))
    • References to expired connection sessions failed to be promptly cleared, leading to resource leaks, which may cause increased memory consumption #1914](#1914))
    • Under high-frequency usage scenarios, executing SQL or viewing table data may encounter issues where the interface becomes unresponsive #1797](#1797))
    • Intermittent 404 errors when attempting to open SQL console #1809](#1809))
  • SQL Execution
    • Commit/rollback button state not in sync with actual transaction status in OceanBase 4.2 #2097](#2097))
    • SQL statements with single-line comments unable to execute #2085](#2085))
    • Incorrect offsets for last SQL command without a trailing delimiter #1970](#1970))
    • Incompatibility of anonymous block execution module with Oracle 11g #1759](#1759))
    • DBMS output failed to output spaces #1051](#1970))
    • # and $ character disappeared after SQL window formatted the code #1490](#1490))
    • Auto-complete in SQL window not available for MySQL datasource #1718](#1718))
  • Result-set
    • Degrading performance when modifying multiple rows concurrently in result-set #2007](#2007))
    • In OceanBase MySQL mode, the datetime data type loses precision when displayed #1996](#1996))
    • Switching between viewing BLOB field text and hexadecimal images may cause the UI to freeze #300](#300))
  • Table Object
    • Disparity in column names order between Index and Constraint views #1948](#1948))
    • Inability to view table details for MySQL version 5.6 [#1635]([https://github.com/oceanbas...
Read more

Release 4.2.3_bp1

02 Feb 03:40
860d044

Choose a tag to compare

Bug fixed

  • Ubuntu system cannot open command line window.
  • Error reporting when executing SQL using OBOracle version 2230.
  • Invalid data source type filtering in SQL instrumentation specification and SQL window specification.
  • When the task creator and approver are not the current users, an error occurs when viewing the task approval node.
  • Object types are not displayed when exporting package bodies and synonyms.
  • Database change precheck fails when OBOracle schema database name is lowercase.
  • During SQL window query request, the front end crashes when logging out.
  • When setting manual submission, SQL statement execution fails and causes rollback.
  • When there are multiple columns in the result set, it cannot be selected after sliding and the front end crashes occasionally at random points.
  • DLM update current limit causes periodic tasks to fail.
  • After filtering the result set, there is no content in the column mode.
  • Error when inserting data into result set.
  • When viewing table object data, the selected column does not display comments.
  • Switching the database after the SQL window executes the statement and returns the results causes the front end to crash.
  • SQL check containing delimiter will report an error.
  • After turning on the SQL type option that is allowed to be executed in the SQL check, an error occurs when executing anonymous blocks.

Release 4.2.3

26 Dec 06:40
09e4ec8

Choose a tag to compare

Feature

  • Data source

    • Allow data sources to be bound to projects
    • Supports OceanBase Sharding MySQL data source
    • Supports cloning data sources
    • Supports displaying data source status in the object tree in the team space
  • Import and Export

    • Supports import and export of native MySQL data sources
    • SYS account configuration is no longer provided in the import and export task configuration page of OceanBase data source
  • Database object management

    • OceanBase MySQL and native MySQL mode supports GIS data types
    • White screen gives high-risk operation prompts when creating or deleting indexes
  • Project

    • Added 2 built-in project roles: security administrator, participant; security administrator is allowed to manage sensitive columns of the project and participate in approval, and participants are allowed to participate in approval
    • Allow users to apply for project permissions
    • Prohibit deletion of users who are assigned to any project with the DBA or project OWNER role
  • SQL-Check

    • Optimized SQL interception interaction
    • Added problem locating function to supports quick locating of specific problems in the original SQL
  • Connection session

    • Added an automatic reconnection mechanism to avoid errors and usability issues caused by session destruction when not used for a long time
  • Partition plan

    • Supports scheduled scheduling
  • SQL execution

    • SQL fragment supports a maximum content size of 65535
    • Supports Ctrl+Enter shortcut key to execute the current statement
  • Bastion integration

    • Supports SQL Check
  • DLM

    • Supports log viewing
    • Added three new task parameter configurations: query timeout, shard size, and shard strategy
    • Optimized the performance of MYSQL 5.6
    • Optimized the performance of OceanBase data cleaning
  • Full link trace

    • Supports exporting Jaeger-compatible JSON files
    • Optimized visual effects
    • Added list view of results, supporting search and sorting
  • Tickets

    • The project administrator can view all work orders under the project, and other roles can view the work orders they have approved

Enhancements

  • Improve SQL execution performance and reduce unnecessary time-consuming operations
  • Allow users to configure the maximum number of retries and account lockout time in the event of login failure
  • Only allow users to modify table data with primary key constraints, unique key constraints and rowid with a blank screen
  • Optimize the error text when synchronizing database errors
  • Upgrade obclient version to 2.2.4
  • Upgrade spring security version to 5.7.10
  • Upgrade hutool version to 5.8.23
  • Upgrade pf4j version to 3.10.0
  • Upgrade netty version to 4.1.94.FINAL

Bug fixed

  • Data source
    • Users can still create data sources when they leave the project and do not belong to any project or role
    • The "Execution Time" column in the database session in OceanBase MySQL and native MySQL modes is 0
    • Modification of the time output format through the session variable management function in OceanBase Oracle mode does not take effect in the SQL execution window
    • Lowercase schema cannot be connected in OceanBase Oracle mode
    • Unable to connect to MySQL data source built by percona branch
  • SQL execution
    • Error thrown during SQL execution without internationalization
    • SQL with dblink cannot be executed in the team space
    • The desc statement cannot be executed in the team space if security rules allow it
    • ORDER BY will be invalid when executing SELECT... ORDER BY 1 style statements in OceanBase Oracle mode
    • Disabling the "SQL types allowed to be executed in the SQL window" rule does not take effect
  • Database object management
    • In OceanBase MySQL mode, the names of table partitions and other objects displayed on the left object tree are surrounded by backticks
  • Result set export
    • There is no log printing for tasks
    • No data after exporting in excel format
  • PL object
    • During interactive function creation, the return value of the sys_refcursor type cannot be defined through the drop-down menu
    • The PL parameter value in OceanBase MySQL mode does not escape single quotes
  • DLM
    • The database connection pool is too small, causing task execution failure
  • Partition plan
    • Task creation failed in MySQL mode of OceanBase version 1.4.79
    • Tables that do not set a partition strategy will still perform partition plan changes
  • SQL-Check
    • The alter table xxx drop index statement cannot be recognized as a DROP INDEX statement
  • External approval integration
    • Unrecognized expression for data in indexed collection
    • The data in xml form returned by the external system will lose the root tag of the original xml during deserialization
  • Data desensitization
    • When duplicate columns are scanned, adding sensitive columns will fail
  • Project
    • After the user is granted "Personal Space" permission, he must log in again for it to take effect
    • Transaction timeout occurred when synchronizing a large number of databases or schemas to the project
    • Unable to filter work orders by project dimension
    • Project OWNER can remove all users with DBA roles in the project
  • Bastion integration
    • Inactive connections are not cleaned up
  • Recycle bin
    • Unable to delete specific objects in Recycle Bin
  • Mock data
    • Task takes up too much memory
    • Does not support ZHSGB232 encoding
    • OceanBase MySQL and native MySQL mode cannot generate tasks for bit types with a width below 8
    • Unable to skip auto-incremented primary key columns
    • The bit type width displays incorrectly in OceanBase MySQL and native MySQL modes
  • Database change task
    • Memory overflow error occurs when uploading large files
  • Full link trace
    • The memory overflow problem caused by adding the driver to the full-link diagnosis
  • Shadow table sync
    • After the work order is approved or rejected, the approver cannot view the task details
  • obclient integration
    • Repeated creation of operating system users with the same name results in error reports
  • Tickets
    • Creating a work order takes too long
    • There is a "Pending Approval" work order for another project in the "Pending Approval" work order list
  • Operation record
    • The "Data Source" column in the operation record is empty
    • SQL execution events are not logged
    • Open SQL window event is not logged

Release 4.2.2_bp1

28 Nov 05:56
c9e38aa

Choose a tag to compare

Enhancements

  • Upgrade the jdbc component to 2.4.7.1.
  • The DLM performance has been greatly improved.

Bug fixed

  • After the data archiving subtask starts running, updating the current limiter configuration cannot take effect.
  • Data cleaning task is not running.
  • Entering malicious identification rules in the scenario of automatic scanning of sensitive columns will result in a denial of service by regular expressions.
  • Display NUMBER type data in scientific notation in MySQL mode.
  • Unable to view the contents of the cursor.
  • When the database does not report syntax errors, SQL-Check will still prompt syntax errors.
  • The exported table of CLOB/BLOB type is empty.
  • Table containing CLOB type view uploaded large attachment text error.
  • PL with DEFINER=root@% cannot be parsed in OBMySQL mode.

Release 4.2.2

07 Nov 12:59
a7c91c0

Choose a tag to compare

Features

  • Data source management
    • Adapts to ob4.2.x data source.
    • Supports for mysql data source.
    • Provides data source connection initialization script configuration capability.
    • Provides the ability to configure data source JDBC driver parameters.
  • Data desensitization
    • Supports desensitization of view data.
  • Export
    • Supports export type objects.
    • Supports for displaying the database object to be exported during the derivative process.
  • Bastion machine integration
    • Supports automatic account integration and data source configuration.

Enhancements

  • SQL development
    • The layout of the resource tree has been upgraded to reserve more usable space for database objects.
    • Upgrade the filtering capability of the resource tree.
    • Upgrade the searching ability of resource tree.
    • In the resource tree, the display of data source and database includes factors such as type, state and environment standard, which improves the intuitiveness of information acquisition.
    • Upgrade SQL window database switching interaction, support search and match, shorten the time of switching database.
    • Supports table object right click to open SQL Windows, copy SQL Windows.
    • Add an anonymous block window to the SQL window TAB bar.
  • Table object management
    • Add a status flag for whether an index of a table object is available.
    • Add json data type support for the OceanBase MySQL.
    • Based on DDL, the index and constraint information of table objects are parsed, and the performance of table object viewing in large-scale table table scenarios is optimized.
  • Data desensitization
    • The interaction of data desensitization configuration has been upgraded, improving the usability of the configuration process.
  • Others
    • Forward and backward sensitive field transmission is upgraded to asymmetric encryption.
    • Session management supports filtering by status.

Bug fixed

  • Import and export
    • The imported table name contains "-", import failure.
    • The export package does not export the package body.
  • Table
    • View column information does not show the length of the string data type.
  • DLM
    • The user applied to terminate the task, but there was no pass button on the approval screen.
    • Periodic data archiving tasks do not have a cancel button.
    • The task that contains the filter criteria for the subquery failed to execute.
  • SQL execution
    • The varchar data type is not highlighted in the SQL window in Oracle mode.
    • SQL execution time statistics error.
    • get_diagnostics statement is not supported in MySQL mode.
  • Result set
    • Data is null in column mode.
    • Failed to save the file to excel format while exporting result set.
  • PL debugging
    • Failed to set breakpoints when debugging anonymout block on OceanBase 4.2.x.
    • Failed to debug any subroutines defined in a package.
  • Database change
    • The database change task takes too much time to start up.
  • Session management
    • An error occurred when the session management switchover database.
  • Project
    • Adding a database to a project does not filter the deleted database.