OBLOADER & OBDUMPER V4.2.8.2 released in March 2024 has fixed some known issues.
Version information
Current version: V4.2.8.2
Previous version: V4.2.8.1
Release date: March 11, 2024
Considerations
Notice
When you upgrade OBLOADER & OBDUMPER from a version earlier than V4.2.8 to V4.2.8.2, take note of the following considerations:
OBLOADER & OBDUMPER V4.2.8 and later allow you to specify the value of
-u/--userin the three-segment format of<user\>@<tenant\>#<cluster\>. For backward compatibility, you can still use the-t/--tenantand-c/--clusteroptions.When you use the
--storage-urioption in a data import/export scenario involving Alibaba Cloud Object Storage Service (OSS) or Hadoop Distributed File System (HDFS), the-f/--file-pathoption is no longer a must. OBLOADER & OBDUMPER will automatically create a temporary directory/tmpin its root directory for storing logs and checkpoint files.Notice
This modification applies only in a debugging environment. In a production environment, we recommend that you use the
-for--log-pathoption to specify the log storage directory.The behavior for parsing POS files is changed. In this version, the parser processes a whole line. In other words, in addition to the byte length defined in the control file, the parser will further read a line break for each line. You may need to modify the control file to adapt to this change. You can run the following command to calculate the number of bytes in the first line of the
example.datfile:expr $(head -n 1 example.dat | wc -c) - 1.Schema export performance optimization is supported for Oracle tenants of OceanBase Database only in the following scenarios:
The
--no-sysoption is used in the export for an Oracle tenant of OceanBase Database of a version earlier than V4.0.0.The
--compact-schemaoption is used in the export for an Oracle tenant of OceanBase Database V4.0.0 or later.
Bug fixes
Fixed the issue where the table schema is exported when you specify to export the schema of a non-table object.
Fixed the issue where the data of all partitions of the table may be exported when you use the
--partitionoption to export the data of a specific partition.Fixed the syntax defects in the batch processing script for Windows.
Fixed the issue where a NullPointerException (NPE) error occurs if the
-t/--tenantoption is not specified when you export data from ApsaraDB for OceanBase.
Known issues
The exported database object definitions may contain the name of the database to which the object belongs.
OBDUMPER cannot export PL object definitions from OceanBase Database of a version earlier than V2.2.30 in MySQL mode.
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 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 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 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.After you enable case sensitivity for object names, such as table names and view names, in OceanBase Database in MySQL mode, objects are imported or exported in a case-insensitive manner.
The high-availability mode “sequential” of OceanBase Connector/J is unavailable for now. You can use the “loadbalance” mode instead.
If you specify the
--remove-newlineoption to remove line breaks, unexpected escape characters will be generated. Therefore, we recommend that you do not use this option.If you use bypass import in a multi-table restore scenario, the performance may be undesirable.
Considerations
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 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 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.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.If 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 thesystenant. If OBDUMPER does not have privileges of thesystenant, 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 a MySQL tenant of OceanBase Database, OceanBase Connector/J converts the zero values of date and time type fields in the database to
NULL. If a column has aNOT NULLconstraint, an error will be reported during the export. OBDUMPER V4.2.0 can export zero values of date and time type fields, but cannot identify whether the original data isNULLor zero values during 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 non-zero approximate values. If thesql_modevariable in the database is specified with the NO_ZERO_DATE or NO_ZERO_IN_DATE constraint, an error will be reported when zero-value data is exported. Take note of this consideration on zero values when you export data of the DATE, DATETIME, TIME, YEAR, or TIMESTAMP type from a MySQL tenant of OceanBase Database.Feature differences in schema export in Oracle and MySQL tenants
| Tenant type | Password of the sys tenant provided | Password of the sys tenant not provided |
| MySQL | 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:
|
| Oracle | Tables, views, triggers, synonyms, sequences, stored procedures, functions, packages, table groups, and types are supported. |