Releases: oceanbase/odc
Releases · oceanbase/odc
Release 4.3.3
Version Changes
- Data Lifecycle Management
- Added archiving paths from Oracle to Object Storage.
- Added archiving paths from MySQL to Object Storage.
- Added archiving paths from OceanBase MySQL to Object Storage.
- Added archiving paths from OceanBase Oracle to Object Storage.
- Added archiving paths from PostgreSQL to Object Storage.
- Added support for editing history review with content comparison.
- Introduced dynamic target table definition to support storing historical data by day, month, or other time units.
- Added ability to delete archiving and cleanup tasks when completed or terminated.
- Optimized rollback logic to only revert data archived in the current task.
- Online Schema Change
- Added retry mechanism with enhanced retry logic for various failure scenarios.
- Added status display for online schema changes, allowing progress tracking of running tasks.
- Change Risk Management
- Introduced global project roles including Global Project Admin, Global Security Admin, and Global DBA.
- Added project archiving validation to check for unfinished tickets and periodic tasks before archiving.
- Added support for project deletion for archived projects.
- Implemented fine-grained view permission control with user-initiated permission requests.
- Expanded executable SQL types in SQL window to include
call
,comment
,set session
, and more. - Extended SQL check support for native Oracle data sources.
- Added change approval workflow for native Oracle data sources.
- Added 2 new SQL check rules for standardizing
create like
andcreate as
table creation statements.
- SQL Development
- Added GUI support for OceanBase external tables.
- Added support for displaying secondary partitions in OceanBase partitioned tables.
- Added support for editing stored procedures in OceanBase MySQL mode.
- Added support for PL debugging via OBProxy.
- Other Enhancements
- Added SAML single sign-on support.
- Added session kill capability for native Oracle data sources.
- Added compatibility for OceanBase V4.2.5 and V4.3.3.
- Added support for OBKV SQL mode.
- Enabled secure cookie mechanism for enhanced data transmission security.
- Added column width adjustment support for forms (ticket lists, database lists).
- Usability Improvements
- Added persistent project search criteria to reduce frequent searches.
- Maintained last used project context across user sessions.
- Standardized risk identification rule conditions using operators and English expressions to avoid ambiguity.
- Enhanced connection keep-alive logic with 3-minute database request intervals.
- Added project column in non-project ticket module for quick project identification.
- Extended "Create Again" functionality to all ticket types except logical database changes, partition plans, and shadow tables.
- Refined ticket management scope: admins and DBAs can manage all project tickets, while other roles can only manage self-initiated tickets. Also, all members can view tickets in their projects.
Bug Fixes
- Data Sources
- Fixed synchronization of system databases like
information_schema
to projects in bastion host integration scenarios. - Resolved database synchronization suspension issues.
- Fixed synchronization of system databases like
- Tickets
- Fixed approval workflow triggering in personal workspace for data archiving tickets.
- Fixed status inconsistency in data archiving/cleanup task execution records.
- Fixed structure comparison task execution issues for non-current account users.
- Fixed Oracle table structure export failures with virtual columns.
- Fixed structure comparison failures for OceanBase MySQL tables with full-text index tokenizers.
- Fixed operation record viewing failures for periodic tasks with numerous subtasks.
- Fixed non-working configuration retention in export tasks.
- Change Management
- Fixed unauthorized view exports.
- Fixed partition plan disable issues affecting project archiving.
- SQL Development
- Fixed NPE exceptions in specific SQL check scenarios.
- Fixed PL drop requiring database change permissions.
- Fixed display issues for functions with year return type.
- Fixed PL creation and drop failures with @ in names.
- Fixed table detail viewing failures for Oracle tables with extended statistics (
DBMS_STATS.CREATE_EXTENDED_STATS
). - Fixed ineffective row limit for Insert statements.
- Fixed null pointer exceptions when exporting array function result sets.
- Fixed missing run button for package subprocedures in Chrome 118.
- Fixed error when viewing subprocedures in package headers.
- Other
- Fixed last used project not opening on subsequent ODC access.
Release 4.3.2_bp3
Bug fixes
- Fixed an overflow issue with
tinyint
during native MySQL to native MySQL archiving. - Fixed a null pointer error in archiving caused by the current value of a numeric column being null when the previous column was empty.
- Fixed an issue where archiving failed due to null values in
timestamp
fields. - Fixed a null pointer error that occurred when executing SQL after upgrading from a lower version with custom environments to ODC 4.3.2-BP1.
Release 4.3.2_bp2
Bug fixes
- Fixed a mapping issue with time-type fields in MySQL to OBMySQL archiving tasks that caused task failures.
- Fixed a timeout issue in Oracle mode archiving for large tables caused by a short
HINT
timeout setting. - Fixed an issue where the condition matching strategy did not take effect in MySQL mode archiving.
- Fixed a slow query issue when setting composite vector filter conditions in OBMySQL mode archiving.
- Fixed an issue where the database change subtask status did not match expectations when "Ignore Errors and Continue" was selected in the partitioning plan.
- Fixed data loss caused by the
lock user
command not taking effect during online schema changes.
Release 4.3.2_bp1
Bug fixes
- Fixed an issue where environment labels in projects were not updated after modifying them in data sources.
- Fixed an error when opening the SQL console after adding custom environment labels to a data source.
- Fixed a PL debugging error that occurred when there were both deleted and non-deleted databases with the same name under the same data source.
- Fixed an issue where the specified condition matching strategy in data archiving did not take effect.
- Fixed a timeout error during archiving in OBOracle mode.
- Fixed an issue where archiving failed due to inconsistent field order between source and target in OBMySQL mode.
- Fixed the overly narrow right-click menu in the object tree.
Release 4.3.2
This release focuses on enhancing three key areas:
- Logical Database Support: Introduced a new logical database feature, providing a fast, reliable, and user-friendly foundation for managing database and table partitions. This update includes logical database configuration, access control management, and the ability to extract logical tables, create new ones, and perform DDL changes.
- Expanded Data Archiving: Two new archiving paths have been added. Building on the previous version’s support for MySQL to OBMySQL archiving, this update introduces support for Oracle to OBOracle and PostgreSQL to OBMySQL archiving.
- SQL Development and Data Source Management Enhancements: Usability improvements have been made to the SQL development page, data sources, and forms, with over ten features optimized, including the navigation keys, resource tree objects, and SQL execution results.
For more details on this update, please refer to the version change list.
Feature Updates
- Logical Database
- Added support for configuring and removing logical databases.
- Automatically extract logical tables based on the topology distribution of physical tables to improve efficiency.
- Provided a new feature for creating logical tables, where users can follow prompts to configure and create logical tables.
- Added support for submitting logical database DDL change requests through the database change order feature.
- Added structural consistency checks for logical tables to detect physical table inconsistencies.
- Logical databases are now included in the existing database and table permission management system, ensuring secure access to logical database data.
- Data Archiving
- Added new support for archiving from Oracle to OceanBase Oracle.
- Added new support for archiving from Oracle to Oracle.
- Added new support for archiving from OceanBase Oracle to Oracle.
- Added new support for archiving from PostgreSQL to OceanBase MySQL.
- Data Cleanup
- Added support for data cleanup for Oracle databases.
- Added support for data cleanup for PostgreSQL databases.
- SQL Checks
- Added a new SQL row impact check specification for OceanBase MySQL and MySQL data sources, enabling the limitation of large SQL changes to ensure business stability.
- Partitioning Plan
- For date-type field partitions, added an option to ensure partition names and partition content ranges are consistent.
- Data Import
- The ODC desktop version now supports direct folder selection for data imports.
- SQL Window
- Added a feature where clicking the product logo on the SQL development page returns users to the project list page, providing a quick way to return to the homepage.
- Improved the interaction of the SQL window positioning key, ensuring that the targeted database is automatically displayed in the visible area.
- SQL executed in the SQL window now shows DB execution time directly on the result tab.
- Optimized sorting of resource tree objects; resource tree items (data sources, projects, databases, tables, views, etc.) are now sorted by name by default.
- Users can now initiate all types of tickets directly from databases in the SQL window resource tree.
- Data Source
- Databases under a data source can now be filtered quickly based on availability and whether they are assigned to a project.
- Improved interaction for data source connection initialization scripts, providing quick guides for common parameter configurations.
- Usability
- Optimized empty data state interactions across all features (data sources, projects, scripts, resource tree, etc.).
- Optimized data source selection interactions across all features (database maintenance, sensitive column scanning, adding new databases to projects).
- For commonly used forms (ticket lists, database lists, user lists), columns that do not display fully (ticket description, data source column, sorting rules, user roles, etc.) now display full content on hover.
- Added a GitHub issue link on the feedback page, allowing users to provide product feedback quickly via the open-source community.
- Others
- SSO integration now supports Azure AD.
- Updated the platform's login password policy. The latest policy requires a password length of 8-32 characters, containing at least three of the following four character types: numbers (0-9), uppercase letters (A-Z), lowercase letters (a-z), and special characters (all English special characters).
Bug Fixes
- Data Objects
- Fixed an error where SQL generated from formatted columns with large data types failed upon execution.
- Incorrect precision for
tinyint
type in MySQL mode has been fixed. - Resolved an issue where NULL values in CLOB or BLOB columns could not be edited via the GUI.
- Change Management
- Fixed incorrect precision for
tinyint
column types (MySQL data source) in SQL generated by schema comparison tasks. - Resolved an issue where partition names were misidentified as table names, leading to permission errors.
- Fixed a bug where
new_table
inrename table old_table to new_table
was mistakenly flagged as needingnew_table
permissions. - Addressed potential failures in data simulation tasks for MySQL 5.7.
- Resolved an issue where the manual execution button remained clickable after triggering manual execution.
- Fixed failure in creating or updating rules when there were too many risk identification rules.
- Fixed an issue where the page could not scroll when there were too many risk identification rules.
- Resolved an issue allowing scheduling intervals of less than ten minutes for periodic tasks.
- Fixed incorrect precision for
- Import and Export
- Fixed an issue where merging PL and table DDL into a single SQL file could cause import failures due to syntax errors.
- Resolved a bug where path issues could cause export failures on the Windows desktop version.
- Fixed an issue in OceanBase Oracle mode where exported result sets would be empty if table names were lowercase.
- Resolved export failures for native MySQL data on the Windows desktop version.
- Fixed errors when exporting tables with BigDecimal types.
- Addressed an issue where the result set export would fail when using
*
andnvl
functions in SQL. - Fixed export failures for result sets containing SDO-GEOMETRY data types.
- Data Archiving
- Fixed errors that occurred when modifying data archiving rate limiting parameters.
- Corrected inaccurate scan record counts in the details of executed archiving tasks.
- Fixed a bug in OceanBase Oracle mode where archiving operations would fail if users did not have DBA permissions.
- Data Source
- Fixed an issue where testing an OceanBase SYS tenant data source incorrectly succeeded when OceanBase Oracle type was selected.
- Others
- Resolved potential SSO login failures in environments with load balancing services.
- Fixed the issue where the startup parameter
ODC_APP_EXTRA_ARGS
was ineffective.
v4.3.1_bp1
Bug fixes
- Disabled the feature for synchronizing table structures with versions earlier than MySQL 5.7.
- Fixed an issue where the desktop version of ODC V4.3.1 could not be installed on Windows Home editions.
- Fixed a problem where alert notifications failed when the content type was set to
text/plain
. - Fixed an issue where function calls in SQL were incorrectly intercepted by permission checks.
- Fixed a problem where having export permissions for only one table allowed exporting the entire database.
- Corrected the display issue of foreign key constraints'
ON DELETE
rules. - Fixed an issue where regular users received "no permission" errors when viewing task details after tasks were assigned a risk level.
- Fixed an issue where the "Specify Partition" option was not selected when re-initiating data archiving tasks based on the specified partition.
- Fixed a problem where project owners could not see the "Edit" and "Terminate" buttons when viewing task details.
- Fixed a potential data loss issue with online schema changes.
- Corrected an issue where the status icon for selectable databases remained in a loading state when requesting database permissions.
- Fixed a problem where databases with invalid statuses were not grayed out in the list of selectable databases for table permission application tasks.
- Fixed an issue where the context menu opened via right-click in the structure tree was too narrow, causing some options to be cut off.
Release 4.3.1
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
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
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
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
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