OBLOADER & OBDUMPER V4.1.0 released in February, 2023 supports exporting the schemas of temporary tables in Oracle compatible mode of OceanBase Database and exporting sequence object definitions in MySQL compatible mode of OceanBase Database. OBLOADER & OBDUMPER V4.1.0 increases the schema export speed for tables with more than 10,000 foreign keys and supports data import based on a database sequence defined in a specified control file. Fuzzy match of database object names during import and export is supported. OBLOADER & OBDUMPER V4.1.0 allows you to split the exported files by a specified number of rows. When you export data from OceanBase Database in Oracle compatible mode, you can use a date function to convert date data into dates in the required format. The capabilities of OBLOADER & OBDUMPER in recognizing and processing the capitalization of names for tables, data files, control files, and control file fields are enhanced. OBLOADER & OBDUMPER V4.1.0 allows you to read and import schema files from the Alibaba Cloud Object Storage Service (OSS) console. In terms of data import, OBLOADER & OBDUMPER V4.1.0 optimizes the runtime logs in MIX mode, improves the code quality, upgrades the data import framework, and optimizes the core logic.
Version information
Current version: V4.1.0
Previous version: V4.0.0
Release date: February 24, 2023
Supported OceanBase Database versions
The following table lists the OceanBase Database versions supported by OBLOADER & OBDUMPER V4.1.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:
Allows you to specify the
--endpointoption to read schema files from the OSS console and import them to the database.Provides the preprocessing function
db_sequencefor you to specify a database sequence defined in a control file to import data. For more information, see Preprocessing functions.Enhances the readability of SQL script logs imported in MIX mode.
Supports fuzzy match of database object names during data import, and imports matched tables in batches. The supported objects include tables, table groups, views, triggers, sequences, synonyms, types, type bodies, packages, package bodies, functions, and stored procedures. For more information, see Command-line options.
Enhances the capabilities of OBLOADER & OBDUMPER in recognizing and processing the capitalization of names for tables, data files, control files, and control file fields.
OBDUMPER:
Supports exporting temporary tables.
Supports exporting sequence definitions.
Supports exporting schemas of temporary tables in Oracle compatible mode of OceanBase Database.
Supports exporting sequence object definitions in MySQL compatible mode of OceanBase Database.
Increases the schema export speed for tables with more than 10,000 foreign keys.
Supports TO_DATE and TO_TIMESTAMP conversions for date data exported from OceanBase Database in Oracle compatible mode.
Extends the
--block-sizeoption to support splitting exported files by a specified number of rows. For more information, see Command-line options.Enhances the capabilities of OBLOADER & OBDUMPER in recognizing and processing the capitalization of names for tables, data files, control files, and control file fields.
Bug fixes
Fixed the issue where an error indicating that the table group does not exist is returned when OBDUMPER exports an entire database that uses the GBK character set.
Fixed the issue where if the password of the sys tenant is specified on the command line of OBDUMPER, the export speed is low when the number of foreign keys exceeds 10,000.
Fixed the issue where the CHECK constraint has an extra pair of quotation marks when OBDUMPER exports schemas.
Fixed the issue where the export fails when OBDUMPER repeatedly exports data to the same path.
Fixed the issue where the result set contains NULL values and the export fails when the
--query-sqloption is specified on the command line of OBDUMPER to join tables that contain multiple columns with theNOT NULLconstraint.Fixed the issue where when OBDUMPER exports data to OSS in a specified format, files of the same format in the path specified by
-fare deleted.Fixed the issue where the command lines of OBLOADER & OBDUMPER do not have a verification mechanism to verify the required command-line options.
Fixed the issue where OBDUMPER exports TABLE GROUP objects of databases that are not specified on the command line, from OceanBase Database in Oracle compatible mode.
Fixed the issue where OBDUMPER fails to export the result set of a query statement specified by the
--query-sqloption in the ORC or PAR format.Fixed the issue where the backup set information fails to be serialized in backup and restore mode.
Fixed the issue where JSON files are not uploaded to OSS in backup and restore mode.
Fixed the issue where when the password of the sys tenant is not specified on the command line of OBDUMPER, no error indicating dependency absence is recorded in WARN logs after database objects are exported.
Known issues
The exported database object definitions may contain the name of the database to which a specified object belongs.
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.
OBDUMPER cannot export PL object definitions from OceanBase Database of versions earlier than V2.2.30 in MySQL 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.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.
The value of the
--block-sizeoption must be an integer.When you export DDL statements, use the
--mixoption instead of the--ddloption if-fis set to a non-standard directory structure (a directory structure not generated by OBDUMPER). When the--sqloption is specified, for data in the file data format, ensure that one statement inserts only one record. Otherwise, specify--mixinstead of--sqlto import the data.