This topic describes the environment requirements for deploying OceanBase Developer Center (ODC) and the limitations on each feature module.
Web ODC
| Item | Requirements |
|---|---|
| Operating system |
|
| Docker | Docker Engine 20.10 and later |
| Browser |
|
| CPU | x86 or ARM architecture, 64-bit processor with two or more cores |
| Memory | 4 GB or more |
Client ODC
| Item | Requirements |
|---|---|
| Operating system |
|
| Java | Java Development Kit (JDK) 1.8.0_200 or later, but earlier than JDK 9
NoteIn ODC V3.2.0 and later, the installation package of Client ODC incorporates the Java Runtime Environment (JRE) installation packages for macOS and 64-bit Windows. In other words, ODC V3.2.0 and later do not rely on the JRE of the deployment environment. |
| CPU | x86_64 processor with two or more cores |
| Memory | 4 GB or more |
Feature support of different data source types
| Category | Feature | OceanBase Oracle | OB Cloud Oracle | OceanBase MySQL | OB Cloud MySQL | OB Sharding MySQL | MySQL | Oracle | Doris | PostgreSQL |
|---|---|---|---|---|---|---|---|---|---|---|
| Collaborative control | Change review | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
| SQL window specifications | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | |
| SQL check specifications | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | |
| Security and compliance | Data desensitization | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | No |
| Operation records | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | |
| Data lifecycle management | Data cleanup | Yes | Yes | Yes | Yes | No | Yes | Yes | No | Yes |
| Data archiving | Yes | Yes | Yes | Yes | No | Yes | Yes | No | Yes | |
| Partitioning plans | Yes | Yes | Yes | Yes | No | No | No | No | No | |
| SQL window | SQL execution | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
| SQL check | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | |
| Auto-completion | Yess | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | |
| Execution plans | Yes | Yes | Yes | Yes | No | Yes | No | No | No | |
| Formatting | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | |
| End-to-end tracing | Yes | Yes | Yes | Yes | No | No | No | No | No | |
| Result set viewing | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | |
| Result set search | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | |
| Result set editing | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | |
| Result set export | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | No | |
| Script management | Yess | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | |
| Snippets | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | |
| Settings | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | |
| GUI-based object management | Tables | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
| Views | Yes | Yes | Yes | Yes | No | Yes | Yes | No | No | |
| Functions | Yes | Yes | Yes | Yes | No | Yes | Yes | No | No | |
| Stored procedures | Yes | Yes | Yes | Yes | No | Yes | Yes | No | No | |
| Packages | Yes | Yes | No | No | No | No | Yes | No | No | |
| Triggers | Yes | Yes | No | No | No | No | Yes | No | No | |
| Types | Yes | Yes | No | No | No | No | Yes | No | No | |
| Sequences | Yes | Yes | No | No | No | No | Yes | No | No | |
| Synonyms | Yes | Yes | No | No | No | No | Yes | No | No | |
| Anonymous blocks | Yes | Yes | No | No | No | No | Yes | No | No | |
| PL capabilities | Compilation | Yes | Yes | Yes | Yes | No | No | No | No | No |
| Running | Yes | Yes | Yes | Yes | No | Yes | No | No | No | |
| Debugging | Yes | No | No | No | No | No | No | No | No | |
| Tickets | Import | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | No |
| Export | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | No | |
| Data mocking | Yes | Yes | Yes | Yes | No | Yes | No | No | No | |
| Database changes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | |
| Synchronization of shadow tables | No | No | Yes | Yes | No | No | No | No | No | |
| SQL plans | Yess | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | |
| Lock-free schema changes | Yes | Yes | No | No | No | No | No | No | No | |
| Database O&M | Session management | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
| Session variable management | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | |
| Recycle bin management | Yes | Yes | Yes | Yes | No | No | No | No | No | |
| Command-line window | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No |
Note
- Limitations on Oracle data sources:
- You can only view the schemas of tables, views, functions, stored procedures, packages, triggers, types, sequences, and synonyms.
- You can view and edit table data.
- You can only run anonymous blocks.
- Limitations on PostgreSQL data sources:
- You can only archive and clear data.
Limitations on data source versions
| Data source type | Supported version |
|---|---|
| OceanBase Oracle OB Cloud Oracle OceanBase MySQL OB Cloud MySQL |
|
| OB Sharding MySQL |
|
| MySQL | MySQL 5.7 |
| Oracle | Oracle 11g |
| PostgreSQL | PostgreSQL 15.3 |
| Doris | Doris 2.0.0 and later |
Limitations on using features
Permission limitations
To perform debugging in OceanBase Database V4.0.0 and later, make sure that you have the debugging permissions. You can execute the
GRANT DEBUG CONNECT SESSION TO <user>orGRANT DEBUG ANY PROCEDURE TO <user>statement to grant the debugging permissions.In ODC of a version earlier than V4.1.3-bp4, a user configured in an OceanBase MySQL data source must have permissions on
mysql.proc. Otherwise, an error occurs when the user views functions or stored procedures in the data source.In ODC of a version earlier than V4.1.0, if you want to export objects other than tables and views from an OceanBase data source or if you want to ensure the export speed for the OceanBase data source, you must configure a sys tenant account that has query permissions on the sys tenant.
In ODC V4.1.0 and later, if you want to ensure the export speed for an OceanBase data source, you must configure a sys tenant account that has query permissions on the sys tenant.
Session limitations
ODC of a version earlier than V4.2.0 supports the shared session mode. In shared session mode, all windows in a connection share a session. If you trigger a commit or rollback operation in any window, including implicit commit scenarios, for example, if you create, modify, or drop a database object schema or execute a DDL statement, the commit or rollback operation affects all windows. For more information about the shared session and independent session modes, see How do I change the session mode in the SQL window?
In ODC of a version later than V2.3.2, by default, transactions need to be manually committed in Oracle mode of OceanBase Database. For information about how to change the transaction commit mode, see How do I change the transaction commit mode?
ODC supports the manual commit and auto-commit modes. In manual commit mode, you must set the
ob_trx_idle_timeoutparameter to an appropriate value for an OceanBase data source. This is to prevent a connection from being terminated because the execution interval between two consecutive SQL statements in a transaction exceeds the value ofob_trx_idle_timeout. Generally, the value of theob_trx_idle_timeoutparameter must be greater than the timeout value of SQL queries. If you specify an excessively large value for this parameter, the memory resources occupied by this session cannot be released in a timely manner. Proceed with caution.
PL limitations
The following table lists the PL support information of ODC.
| Feature | Supported object | Supported data source type | Supported version |
|---|---|---|---|
| Compilation | Functions, stored procedures, and packages | OceanBase Oracle OB Cloud Oracle |
V2.2.7x and V3.0.0 and later |
| Debugging | Functions, stored procedures, and anonymous blocks | OceanBase Oracle | V3.2.3 and later |
| Running | Functions and stored procedures | OceanBase Oracle OB Cloud Oracle OceanBase MySQL OB Cloud MySQL |
V2.0.x and later |
| Running | Functions and stored procedures | MySQL | V5.7 |
| Running | Packages and anonymous blocks | OceanBase Oracle OB Cloud Oracle |
V2.0.x and later |
Notice
- If the data source is an OceanBase cluster instance, you must connect to it by using ODP, and the instance does not support debugging.
- The anonymous block window is displayed only for OceanBase Oracle and OB Cloud Oracle data sources.
- ODC of a version earlier than V3.2.3 does not support debugging in the ARM architecture.
Limitations on SQL development
You cannot edit a result set that contains fields of the SET or ENUM data type.
End-to-end tracing is supported only in OceanBase Database V4.0.0 and later.
Limitations on import and export
The maximum size of data that can be exported in one batch in Web ODC is 2 GB before compression. To export data of a larger size, use the data export tool OBDUMPER.
The maximum size of files that can be imported in one batch in Web ODC is 2 GB after compression. To import data of a larger size, use the data import tool OBLOADER.
At most five concurrent import/export tasks are supported. Subsequent tasks need to wait in the queue.
By default, files related to import/export tasks are retained for 14 days.
In ODC V4.1.0 and later, you can configure a sys tenant account for an OceanBase data source to increase the import/export speed. When you export objects other than tables and views, a sys tenant account is no longer a must.
Limitations on change rollback
A rollback statement can be automatically generated only for the
UPDATEandDELETEstatements.A change task is allowed to affect a maximum of 1 million rows. If the number of affected rows exceeds 1 million, a rollback statement cannot be automatically generated for this change task.
If the table contains LOB fields, a rollback statement cannot be automatically generated.
If the table does not have a primary or unique key when the data source is an OceanBase MySQL or a MySQL data source, a rollback statement cannot be automatically generated.
If the
SETandWHEREclauses in anUPDATEstatement are the same, a rollback statement cannot be automatically generated.The maximum size of a rollback script that is automatically generated is 256 MB.
Limitations on partitioning plans
Only OceanBase MySQL and OceanBase Oracle data sources are supported.
Only RANGE-partitioned tables are supported.
When the upper bound of the last partition in a RANGE-partitioned table reaches the value specified by
MAXVALUE, no partition can be created. In this case, you cannot configure partitioning strategies in the Create Partitioning Plan panel.
Limitations on data mocking
At most 100 million rows can be mocked at a time.
Data mocking is not supported for a table with
CHECKconstraints.Data mocking is not supported for RANGE- or LIST-partitioned tables.
Limitations on schema comparison
The following links are supported for schema comparison:
Links between MySQL tenants of OceanBase Database
Links between Oracle tenants of OceanBase Database
Links between MySQL databases
Only table objects can be compared in terms of columns, primary keys, constraints, indexes, partitions, and attributes.
In terms of column attributes, only the data types, character sets, collations, comments, and default values can be compared.
Only partitions but not subpartitions can be compared.
In terms of table attributes, only the character sets, collations, and comments can be compared.
CHECKconstraints cannot be compared for MySQL tenants of OceanBase Database.For a MySQL tenant of OceanBase Database of a version earlier than V1.4.79, you cannot compare partition attributes if you do not have the query permissions on the sys tenant.
Limitations on command-line windows
Client ODC that runs on macOS does not provide a command-line window.
You can open at most three command-line windows.
Operations performed in a command-line window are not recorded.
Limitations on data archiving
Pay attention to the following rules:
Make sure that the fields in the source table are compatible with those at the destination. The data archiving service does not handle field compatibility issues.
CPU and memory exhaustion prevention is not supported for a MySQL data source.
Schema synchronization is not supported for subpartitions of homogeneous databases. Schema synchronization and automatic table creation are not supported for heterogeneous databases.
The following archiving links are supported:
Links between MySQL tenants of OceanBase Database
Links between Oracle tenants of OceanBase Database
Links between MySQL databases
Links from a MySQL database to a MySQL tenant of OceanBase Database
Links from a MySQL tenant of OceanBase Database to a MySQL database
Links between Oracle databases
Links from an Oracle database to an Oracle tenant of OceanBase Database
Links from an Oracle tenant of OceanBase Database to an Oracle database
Links from a PostgreSQL database to a MySQL tenant of OceanBase Database
Data archiving is not supported in the following cases:
The source table in the MySQL or OceanBase MySQL data source does not have a primary key or non-null unique index.
The source table in the Oracle, OceanBase Oracle, or PostgreSQL data source does not have a primary key.
The source table in the OceanBase Oracle data source contains fields of the JSON or XMLType data type.
The source table in the PostgreSQL data source contains data of the following types: array, composite, enumeration, geometry, XML, HSTORE, and full-text retrieval.
The archiving condition contains a
LIMITclause.The source table contains a foreign key.
The following archiving links do not support schema synchronization and automatic table creation:
- Links from an Oracle database to an Oracle tenant of OceanBase Database
- Links from an Oracle tenant of OceanBase Database to an Oracle database
- Links from a MySQL database to a MySQL tenant of OceanBase Database
- Links from a MySQL tenant of OceanBase Database to a MySQL database
- Links from a PostgreSQL database to a MySQL tenant of OceanBase Database
Limitations on data cleanup
Pay attention to the following rules:
- CPU and memory exhaustion prevention is not supported for a MySQL data source.
Data sources supported for data cleanup are as follows:
OceanBase MySQL data sources
OceanBase Oracle data sources
MySQL data sources
Oracle data sources
PostgreSQL data sources
Data cleanup is not supported in the following cases:
The source table in the MySQL or OceanBase MySQL data source does not have a primary key or non-null unique index.
The source table in the Oracle, OceanBase Oracle, or PostgreSQL data source does not have a primary key.
The source table in the OceanBase Oracle data source contains fields of the JSON or XMLType data type.
The archiving condition contains a
LIMITclause.The table contains a foreign key.
Limitations on data desensitization
Data desensitization is not supported in command-line windows.
Data desensitization is not supported during PL execution.
When you configure an identification rule script, Groovy supports only the Objects and String classes in Java.
When you configure an identification rule script, Groovy closures and inherent closure functions are not supported.
If sensitive data is involved when you export data from a MySQL data source, the mask all algorithm is used for desensitization.
If sensitive data is involved when you export data from an Oracle data source, the mask all algorithm is used for desensitization.
If sensitive data is involved when you export data from a Doris data source, the mask all algorithm is used for desensitization.
Limitations on lock-free schema changes
Notice
Lock-free schema change tasks are supported only in OceanBase Database Community Edition, ApsaraDB for OceanBase, and OceanBase Migration Service (OMS) Enterprise Edition.
The table contains a primary key or a non-null unique key, and does not contain a foreign key.
The table name does not exceed 54 characters in length in MySQL mode of OceanBase Database, and does not exceed 118 characters in Oracle mode.
When ODC connects to an instance of OceanBase Database Community Edition, the data source configuration information must contain the cluster name and a sys tenant account.
In Oracle mode of OceanBase Database of a version earlier than V4.0.0 or MySQL mode of OceanBase Database of a version earlier than V4.3.0, ODC locks the user and closes the session to prevent data writes during table name switching.
If you execute other DDL operations on a table on which a lock-free schema change task is being performed, the task will fail.
You need to check whether an idle OMS instance exists before using ODC in ApsaraDB for OceanBase to create a lock-free schema change task.
The following table describes the support for lock-free schema changes.
| Category | Operation | Supported | |
|---|---|---|---|
| Column operations | Change the column type | Yes | |
| Rearrange columns (to move a column before or after another or to the first position) | Yes | ||
| Change the character set | Yes | ||
| Rename columns | No | ||
| Add columns | Yes (add middle columns to tables) | ||
| Drop columns | No | ||
| Add primary key columns | No | ||
| Primary key operations | Add a primary key | Yes | The target table must have a non-null unique key. |
| Modify a primary key | Yes | The target table must have a non-null unique key. | |
| Drop a primary key | Yes | The target table must have a non-null unique key. | |
| Partition operations | Drop partitions | Yes | |
| Truncate partitions | Yes | ||
| Repartition a table | Yes | ||
| Change a non-partitioned table into a partitioned table | Yes | ||
Limitations on batch database changes
The databases to be changed at a time must belong to the same project.
The number of databases that can be changed at a time ranges from 2 to 100.
The databases to be changed at a time cannot be duplicate.
A batch database change task cannot be aborted when any of its change processes are running. In other words, such a task cannot be aborted if it is automatically executed. If manually executed, however, it can be aborted only when waiting for the next batch of change processes to start.
Limitations on logon integration
Only the authorization-code mode is supported in OAuth and OIDC.
When you log off in OAuth or OIDC, only the logon state in ODC is cleared, and the logon state in the SSO system is not cleared.
Limitations on logical databases
Only MySQL and OceanBase MySQL data sources are supported.
Only DDL changes are supported.
Only SQL check specifications and SQL window specifications included in the ODC security specifications are supported.