OBLOADER & OBDUMPER V4.0.0 released in December 2022 allows you to import and export TYPE object definitions as well as data files (compressed by default) in columnstore formats of ORC and Parquet. This version also weakens its dependency on the privileges of the sys tenant, optimizes data export performance (for tables with primary keys or with non-null unique keys), and upgrades versions of components that the underlying layer depends on. The OceanBase Connector/J driver is upgraded to V2.2.11, and the partition calculator component is upgraded to 1.4.0-RELEASE. In addition, some feature defects in earlier versions are fixed.
Version information
Current version: V4.0.0
Previous version: V3.3.2
Release date: December 13, 2022
Supported OceanBase Database versions
The following table lists the OceanBase Database versions supported by OBLOADER & OBDUMPER V4.0.0.
| Compatible mode | Supported version |
|---|---|
| Oracle | V2.0.x, V2.1.x, V2.2.20, V2.2.30, V2.2.50, V2.2.70, V2.2.71, V2.2.72, V2.2.76, V2.2.77, V3.1.x, V3.2.x, and V4.0.0 |
| MySQL | V1.4.70, V1.4.72, V1.4.75, V1.4.78, V1.4.79, V2.2.30, V2.2.50, V2.2.70, V2.2.71, V2.2.72, V2.2.76, V2.2.77, V3.1.x, V3.2.x, and V4.0.0 |
Feature updates
OBLOADER:
- The
--orcand--paroptions are provided for you to import data files in ORC and Parquet formats to OceanBase Database.
- The
OBDUMPER:
The
--orcand--paroptions are provided for you to export table data to data files in ORC and Parquet formats.The
--typeoption is provided for you to export TYPE object definitions.The dependency on the privileges of the sys tenant is weakened. Features available when the password of the sys tenant is specified are different from those available when the password is not specified. The differences are as follows:
Password of the sys tenant provided Password of the sys tenant not provided Export objects - For MySQL-compatible tenants: tables, views, table groups, stored procedures, and functions.
- For Oracle-compatible tenants: tables, views, triggers, synonyms, sequences, stored procedures, functions, packages, table groups, and types.
Remaining defects For MySQL-compatible tenants, sequence definitions cannot be exported. - Index definitions cannot be exported for Oracle-compatible tenants of OceanBase Database V3.3.2 or earlier.
- Table group definitions cannot be exported for OceanBase Database V2.2.70 or earlier.
- Definitions of unique indexes on partitioned tables cannot be exported for OceanBase Database V2.2.70 or later.
- The table schema definitions exported from OceanBase Database will lose the name of the associated table group.
Bug fixes
Fixed the issue where a syntax error is returned when OBDUMPER is used to export partitioned indexes from OceanBase Database V2.2.30 in Oracle compatible mode.
Fixed the issue where when the
--cutoption is specified on the command line of OBDUMPER, the exported data containsNULL, which is identified by OBLOADER as aNULLstring during import.Fixed the issue where OBDUMPER cannot export public synonyms from OceanBase Database in Oracle compatible mode.
Fixed the issue where OBDUMPER cannot export partition information of table groups in OceanBase Database V2.2.77 and earlier.
Fixed the issue where INSERT SQL statements are not separated by link breaks when the
--sqloption is specified on the command line of OBDUMPER.Fixed the issue where column comments exported from OceanBase Database in Oracle compatible mode contain syntax errors when the password of the sys tenant is not specified on the command line of OBDUMPER.
Fixed the issue where a NullPointerException (NPE) is thrown during a consistent export by OBDUMPER, which may be caused because that PreparedStatement is disabled in advance.
Fixed the issue where the baseline data obtained after the last major compaction cannot be exported during a consistent export by OBDUMPER.
Fixed the issue where OBLOADER cannot import TYPE object definitions exported by OBDUMPER from OceanBase Database V4.0.0.
Fixed the issue where an error is returned when OBDUMPER exports partitioned indexes from OceanBase Database V4.0.0.
Fixed the issue where OBDUMPER incorrectly identifies the database version when querying partitioned indexes in OceanBase Database V4.0.0.
Fixed the issue where OBDUMPER failed to identify the error when no data format option, such as
--ddlor--csv, is specified on the command line.Fixed the issue where the
--mixoption must be used together with the--tableoption on the command line of OBLOADER, which impairs the ease-of-use of OBLOADER.Fixed the issue where an error is returned if the file to be imported contains table group definitions when the
--mixoption is specified on the command line of OBLOADER.Fixed the issue where when OBLOADER imports data to a multi-replica cluster, the data cannot be imported if some nodes crash.
Fixed the issue where an
ArrayIndexOutOfBoundsExceptionis thrown during data import if OBLOADER uses a control file for column mapping.Fixed the issue where you cannot specify a path when you use OBLOADER to import database object definitions.
Fixed the issue where OBLOADER cannot import a table schema that contains generated columns to OceanBase Database V4.0.0.
Known issues
The exported database object definitions may contain the name of the database to which a specified object belongs.
If you do not specify the password of the sys tenant on the command line, OBDUMPER cannot export table group definitions from OceanBase Database of a version earlier than V2.2.70.
If you do not specify the password of the sys tenant on the command line, OBDUMPER cannot export index definitions from OceanBase Database of a version earlier than V2.2.50 in Oracle compatible mode.
If you do not specify the password of the sys tenant on the command line, OBDUMPER cannot export partition information of unique indexes from OceanBase Database of a version earlier than V2.2.70 in Oracle compatible mode.
If you do not specify the password of the sys tenant on the command line, OBDUMPER cannot export definitions of unique indexes on partitioned tables from OceanBase Database V2.2.70 or later in Oracle compatible mode.
OceanBase Database in MySQL compatible mode does not allow you to export definitions of SEQUENCE objects.
OBDUMPER cannot export PL object definitions from OceanBase Database of a version earlier than V2.2.30 in MySQL compatible mode.
In Windows, the import feature has defects when the
--cutoption is specified on the command line to import files.
Considerations
In a CUT file, each data record is stored in a separate line. When you specify the
--cutoption on the command line of OBDUMPER, if the exported data contains a single-character field delimiter, OBDUMPER escapes special characters in the data, such as delimiters, carriage returns, and line breaks. For example, if the data isabc|defand the delimiter is|, the exported data isabc\|def.When you specify the
--cutoption on the command line of OBLOADER, do not use the--trail-delimiteroption if no field delimiter or delimiter string exists at the end of each data line in the file. Otherwise, the data cannot be correctly imported to the database.If you specify the
--logical-databaseoption on the command line, the definition of a random physical database shard is exported and the shard cannot be directly imported to the database. You must manually convert the exported physical shard to a logical one before you import it into the database for business use.To preprocess data to be imported or exported by using a control file, you must use the
--tableand--ctl-pathoptions. The--tableoption must be set to the table name exactly the same as that specified in--ctl-path. Otherwise, OBLOADER & OBDUMPER cannot identify the control file.When you specify the
--partitionoption on the command line to export data in a partition, you must specify the name of the subpartition for a composite partitioned table. OBDUMPER cannot export data in a partition of a composite partitioned table. If the specified partition name does not exist, OBDUMPER returns an error.When you specify the
--add-extra-messageoption on the command line to export table definitions, OBDUMPER exports the name of the table group to which each table belongs. This option depends on the privileges of the sys tenant. If OBDUMPER does not have the privileges of the sys tenant, do not specify this option.When you use OBLOADER & OBDUMPER to import data to or export data from OceanBase Database V3.2.4 or later, set the
open_cursorssystem parameter to a large value. Otherwise, an error may occur during the import or export. After the data is imported or exported, reset the system parameter to the initial value, such asALTER SYSTEM SET open_cursors = 65535;.In OceanBase Database V4.0.0 or later, if the schema of a table has been changed, you cannot use OBDUMPER to export the baseline data, namely the consistent snapshot data, obtained after the last major compaction. You can manually initiate a major compaction and then export the most recent baseline data.