OBLOADER & OBDUMPER V4.1.0 released in February, 2023 mainly supports exporting the schemas of temporary tables in Oracle mode of OceanBase Database and exporting sequence object definitions in MySQL mode of OceanBase Database. OBLOADER & OBDUMPER V4.1.0 increases the schema export speed for 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 in Oracle mode of OceanBase Database, 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 operational 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
Version release date: February 24, 2023
Supported OceanBase Database versions
OBLOADER & OBDUMPER V4.1.0 supports the following OceanBase Database versions:
| OceanBase Database mode | Supported versions |
|---|---|
| Oracle mode | 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, V3.1.x, V3.2.x, and V4.0.0 |
| MySQL mode | 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, V3.1.x, V3.2.x, and V4.0.0 |
Feature updates
OBLOADER:
You can specify the
--endpointoption to read schema files from the OSS console and import them to the database.The preprocessing function
db_sequenceis provided, which allows you to specify a database sequence defined in a control file to import data. For more information, see OBLOADER preprocessing functions.The readability of SQL script logs imported in MIX mode is enhanced.
Fuzzy match of database object names is supported during data import, and matched tables are imported 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 under OBLOADER.
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.
OBDUMPER:
Temporary tables can be exported.
Sequence definitions can be exported.
Schemas of temporary tables can be exported in Oracle mode of OceanBase Database.
Sequence object definitions can be exported in MySQL mode of OceanBase Database.
The schema export speed for more than 10,000 foreign keys is increased.
The TO_DATE and TO_TIMESTAMP conversions are supported for date data that is exported in Oracle mode of OceanBase Database.
The
--block-sizeoption is enhanced to support splitting exported files by a specified number of rows. For more information, see Command-line options of OBDUMPER.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.
Fixed issues
OBDUMPER returns an error that the table group does not exist when exporting an entire database in the GBK character set.
The export speed is slow when the
--sys-passwordoption is specified in the command line of OBDUMPER and the number of foreign keys exceeds 10,000.The CHECK constraint has an extra pair of quotation marks when OBDUMPER exports schemas.
The export fails when OBDUMPER repeatedly exports data to the same path.
The result set contains NULL values and fails to be exported when the
--query-sqloption is specified in the command line of OBDUMPER to join multiple NOT NULL columns.OBDUMPER uploads SQL files to the OSS bucket path specified by the
--bucket-urioption and exports SQL files to a local directory specified by the-foption. In this process, SQL files exported to the local directory are also uploaded to the OSS bucket and then deleted from the local directory.The OBDUMPER and OBLOADER command lines do not have a verification feature to verify the required command-line options.
OBDUMPER exports TABLE GROUP objects from databases that are not specified in the export command in an Oracle tenant of OceanBase Database.
OBDUMPER fails to export the result set, which is returned by a custom query statement specified by the --query-sql option, in ORC and PAR format.
The backup set information fails to be serialized in backup and recovery mode.
JSON files are not uploaded to the OSS bucket in the backup and recovery mode.
After database objects are exported, OBDUMPER returns a no dependency error at the
WARNlog level when the sys tenant password is not specified in the command line.
Known issues
The exported database object definitions may contain the name of the database to which the object belongs.
If you do not specify the sys tenant password on the command line, OBDUMPER cannot export table group definitions from OceanBase Database of versions earlier than V2.2.70.
If you do not specify the sys tenant password on the command line, OBDUMPER cannot export index definitions from OceanBase Database of versions earlier than V2.2.50 in Oracle mode.
If you do not specify the sys tenant password on the command line, OBDUMPER cannot export partition information of unique indexes from OceanBase Database of versions earlier than V2.2.70 in Oracle mode.
If you do not specify the sys tenant password on the command line, OBDUMPER cannot export unique index definitions of partitioned tables from OceanBase Database V2.2.70 and later versions in Oracle mode.
OBDUMPER cannot export PL object definitions from OceanBase Database of versions earlier than V2.2.30 in MySQL mode.
When you use OBLOADER to import data, an error occurs if the specified file format, such as --sql or --csv, does not match the actual file format.
In MySQL mode of OceanBase Database, when you explicitly specify object names, such as the names of tables and views, in a case-sensitive manner to import or export only objects of the case-sensitive names, objects are imported or exported in a case-insensitive manner.
Usage notes
In a CUT file, each data record is stored in an entire line. When you specify the
--cutoption on the OBDUMPER command line, if the exported data contains a single-character field separator, OBDUMPER escapes special characters in the data, such as separators, carriage returns, and line breaks. For example, if the data isabc|defand the separator is|, the exported data isabc\|def.When you specify the
--cutoption on the OBLOADER command line, do not use the--trail-delimiteroption if no field separator or separator string exists at the end of the data line in the file. Otherwise, a serious error occurs on OBLOADER.When 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 into the database. You need to manually convert the exported physical shard to a logical one before you import it to the database for business use. .To preprocess data to be imported or exported by using a control file, you need to use the
--tableand--ctl-pathoptions. The--tableoption must be set to the table name in the same letter case as that specified in--ctl-path. Otherwise, OBLOADER & OBDUMPER fails to identify the control file.When you specify the
--partitionoption on the command line to export data in a partition, you need to 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 privileges of the sys tenant. If OBDUMPER does not have privileges of the sys tenant, do not specify this option.Before you use OBDUMPER & OBLOADER to export data from or import data to OceanBase Database V3.2.4.0 and later, set the system parameter
open_cursorsto a larger value. Otherwise, an error may occur. After the data is imported or exported, reset the system parameter to the initial value, for example,ALTER SYSTEM SET open_cursors = 65535;.If the schema of a table has been changed in OceanBase Database V4.0.0.0 or later, you cannot use OBDUMPER to export the baseline data obtained after the lasted major compaction (or consistent snapshot data). You can manually initiate a major compaction and then re-export the most recent baseline data.
The value for the
--block-sizeoption must be an integer.When you import 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.