OBLOADER & OBDUMPER V4.2.1 released in May 2023 is adapted to new features of OceanBase Database V4.1.0. This version supports the import of database object definitions and table data from Hadoop, and optimizes resource management for database connection pools.
Version information
Current version: V4.2.1
Previous version: V4.2.0
Release date: May 17, 2023
Supported OceanBase Database versions
The following table lists the OceanBase Database versions supported by OBLOADER & OBDUMPER V4.2.1.
| 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, V4.0.0, and V4.1.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, V4.0.0, and V4.1.0 |
Feature updates
OBLOADER:
Provides the
--include-column-namesoption for you to specify the names of columns for data import. For more information, see Command-line options.Optimizes the
--storage-urioption for you to import database object definitions and table data from Hadoop. (Only Kerberos authentication is supported.)
OBLOADER & OBDUMPER:
Streamlines the configurable session variables. For more information, see Session management.
Optimizes resource management for connection pools. The resource consumption is controlled by the
--threadoption.
Bug fixes
Fixed the issue where privilege authentication configured in
secure.crtis unavailable for OBLOADER & OBDUMPER.Fixed the issue where an
ArrayIndexOutOfBoundsExceptionis thrown because the map keyword is contained in the control file of OBLOADER.Fixed the issue where the entire task fails because the serialization of a third-party database fails.
Fixed the issue where the truncate logic is skipped when OBLOADER imports an empty file and the
--truncate-tableoption is specified.Fixed the issue where duplicate records cannot be all collected when the
--max-discardsoption is specified on the command line of OBLOADER.
Known issues
The exported database object definitions may contain the name of the database to which a specified object belongs.
OBDUMPER cannot export PL object definitions from OceanBase Database of versions earlier than V2.2.30 in MySQL compatible mode.
When you specify
--query-sqlto export DATETIME data, a format issue may occur.If the password of the sys tenant is not specified on the command line, OBDUMPER cannot export table group definitions from OceanBase Database of versions earlier than V2.2.70.
If the password of the sys tenant is not specified on the command line, OBDUMPER cannot export index definitions from OceanBase Database of versions earlier than V2.2.50 in Oracle compatible mode.
If the password of the sys tenant is not specified on the command line, OBDUMPER cannot export partition information of unique indexes from OceanBase Database of versions earlier than V2.2.70 in Oracle compatible mode.
If the password of the sys tenant is not specified on the command line, OBDUMPER cannot export unique index definitions of partitioned tables from OceanBase Database V2.2.70 and later in Oracle compatible mode.
When you use OBLOADER to import data, an error occurs if the specified file format, such as
--sqlor--csv, does not match the actual file format.Even if you enable case sensitivity for object names, such as table names and view names, in MySQL compatible mode of OceanBase Database, objects are imported or exported in a case-insensitive manner.
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.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.
When you use OBDUMPER of a version earlier than V4.2.0 to export data from OceanBase Database in MySQL compatible mode, OceanBase Connector/J converts the zero values of date and time type columns in the database to
NULL. If a column has aNOT NULLconstraint, an error is returned during the export. OBDUMPER V4.2.0 can export zero values of date and time columns, but cannot identify whether the original data isNULLor zero values during the export and forcibly converts the data to zero values by default. In addition, exported zero values of the DATETIME and TIMESTAMP data types may be distorted into approximate non-zero values. If thesql_modevariable in the database is specified with the NO_ZERO_DATE or NO_ZERO_IN_DATE constraint, an error is reported when zero values are imported. In MySQL compatible mode of OceanBase Database, data types that involve the preceding zero-value issues include DATE, DATETIME, TIME, YEAR, and TIMESTAMP.Feature differences in schema export in the MySQL compatible and Oracle compatible modes:
Compatibility Mode Password of the sys tenant provided Password of the sys tenant not provided MySQL compatible Tables, views, table groups, stored procedures, and functions are supported. The export behavior is basically the same as that when the password of the sys tenant is provided, except for the following known issues: - Table group definitions cannot be exported for OceanBase Database of a version earlier than V2.2.70.
- Partition information of unique indexes cannot be exported for OceanBase Database of a version earlier than V2.2.70.
- Index definitions cannot be exported for Oracle-compatible tenants of OceanBase Database V2.2.30 or earlier.
- Definitions of unique indexes on partitioned tables cannot be exported for Oracle-compatible tenants of OceanBase Database of a version ranging from V2.2.70 (included) to V4.0.0.
Oracle compatible Tables, views, triggers, synonyms, sequences, stored procedures, functions, packages, table groups, and types are supported.