OBDUMPER allows you to specify the information required for export in command-line options. For more information about the options and their scenarios and examples, see Options and Scenarios and examples.
Introduction
Option styles
OBDUMPER supports command-line options in Unix and GNU styles.
Unix style: An option is prefixed with a hyphen and each option is a single character, such as
ps -e. In this style, you can omit the space between an option and its value, such as-p******.GNU style: An option is prefixed with double hyphens and each option is a single character or a string, such as
ps --version. An option and its value must be separated with a space, such as--table 'test'.
Option categories
Command-line options in OBDUMPER are classified into basic options and advanced options.
Basic options: general options of OBDUMPER, including connection options (such as the database connection method), feature options (such as the file format, database object type, and storage path), and other options.
Advanced options: feature options (such as the timestamp format, allowlist- and blocklist-based table/column filtering settings, and error handling method) and performance options.
Required options
When you use OBDUMPER to export data, you must specify at least the connection options, format option, database object type option, and storage path option.
Here is an example:
$./obdumper -h xx.x.x.x -P 2883 -u test@mysql#cluster_a -p ****** -D USERA --csv --table '*' -f /output
In this example, -h, -P, -u, -p, and -D are connection options, the --csv option specifies the file format, the --table option specifies the database object type, and the -f option specifies the storage path.
Basic options
Connection options
OBDUMPER can read data from and write data to an OceanBase database only after connecting to the database. You can connect to an OceanBase database by specifying the following options:
Export type
| Export type | Relevant command-line option |
|---|---|
| OceanBase Database |
|
| ApsaraDB for OceanBase | --public-cloud Specifies to export database object definitions or table data from an ApsaraDB for OceanBase cluster to a file. If you specify this option on the command line, you do not need to specify the -t or -c connection option. OBDUMPER enables the --no-sys option by default. For more information about the --no-sys option, see the corresponding option description. |
| ODP (Sharding) |
|
Feature options
File format
| Format (command-line option) | Relevant command-line option | Scenario |
|---|---|---|
| --csv Exports data files in the CSV format. |
|
This option applies to almost all business scenarios. |
| --cut Exports data files in the CUT format. |
|
This option applies to almost all business scenarios. Generally, we recommend that you export data in the CSV format. |
| POS(--cut) The POS format, namely, the fixed-length format. Unlike the CSV format, the POS format stores data in fixed-length fields. The length of each field is predefined. NoticeThe command-line option is still CUT. When you use this option, you must set the column separator to an empty string by using the |
|
This option is used for interaction with data extraction, transformation, and loading (ETL) platforms that support only a fixed-length format. |
| --sql Exports data files in the SQL format. |
|
This option applies to almost all business scenarios. |
| --mix Exports MIX files. |
|
This option can be used to export SQL files in any format. It has higher compatibility but poorer performance than the --sql option. At present, the whole text is read to the memory for parsing. Therefore, this option is inapplicable if you want to process files of a large data mount. |
| --par Exports data files in the Parquet format. |
|
This option applies to backup scenarios where you need to achieve a balance between data compression and export performance. The import/export performance is similar to that of the CSV format. However, the compression ratio is high. NoteIn a test environment, the expected compression ratio is about 20%. The distribution characteristics of data will significantly affect the compression ratio. For example, data with a high repetition rate has a higher compression ratio. We recommend that you enable parallel write to achieve the optimal performance. |
| --orc Exports data files in the ORC format. |
|
This option applies to scenarios that require extreme data compression. The import/export performance is a little poorer than that of the CSV format. Due to known issues of the third-party component Apache ORCWriter, a large amount of memory space is required during export. The compression ratio is higher than that of the Parquet format but is still subject to the data distribution. We recommend that you enable parallel write to achieve the optimal performance. |
| --ddl Exports DDL files. |
|
This option applies to logical backup. |
Note
For more information about command-line options, see the option list in this topic.
Database object types
--all
Exports all database object definitions and table data. When this option is used in combination with
--ddl, all database object definitions are exported. When this option is used in combination with--csv,--sql, or--cut, data in all tables is exported in the specified format. To export all database object definitions and table data, you can specify--alland--ddlalong with a data format option.Notice
The
--alloption is mutually exclusive with any database object options. It cannot be specified together with other database object options. If both the--alloption and a database object option are specified, the--alloption will be executed first.--table-group '*table_group_name [,table_group_name...]*'|--table-group '*'
Exports table group definitions. This option is similar to the
--tableoption, except that this option does not support data export.--table ' table_name [,table_name...] ' | --table ' * '
Exports table definitions or table data. When this option is used in combination with
--ddl, only table definitions are exported. When this option is used in combination with any data format option, only table data is exported. To specify multiple tables, separate the table names with commas (,). By default, for OceanBase Database in Oracle mode, the table names are in uppercase, and for OceanBase Database in MySQL mode, the table names are in lowercase. For example, for OceanBase Database in Oracle mode, both--table 'test'and--table 'TEST'indicate the table namedTEST. For OceanBase Database in MySQL mode, both--table 'test'and--table 'TEST'indicate the table namedtest. If table names are case-sensitive, enclose them in brackets ([ ]). For example,--table '[test]'indicates the table namedtest, while--table '[TEST]'indicates the table namedTEST. If the table name is specified as an asterisk, all table definitions or table data is exported.Note
You can use OBDUMPER V4.1.0 and later to export temporary table definitions from Oracle tenants of OceanBase Database.
--view ' view_name [, view_name...] ' | --view ' * '
Exports view definitions. This option is similar to the
--tableoption, except that this option does not support data export.--trigger ' trigger_name [, trigger_name...] ' | --trigger ' * '
Exports trigger definitions. This option is similar to the
--tableoption, except that this option does not support data export. This option is supported only for OceanBase Database in Oracle mode.--sequence ' sequence_name [, sequence_name...] ' | --sequence ' * '
Exports sequence definitions. This option is similar to the
--tableoption, except that this option does not support data export.Notice
OBDUMPER V4.0.0 and earlier apply to Oracle tenants of OceanBase Database only. OBDUMPER V4.1.0 and later apply to both MySQL and Oracle tenants of OceanBase Database.
--synonym ' synonym_name [, synonym_name...] ' | --synonym ' * '
Exports synonym definitions. This option is similar to the
--tableoption, except that this option does not support data export. This option is supported only for OceanBase Database in Oracle mode.--type ' type_name [, type_name...] ' | --type ' * '
Exports type definitions. This option is similar to the
--tableoption, except that this option does not support data export. This option is supported only for OceanBase Database in Oracle mode.Note
You can export type definitions only in OceanBase Database V2.2.77 and later.
--type-body ' typebody_name [, typebody_name...] ' | --type-body ' * '
Exports type body definitions. This option is similar to the
--tableoption, except that this option does not support data export. This option is supported only for OceanBase Database in Oracle mode.Note
This option must be used in combination with
--type. The exported type body is saved as a type file.--package ' package_name [, package_name...] ' | --package ' * '
Exports package definitions. This option is similar to the
--tableoption, except that this option does not support data export. This option is supported only for OceanBase Database in Oracle mode.--package-body ' packagebody_name [, packagebody_name...] ' | --package-body ' * '
Exports package body definitions. This option is similar to the
--tableoption, except that this option does not support data export. This option is supported only for OceanBase Database in Oracle mode.--function ' function_name [, function_name...] ' | --function ' * '
Exports function definitions. This option is similar to the
--tableoption, except that this option does not support data export.Note
Function definitions can be exported in all versions of OceanBase Database in Oracle mode. Function definitions can be exported in V2.2.30 and later of OceanBase Database in MySQL mode.
--procedure ' procedure_name [, procedure_name...] ' | --procedure ' * '
Exports stored procedure definitions. This option is similar to the
--tableoption, except that this option does not support data export.Note
Stored procedure definitions can be exported in all versions of OceanBase Database in Oracle mode. Stored procedure definitions can be exported in V2.2.30 and later of OceanBase Database in MySQL mode.
Storage path
-f ' file_path ' , --file-path= ' file_path '
The absolute path on a local disk for storing data files.
Note
If you use OBDUMPER V4.2.7 or later to export a single file, you can use
-fto specify the file name.- If you specify
--query-sql, the default file nameCUSTOM_SQLis used. - The
logdirectory is generated in the parent directory of the path specified by-f.
- If you specify
--storage-uri ' storage_uri_string '
The URI of the storage space. OBDUMPER V4.2.0 and later allow you to export data to Alibaba Cloud Object Storage Service (OSS) and Amazon Simple Storage Service (S3).
The syntax of 'storage_uri_string' is as follows:
[scheme://host]path[?parameters] parameters: key[=value],...The following table describes the components of the URI.
Component Description scheme The storage scheme. Alibaba Cloud OSS and Amazon S3 are supported.
If the scheme is not Alibaba Cloud OSS or Amazon S3, an error is returned.host The name of the storage space.
When you export data to Alibaba Cloud OSS or Amazon S3, thehostparameter specifies the bucket. For more information, see OSS Bucket.path The data storage path in the storage space. The path must start with a slash ( /).parameters The parameters required for the request.
The value can be single keys or key-value pairs.Example: Export data to Amazon S3
--storage-uri 's3://bucket/path?region={region}&access-key={accessKey}&secret-key={secretKey}'
s3: indicates that the storage scheme is Amazon S3.bucket: the name of the bucket in Amazon S3.path: the data storage path in the S3 bucket.?region={region}&access-key={accessKey}&secret-key={secretKey}: the region, AccessKey ID, and AccessKey secret.
The following table describes the supported parameters.
| Parameter | Value required? | Description | Supported storage scheme | Supported version |
|---|---|---|---|---|
| endpoint | Yes |
|
|
|
| region | Yes | The region where the S3 bucket resides. | S3 | V4.2.0 |
| storage-class | Yes | The storage class of Amazon S3. | S3 | V4.2.0 |
| access-key | Yes | The AccessKey ID used to access the bucket. | OSS/S3 | V4.2.0 |
| secret-key | Yes | The AccessKey secret used to access the bucket. | OSS/S3 | V4.2.0 |
Notice
- When you export database object definitions and table data to Alibaba Cloud OSS, the
endpoint,access-key, andsecret-keyparameters are required. - When you export database object definitions and table data to Amazon S3, the
region,access-key, andsecret-keyparameters are required. - When you use the
endpointoption in combination with-fand--file-name, take note of the following considerations:- Both the
-fandendpointoptions are required. - Regardless of whether the
--file-nameoption is specified, the-foption is no longer associated with the key of the uploaded file in the bucket. - If the
--file-nameoption is specified but the path is not specified, the endpoint is used and concatenated with an extension, for example,data/{schema}/table. - If the
--file-nameoption is not specified, the endpoint is used and concatenated with an extension, for example,data/{schema}/table.
- Both the
--ctl-path ' control_path '
The absolute path for storing control files on the local disk. You can configure built-in preprocessing functions in a control file. Data will be preprocessed by these functions before being exported. For example, the functions can perform case conversion and check the data for empty values. For the use of control files, see Data processing. When you specify this option on the command line, enclose the value in single quotation marks (' '), for example, --ctl-path '/home/controls/'.
--log-path ' log_path '
The output directory for the operational logs of OBDUMPER. If this option is not specified, OBDUMPER operational logs are stored in the directory specified by the -f option. Redirection is not required for log output, unless otherwise specified.
--no-nested-dir
Exports all files to the directory specified by the -f or --storage-uri option without generating nested subdirectories.
Other options
-H, --help
Shows the help information of the tool.
-V, --version
Shows the version of the tool.
Advanced options
Feature options
Timestamp format
--flashback-timestamp ' timestamp_string '
Exports data after a flashback point in time. This option can only be used in combination with a data format option and cannot be used in combination with the --query-sql option. This option is supported only for OceanBase Database in Oracle mode.
--nls-date-format ' date-format-string '
The nls_date_format session variable in Oracle mode of OceanBase Database. This option does not indicate to export data of the DATE data type in the specified format. Default value: YYYY-MM-DD HH24:MI:SS.
--nls-timestamp-format ' timestamp-format-string '
The nls_timestamp_format session variable in Oracle mode of OceanBase Database. This option does not indicate to export data of the TIMESTAMP data type in the specified format. Default value: YYYY-MM-DD HH24:MI:SS:FF9.
--nls-timestamp-tz-format ' timestamp-tz-format-string '
The nls_timestamp_tz_format session variable in Oracle mode of OceanBase Database. This option does not indicate to export data of the TIMESTAMP WITH TIME ZONE data type in the specified format. Default value: YYYY-MM-DD HH24:MI:SS:FF9 TZR.
--date-value-format
The export format of the DATE data type. By default, data of the DATE type is exported in the yyyy-MM-dd format in MySQL mode of OceanBase Database and in the yyyy-MM-dd HH:mm:ss format in Oracle mode of OceanBase Database.
Note
- This option can be used only in combination with the
--cut or --csv option.
- In MySQL mode of OceanBase Database, you cannot specify this option when the DATE value is zero.
--time-value-format
The export format of the TIME data type. By default, data of the TIME type is exported in the HH:mm:ss format in MySQL mode of OceanBase Database. The precision is the same as that in the table definition.
Note
- This option can be used only in combination with the
--cut or --csv option.
- In MySQL mode of OceanBase Database, you cannot specify this option when the TIME value is zero.
--datetime-value-format
The export format of the DATETIME data type. By default, data of the DATETIME type is exported in the yyyy-MM-dd HH:mm:ss format in MySQL mode of OceanBase Database. The precision is the same as that in the table definition.
Note
- This option can be used only in combination with the
--cut or --csv option.
- In MySQL mode of OceanBase Database, you cannot specify this option when the DATETIME value is zero.
--timestamp-value-format
The export format of the TIMESTAMP data type. By default, data of the TIMESTAMP type is exported in the yyyy-MM-dd HH:mm:ss.SSSSSS format in MySQL and Oracle modes of OceanBase Database. The precision is the same as that in the table definition.
Note
- This option can be used only in combination with the
--cut or --csv option.
- In MySQL mode of OceanBase Database, you cannot specify this option when the TIMESTAMP value is zero.
--timestamp-tz-value-format
The export format of the TIMESTAMP WITH TIME ZONE data type. By default, data of the TIMESTAMP WITH TIME ZONE type is exported in the yyyy-MM-dd HH:mm:ss.SSSSSS format in Oracle mode of OceanBase Database. The precision is the same as that in the table definition.
Note
This option can be used only in combination with the --cut or --csv option.
--timestamp-ltz-value-format
The export format of the TIMESTAMP WITH LOCAL TIME ZONE data type. By default, data of the TIMESTAMP WITH LOCAL TIME ZONE type is exported in the yyyy-MM-dd HH:mm:ss format in Oracle mode of OceanBase Database. The precision is the same as that in the table definition.
Note
This option can be used only in combination with the --cut or --csv option.
--preserve-zero-datetime
Specifies to preserve the raw format of zero values of date and time types during export. If this option is specified, NULL values in date and time columns with the NOT NULL constraint are exported as 0, and NULL values in date and time columns without the NOT NULL constraint are still exported as NULL. You can specify this option for DATE, DATETIME, and TIMESTAMP data types in MySQL mode of OceanBase Database.
Allowlist- and blocklist-based filtering
Allowlist- and blocklist-based table filtering
--exclude-table 'table_name [, table_name...]'
Excludes the specified tables from the export of table definitions or table data. Fuzzy match on table names is supported.
Example: --exclude-table 'test1,test*,*test,te*st'
The preceding example specifies to exclude the following tables from the export of table definitions and table data:
test1
All tables with the table name starting with test
All tables with the table name ending with test
All tables with the table name starting with te and ending with st
--exclude-data-types 'datatype [, datatype...]'
Excludes the specified data types from the data export.
--add-extra-message
Exports additional information in table definitions. For example, if you specify the --add-extra-message option on the command line to export table definitions, OBDUMPER exports the name of the table group to which each table belongs. By default, OBDUMPER does not export the additional information contained in table definitions.
Notice
If you specify the --add-extra-message option 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.
--retain-empty-files
Generates an empty file for each empty table. If this option is not specified, no file is generated for an empty table during data export.
Allowlist- and blocklist-based column filtering
--include-column-names 'column_name [, column_name...]'
Exports the specified columns in the specified order.
--exclude-column-names 'column_name [, column_name...]'
Excludes the specified columns during the export of table data. Fuzzy match on column names is not supported.
Notice
The letter case of the specified column name must be the same as that of the column name in the table definition.
--where 'where_condition_string'
Exports data that satisfies the specified conditions. This option can be used only in combination with a data format option and cannot be used in combination with the --query-sql option.
--partition 'partition_name [, partition_name...]'
Exports data of specified partitions. The option specifies the partition names. Separate multiple partition names with commas (,). This option can only be used in combination with a data format option and cannot be used in combination with the --query-sql option.
Notice
- When you specify a partition to export, you must specify the subpartition name for a subpartitioned table. You cannot export a partition by specifying only the partition name. For a template-based subpartition, its name is in the format of partition name+s+subpartition name.
- When you specify the
--partition option 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.
--query-sql 'select_statement'
Exports the result set of a custom query statement. This option cannot be used in combination with the --partition or --where option. You must ensure the correctness and query performance of the custom query statement. When you export the result set of a large query, you may wait for a long time before the database responds. To preprocess data to be exported by using a control file, you need to use the --table and --ctl-path options. The --table option must be set to the table name exactly the same as that specified in --ctl-path. If preprocessing is not required, you can set the --table option to any table name.
--exclude-virtual-columns
Specifies not to export the data of generated columns. By default, the data of generated columns is exported.
--enable-hidden-pk
Enables tables without a primary key to use a hidden primary key in __pk_increment to accelerate export. If you specify this option in OceanBase Database of a version earlier than V4.0.0, a special user is needed for export. Here is an example:
# In MySQL mode of OceanBase Database, create a special user as the root user and grant privileges to this user.
create user '__oceanbase_inner_drc_user'@'%' IDENTIFIED BY 'u*******';
grant ALL on *.* to '__oceanbase_inner_drc_user' WITH GRANT OPTION;
# In Oracle mode of OceanBase Database, create a special user as the SYS user and grant privileges to this user.
create user '__OCEANBASE_INNER_DRC_USER'@'%' IDENTIFIED BY u*******;
grant ALL to '__OCEANBASE_INNER_DRC_USER';
--fetch-size 'int_num'
The number of rows read from the database cursor in Oracle mode of OceanBase Database. The default value is 1000. For more information, see OceanBase FetchSize.
Note
To use this option, you must install the OceanBase JDBC driver.
Error handling
--retry
Resumes the export task from the location of the last export failure.
Notice
The dump.ckpt file is a savepoint file generated when the tool runs and is located in the directory specified by the -f option. You cannot use this option if the dump.ckpt file does not exist.
--weak-read
Exports data from the follower replica. For more information about weak-consistency read, see Weak-consistency read.
--max-file-size int_num
The maximum size of data that a process can export. Data export stops when the size of the exported file exceeds this value.
--skip-check-dir
Skips checking on whether the data export directory is empty. If the export directory is not empty, the tool stops exporting.
Note
- If this option is not specified, OBDUMPER checks whether the export directory is empty. If the export directory is not empty, OBDUMPER returns an error and exits.
- If this option is specified, OBDUMPER skips the check. In this case, an exported file may overwrite an existing file with the same name in this directory.
--remove-newline
Forcibly deletes carriage returns or line breaks in the data before the data export. For example, ***\r***, ***\n***, and \r\n will be deleted. This option only modifies the data retrieved to the memory, and does not modify the data in the source table. This option can be used only in combination with the --cut option.
Notice
If data in the source table contains carriage returns or line breaks, the data exported with this option specified will be inconsistent with that in the source table. Before using this option, ensure that the removal of \r, \n, and \r\n does not affect the business. If you do not need to delete carriage returns or line breaks in the data, to avoid data inconsistency, do not specify this option in the command.
--snapshot
Exports data of a historical version. This option can be used only in combination with a data format option. You can export data of a historical version to ensure the global consistency of the exported data. If this option is not specified, the real-time data exported from the memory may not be a globally consistent data snapshot.
Performance options
--page-size int_num
The page size. This option is used in OBDUMPER V4.0.0 and later versions. The default value is 1000000.
--thread int_num
The number of concurrent threads allowed. This option corresponds to the number of export threads. The default value is the value of the number of CPU cores multiplied by 2. If the number of CPU cores is greater than 16, the maximum value is 32. We recommend that you set the --thread option to a value within 4 for exporting the definitions of multiple database objects. High concurrency affects access to system tables under the sys tenant, resulting in timeout errors during data export.
--block-size int_num
The block size for a file to be exported. If the size of the data file to be exported exceeds the value of this option, the file will be split into logical sub-files. When specifying this option, you do not need to explicitly specify the unit. The default unit is MB. Default value: 1024MB. This option does not take effect for ORC and Parquet formats. OBDUMPER V4.1.0 and later allow you to specify the maximum number of rows in each sub-file for data file splitting. The unit of --block-size can be MB or ROW. For example, --block-size 256MB indicates that the size of a file cannot exceed 256 MB, and --block-size 256ROW indicates that the size of a file cannot exceed 256 rows.
--parallel-macro int_num
The number of macroblocks that can be processed by each export thread. The default value is 8.
Options
Option
Required?
Description
Introduced in
Deprecated?
-h(--host)
Yes
The host address for connecting to OceanBase Database Proxy (ODP) or a physical OceanBase Database node.
-P(--port)
Yes
The host port for connecting to ODP or a physical OceanBase Database node.
-c(--cluster)
No
The cluster name of the database. This option is deprecated in OBDUMPER V4.2.8 and later.
-t(--tenant)
No
The tenant name of the cluster. This option is deprecated in OBDUMPER V4.2.8 and later.
Yes
-u(--user)
Yes
The username, tenant name, and cluster name, in the format of <user>@<tenant>#<cluster>.
Yes
-p(--password)
No
The password that you use to log on to the database.
-D(--database)
Yes
The name of the database.
Note
OBDUMPER can export the data of only one database at a time.
-f(--file-path)
Yes
The directory to which data is exported.
--no-nested-dir
No
Exports data to a non-nested directory.
4.2.7
--sys-user
No
The username of a user under the sys tenant.
--sys-password
No
The password of the user under the sys tenant.
--public-cloud
No
Indicates that the database environment is ApsaraDB for OceanBase.
--log-path
No
The directory where log files are stored.
--ddl
No
Exports DDL files.
A DDL file stores database object definitions. The file is named in the format of object name-schema.sql. When this option is specified, OBDUMPER exports only database object definitions but not table data. We recommend that you set the --thread option to a value less than 4 for exporting the definitions of multiple table objects. Excessively concurrency affects access to views under the sys tenant, resulting in timeout errors during data export.
--csv
No
Exports data files in the CSV format. This option is recommended.
A CSV file stores data in the standard CSV format, and is named in the format of table name.csv. For CSV format specifications, see the definitions in RFC 4180. Delimiter errors are the most common errors that occur in CSV files. Single or double quotation marks are usually used as the delimiter. If data in the file contains the delimiter, you must specify escape characters. For more information, see symbol options in the CSV format. We strongly recommend that you use the CSV format. We recommend that you use this option in combination with the --table option. When this option is used in combination with the --all option, OBDUMPER exports only table data but not database object definitions.
--sql
No
Exports data files in the SQL format, which is different from DDL files.
An SQL file stores data in the format of INSERT statements, and is named in the format of table name.sql. Each line of table data corresponds to an executable INSERT statement in an SQL file. An SQL file is different from a DDL file in terms of content format. We recommend that you use this option in combination with the --table option. When this option is used in combination with the --all option, OBDUMPER exports only table data but not database object definitions.
--orc
No
Exports data files in the ORC format.
An ORC file stores data in the column-oriented format, and is named in the format of table name.orc. For more information about ORC format definitions, see Apache ORC.
V4.0.0
--par
No
Exports data files in the Parquet format.
A Parquet file stores data in the column-oriented format, and is named in the format of table name.parquet. For more information about Parquet format definitions, see Apache Parquet.
V4.0.0
--cut
No
Exports data files in the CUT format.
A CUT file uses a character string as the separator string, and is named in the format of table name.dat. We recommend that you use this option in combination with the --table option. When this option is used in combination with the --all option, OBDUMPER exports only table data but not database object definitions.
Notice
In a CUT file, each data record is stored in an entire line. When a single character is used as the field separator, if the data contains special characters such as separators, carriage returns, and line breaks, OBDUMPER will escape these special characters. For example, if the data is abc | def and the separator is |, the exported data is abc \| def.
--all
No
Exports all supported database object definitions and table data.
--table-group
No
Exports table group definitions.
V3.1.0
--table
No
Exports table definitions or table data.
--view
No
Exports view definitions.
--function
No
Exports function definitions.
--procedure
No
Exports stored procedure definitions.
--trigger
No
Exports trigger definitions.
--sequence
No
Exports sequence definitions.
--synonym
No
Exports synonym definitions. This option is not supported for MySQL tenants.
--type
No
Exports type definitions.
V4.0.0
--type-body
No
Exports type body definitions.
--package
No
Exports package definitions.
--package-body
No
Exports package body definitions.
--drop-object
No
Prepends a DROP statement when DDL statements are exported. This option can be used only in combination with the --ddl option.
--distinct
No
Exports non-duplicate data in the table.
Yes
--with-trim
No
Deletes the space characters on the left and right sides of the data.
V4.2.0
--weak-read
No
Exports table data in the follower replica, which is different from a standby cluster.
--query-sql
No
Exports the result set of a custom SQL query statement.
--snapshot
No
Exports data after the last major compaction.
--where
No
Exports data that meets specified conditions.
--partition
No
Exports data in specified partitions.
--skip-header
No
Skips headers of CSV files when the files are exported.
--trail-delimiter
No
Truncates the last column separator in a line.
--null-string
No
Replaces NULL with the specified character. Default value: \N. This option can be used only in combination with the --cut or --csv option. Default value: \N.
--empty-string
No
Replaces an empty string (' ') with the specified character. Default value: \E. This option can be used only in combination with the --cut or --csv option. Default value: \E.
--line-separator
No
The line separator. The default value of this option depends on the system platform. Only the following valuess are supported: \r, \n, and \r\n only.
--file-encoding
No
The file character set, which is different from the database character set.
When you specify this option on the command line, enclose the value in single quotation marks (' '), for example, --file-encoding 'GBK'. Default value: UTF-8.
--column-separator
No
The column separator. This option can be used only in combination with the --csv option and supports a single character only. Default value: comma (,). which is different from the column separator string in the CUT format.
--escape-character
No
The escape character. This option can be used only in combination with the --cut or --csv option and supports a single character only. Default value: \.
Note
If you use a special (invisible) character as the escape character, you must use the HEX() function to return the hexadecimal ASCII code of the character.
--column-delimiter
No
The column delimiter. This option can be used only in combination with the --csv option and supports a single character only. Default value: single quotation mark (').
--column-splitter
No
The column separator string, which is different from the column separator in the CSV format.
--flashback-scn
No
Exports data after the flashback transaction point.
This option can be used only in combination with a data format option and cannot be used in combination with the --query-sql option.
--flashback-timestamp
No
Exports data after the flashback point in time, which is supported only in OceanBase Database V2.2.70 and later in Oracle mode.
--nls-date-format
No
The session-level datetime format, which is supported only for OceanBase Database in Oracle mode.
--nls-timestamp-format
No
The session-level timestamp format, which is supported only for OceanBase Database in Oracle mode.
--nls-timestamp-tz-format
No
The session-level timestamp format with a time zone, which is supported only for OceanBase Database in Oracle mode.
--retry
No
Re-exports data from the last savepoint.
--ctl-path
No
The directory of the control files.
--exclude-table
No
Excludes the specified tables from the export of table definitions and table data.
--exclude-column-names
No
Excludes the specified columns from the export of data.
--exclude-data-types
No
Excludes the specified data types from the export of data.
--include-column-names
No
Exports data in the specified field order.
--remove-newline
No
Forcibly deletes line breaks or carriage returns in the data. It applies only to the CUT format.
--max-file-size
No
The maximum size of data that can be exported in the process, in bytes.
--skip-check-dir
No
Skips checking on whether the data export directory is empty. The data export directory must be empty.
--retain-empty-files
No
Generates an empty file by default for the export of an empty table.
--add-extra-message
No
Exports additional information in the table creation statement, such as the table group information.
--page-size
No
The page size in a query statement executed during export. Default value: 1000000.
--thread
No
The number of concurrent export threads allowed.
--block-size
No
The block size for a file to be exported. Default value: 1024MB.
--parallel-macro
No
The number of macroblocks processed by each export thread.
--fetch-size
No
The number of rows read from the database cursor at a time in Oracle mode of OceanBase Database.
V4.2.0
-V(--version)
No
Shows the version of OBDUMPER.
--date-value-format
No
The export format of the DATE data type.
V3.2.0
--time-value-format
No
The export format of the TIME data type in MySQL mode of OceanBase Database.
V3.2.0
--datetime-value-format
No
The export format of the DATETIME data type in MySQL mode of OceanBase Database.
V3.2.0
--timestamp-value-format
No
The export format of the TIMESTAMP data type in MySQL/Oracle mode of OceanBase Database.
V3.2.0
--timestamp-tz-value-format
No
The export format of the TIMESTAMP WITH TIME ZONE data type in Oracle mode of OceanBase Database.
V3.2.0
--timestamp-ltz-value-format
No
The export format of the TIMESTAMP WITH LOCAL TIME ZONE data type in Oracle mode of OceanBase Database.
V3.2.0
--exclude-virtual-columns
No
Specifies not to export the data of generated columns. By default, the data of generated columns is exported.
V3.2.0
--no-sys
No
Specifies that the password of the sys tenant cannot be provided in OceanBase Database.
V3.3.0
--logical-database
No
Specifies to export data by using ODP (Sharding).
V3.3.0
--storage-uri
No
The uniform resource identifier (URI) of the storage space.
V4.2.0
--character-set
No
The character set used when the database connection is created.
The default value is the value specified by the session variable jdbc.url.character.encoding in the session.properties file. The value of the --character-set option overrides that of the jdbc.url.character.encoding variable. Supported character sets include binary, gbk, gb18030, utf16, and utf8mb4.
V4.2.4
--preserve-zero-datetime
No
Specifies to preserve the raw format of zero values of date and time types during export.
V4.2.4
--enable-hidden-pk
No
Enables tables without a primary key to use a hidden primary key.
V4.2.5
--compact-schema
No
Exports table definitions based on the return result of the SHOW CREATE TABLE statement.
Note
Some table information, such as the primary zone, may be missing in the data exported by specifying this option. We recommend that you use this option only when a performance issue occurs.
4.2.8
-H(--help)
No
Shows the help information of the OBDUMPER command-line tool.