Releases: oceanbase/odc
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
Release 4.2.4_bp1
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
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
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
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
- Table Object
Release 4.2.3_bp1
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.