This topic describes the environment requirements for deploying OceanBase Developer Center (ODC) and the limitations on each feature module.
Web ODC
| Environment | 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 higher |
Client ODC
| Environment | Requirements |
|---|---|
| Operating system |
|
| Java | Java Development Kit (JDK) of version 1.8.0_200 or later but earlier than version 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 higher |
Support for data source types
| Category | Feature | OceanBase Oracle | OB Cloud Oracle | OceanBase MySQL | OB Cloud MySQL | OB Sharding MySQL | MySQL | Oracle | Doris |
|---|---|---|---|---|---|---|---|---|---|
| Collaborative control | Change approval | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| SQL window specifications | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | |
| SQL check specifications | Yes | Yes | Yes | Yes | Yes | Yes | No | No | |
| Security and compliance | Data desensitization | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes |
| Operation records | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Data lifecycle management | Data cleanup | Yes | Yes | Yes | Yes | No | Yes | No | No |
| Data archiving | Yes | Yes | Yes | Yes | No | Yes | No | No | |
| Partitioning plans | Yes | Yes | Yes | Yes | No | No | No | No | |
| SQL window | SQL execution | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| SQL check | Yes | Yes | Yes | Yes | Yes | Yes | No | No | |
| Auto-completion | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Execution plans | Yes | Yes | Yes | Yes | No | Yes | No | No | |
| Formatting | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| End-to-end tracing | Yes | Yes | Yes | Yes | No | No | No | No | |
| Result set viewing | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Result set search | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Result set editing | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | |
| Result set export | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | |
| Script management | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Snippets | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Settings | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| GUI-based object management | Tables | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Views | Yes | Yes | Yes | Yes | No | Yes | Yes | No | |
| Functions | Yes | Yes | Yes | Yes | No | Yes | Yes | No | |
| Stored procedures | Yes | Yes | Yes | Yes | No | Yes | Yes | No | |
| Packages | Yes | Yes | No | No | No | No | Yes | No | |
| Triggers | Yes | Yes | No | No | No | No | Yes | No | |
| Types | Yes | Yes | No | No | No | No | Yes | No | |
| Sequences | Yes | Yes | No | No | No | No | Yes | No | |
| Synonyms | Yes | Yes | No | No | No | No | Yes | No | |
| Anonymous blocks | Yes | Yes | No | No | No | No | Yes | No | |
| PL capabilities | Compilation | Yes | Yes | Yes | Yes | No | No | No | No |
| Running | Yes | Yes | Yes | Yes | No | Yes | No | No | |
| Debugging | Yes | No | No | No | No | No | No | No | |
| Tickets | Import | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes |
| Export | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | |
| Data mocking | Yes | Yes | Yes | Yes | No | Yes | No | No | |
| Database changes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Synchronization of shadow tables | No | No | Yes | Yes | No | No | No | No | |
| SQL plans | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Lock-free schema changes | Yes | Yes | No | No | No | No | No | No | |
| Database O&M | Session management | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Session variable management | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | |
| Recycle bin management | Yes | Yes | Yes | Yes | No | No | No | No | |
| Command-line window | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes |
Note
For 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 data source versions
| Supported data source type | Supported version |
|---|---|
| OceanBase Oracle Cloud Oracle OceanBase MySQL OB Cloud MySQL |
|
| OB Sharding MySQL |
|
| MySQL | MySQL 5.7 |
| Oracle | Oracle 11g |
| 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>andGRANT DEBUG ANY PROCEDURE TO <user>statements to grant debugging permissions.In ODC of a version earlier than V4.1.3-bp4, a user configured in an OceanBase MySQL data source must have the mysql.proc permission. 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, 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.
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 delete 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 OceanBase Database in Oracle mode. To change the transaction commit mode, see How do I change the transaction commit mode?.
ODC supports two transaction commit modes: Manual and Automatic. 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 when the execution interval between two 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 | 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 |
| 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. This 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 advanced RISC machine (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 exported in one batch in ODC cannot exceed 2 GB before compression. To export data of a larger size, use the data export tool OBDUMPER.
The maximum size of files imported in one batch in Web ODC cannot exceed 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 for partition management.
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 a partitioning strategy 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 the command-line window
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:
You must connect to an OceanBase data source by using ODP. At present, you cannot archive data in a directly connected OceanBase data source.
At present, an OceanBase data source must be a cluster instance. Therefore, you must configure the cluster instance name when you create an OceanBase data source.
If the data sources of the source and destination are of different types, the destination table cannot be automatically created.
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.
The following archive links are supported:
Links between MySQL tenants of OceanBase Database
Links between Oracle tenants of OceanBase Database (table schema synchronization is not supported)
Links between MySQL databases
Link from a MySQL database to a MySQL tenant of OceanBase Database (table schema synchronization is not supported)
Link from a MySQL tenant of OceanBase Database to a MySQL database (table schema synchronization is not supported)
Data archiving is not supported in the following cases:
The source table in the OceanBase MySQL or MySQL data source does not have a primary key or a non-null unique index.
The source table in the OceanBase MySQL or MySQL data source contains fields of the bit, enum, set, xml, or geometry data type
The source table in the OceanBase Oracle data source does not have a primary key.
The source table in the OceanBase Oracle data source contains fields of the RAW, BLOB, CLOB, BFILE, ROWID, UROWID, timestamp with time zone, timestamp with local time zone, interval year to month, or interval day to second data type.
The archiving condition contains a
LIMITclause.The source table contains a foreign key.
Limitations on data cleanup
Pay attention to the following rules:
You must connect to an OceanBase data source by using ODP. At present, you cannot archive data in a directly connected OceanBase data source.
At present, an OceanBase data source must be a cluster instance. Therefore, you must configure the cluster instance name when you create an OceanBase data source.
CPU and memory exhaustion prevention is not supported for a MySQL data source.
Supported data sources for data cleanup are as follows:
OceanBase MySQL data sources
OceanBase Oracle data sources
MySQL data sources
Data cleanup is not supported in the following cases:
The table in the OceanBase MySQL or MySQL data source does not have a primary key or non-null unique index.
The table in the OceanBase MySQL or MySQL data source contains fields of the bit, enum, set, xml, or geometry data type.
The table in the OceanBase Oracle data source does not have a primary key.
The table in the OceanBase Oracle data source contains fields of the RAW, BLOB, CLOB, BFILE, ROWID, UROWID, timestamp with time zone, timestamp with local time zone, interval year to month, or interval day to second 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 and ApsaraDB for OceanBase.
The table must have a primary key or non-null unique key and does not have foreign keys.
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.
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 keys | 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. | |
| Partitions | Drop partitions | Yes | |
| Truncate partitions | Yes | ||
| Repartition a table | Yes | ||
| Change a non-partitioned table into a partitioned table | Yes |
Limitations on login integration
Only the authorization-code mode is supported in OAuth and OIDC.
When you log off in OAuth/OIDC, only the logon state in ODC is cleared, and the logon state in the single sign-on (SSO) system is not cleared.