暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

OBDUMPER

原创 huayumicheng 2023-07-22
2695

命令行选项

OBDUMPER 通过命令行选项指定导出所需要的信息,更多选项描述和使用示例,请参考 选项列表 与 使用示例

选项列表

选项是否必选说明引入版本是否废弃
-h(--host)连接 ODP 或者 OceanBase 物理节点的主机地址。
-P(--port)连接 ODP 或者 OceanBase 物理节点的主机端口。
-c(--cluster)数据库的集群名。
-t(--tenant)集群的租户名。
-u(--user)数据库用户名。
-p(--password)数据库密码。
-D(--database)数据库名。
-f(--file-path)指定数据的导出目录。
--sys-user指定 sys 租户下用户名。
--sys-password指定 sys 租户下特定用户的密码。
--public-cloud指定公共云运行环境。
--log-path指定日志文件的输出目录。
--ddl导出 DDL 文件。
--csv导出 CSV 格式的数据文件。(推荐)
--sql导出 SQL 格式的数据文件。(区别于 DDL 文件)
--orc导出 ORC 格式的数据文件。4.0.0
--par导出 Parquet 格式的数据文件。4.0.0
--cut导出 CUT 格式的数据文件。
--all导出所有已支持的数据库对象定义和表数据。
--table-group导出 表组 定义。3.1.0
--table导出  定义或者  数据。
--view导出 视图 定义。
--function导出 函数 定义。
--procedure导出 存储过程 定义。
--trigger导出 触发器 定义。
--sequence导出 序列 定义。
--synonym导出 同义词 定义。(暂不支持 MySQL 租户)
--type导出 类型 定义。4.0.0
--type-body导出 类型体 定义。
--package导出 程序包 定义。
--package-body导出 程序包体 定义。
--drop-object导出 DDL 时,前置追加 DROP 语句。
--distinct导出表中非重复的数据。
--weak-read导出备副本中的表数据。(区别于备集群)
--query-sql导出自定义的查询 SQL 语句的结果集。
--snapshot导出最近一次合并版本的数据。
--where导出满足条件的数据。
--partition导出指定的分区内的数据。
--skip-headerCSV 格式忽略导出表中的字段。
--trail-delimiter删除行尾最后一个列分隔符。
--null-stringNULL 替换为指定字符。默认值:\N 。
--empty-string空字符(' ')替换为指定字符。值默认:\E 。
--line-separator自定义行分隔符。默认值:\n 。
--file-encoding指定文件编码。(区别于数据库编码)
--column-separator指定列分隔符。(区别于 CUT 格式中的列分隔字符串)
--escape-character指定转义字符。默认值:\ 。
--column-delimiter指定列定界符。默认值:' 。
--column-splitter指定列分隔字符串。(区别于 CSV 格式中的列分隔符)
--flashback-scn指定导出闪回事务点之后的数据。(仅支持 OceanBase Oracle 2.2.70 及之后版本)
--flashback-timestamp指定导出闪回时间点之后的数据。(仅支持 OceanBase Oracle 2.2.70 及之后版本)
--nls-date-format设定会话级别的日期时间格式。(仅支持 OceanBase Oracle模式)
--nls-timestamp-format设定会话级别的时间戳格式。(仅支持 OceanBase Oracle模式)
--nls-timestamp-tz-format设定会话级别带时区的时间戳格式。(仅支持 OceanBase Oracle模式)
--retry从最近一次的保存点重新导出。
--ctl-path指定控制文件所在的目录。
--exclude-table排除导出指定的表定义和表数据。
--exclude-column-names排除导出指定的列名所对应的数据。
--exclude-data-types排除导出指定的数据类型所对应的数据。
--include-column-names根据指定的字段顺序导出数据。
--oss-point指定 OSS Bucket 所在地域的 Endpoint。
--access-key指定 OSS 云存储的访问账号。
--secret-key指定 OSS 云存储的访问密钥。
--bucket-uri指定 OSS 云存储的资源路径。
--file-name将每一张表导出的子文件分别合并成一个大文件。
--remove-newline强制删除数据中的换行符或者回车符。(仅适用于 CUT 格式)
--max-file-size设置每张表最多导出的数据量。默认单位:MB。
--skip-check-dir跳过检查数据的导出目录是否为空。(要求导出目录必须为空)
--retain-empty-files导出空表时默认生成一个空文件。
--add-extra-message导出建表语句中的表组等额外信息。
--page-size导出查询语句的分页大小。默认值:1000000。
--thread导出任务的并发数。
--block-size指定文件的分隔大小。默认值:1GB。
--parallel-macro指定每一个导出线程处理的宏块数。
-V(--version)查看 OBDUMPER 工具的版本号。
--date-value-format控制 Date 类型的导出格式。3.2.0
--time-value-format控制 MySQL 模式下 Time 类型的导出格式。3.2.0
--datetime-value-format控制 MySQL 模式下 Datetime 类型的导出格式。3.2.0
--timestamp-value-format控制 MySQL/Oracle 模式下 Timestamp 类型的导出格式。3.2.0
--timestamp-tz-value-format控制 Oracle 模式下 timestamp with time zone 类型的导出格式。3.2.0
--timestamp-ltz-value-format控制 Oracle 模式下 timestamp with local time zone 类型的导出格式。3.2.0
--exclude-virtual-columns标识不导出生成列的数据(默认导出生成列数据)。3.2.0
--no-sys标识私有云环境下无法提供 sys 租户密码。3.3.0
--logical-database标识连接 ODP (Sharding) 逻辑库进行导出。3.3.0

连接选项

OBDUMPER 命令需连接 OceanBase 数据库才可读写数据。用户指定以下选项可以连接到 OceanBase 数据库。

  • -h host_name , --host= host_name

    用于连接 ODP 或者 OceanBase 物理节点的主机地址。

  • -P port_num , --port= port_num

    用于连接 ODP 或者 OceanBase 物理节点的主机端口。

  • -c cluster_name , --cluster= cluster_name

    用于连接给定的 OceanBase 集群。命令行未指定该选项时,表示当前连接的是数据库的物理节点,相关的选项(例如:-h/-P)指定的是数据库物理节点的主机地址和端口;命令行指定该选项时,表示当前连接的是 ODP 服务,相关的选项(例如:-h/-P)指定的是 ODP 服务的主机地址和端口。

  • -t tenant_name , --tenant= tenant_name

    用于连接 OceanBase 数据库中给定的租户。有关"租户"的概念,请参考 OceanBase 官方文档。

  • -u user_name , --user= user_name

    用于连接目标数据库的用户名。如果指定的用户名错误,则 OBDUMPER 无法连接到数据库。

  • -p ' password' , --password=' password'

    用于连接 OceanBase 数据库的账号密码。命令行未指定该选项时,表示当前的数据库账户未设置密码;命令行指定该选项时,需要在参数值前后加上单引号。例如:-p'******'

    说明
    在 Windows 操作系统上,需在参数值前后加上双引号。其它选项的参数值是字符串时也同样需要加双引号。

  • -D database_name , --database= database_name

    该选项表示从指定的数据库中导出数据库对象定义和表数据。

  • --sys-user sys_username

    用于连接 sys 租户下拥有特定权限的用户。例如:root 用户或者 proxyro 用户。OBDUMPER 需要 sys 租户下的特殊用户查询系统表中的元数据。默认值:root。OceanBase 4.0.0.0 及之后的版本无需指定该选项。

  • --sys-password 'sys_password'

    用于连接 sys 租户下拥有特定权限的账户密码。与 --sys-user 选项搭配使用,默认情况下表示 sys 租户下 root 用户密码为空。命令行指定该选项时,需要在参数值前后加上单引号,例如:--sys-password '******'。OceanBase 4.0.0.0 及之后的版本无需指定该选项。

    说明
    如果未指定该选项,OBDUMPER 无法查询系统表中的元数据,导出功能和导出性能可能会受到较大的影响。

  • --public-cloud

    用于标识将公共云部署的 OceanBase 集群中的数据库对象或者表数据导出到文件中。如果命令行指定该选项时则无需指定 -t-c 连接选项,同时导出程序默认会打开 --no-sys 选项。关于 --no-sys 选项请参考对应的选项说明。

  • --no-sys

    用于标识私有云环境下用户无法提供 sys 租户的密码,将私有云部署的 OceanBase 集群中的数据库对象或者表数据导出到文件中。该选项与 --public-cloud 选项的区别:使用 --no-sys 选项时命令行需要指定 -t 连接选项,连接 ODP 服务时还需要加上 -c 选项。在 OceanBase 4.0.0.0 及之前的版本中,如果用户未指定 --public-cloud 或者 --no-sys 选项,OBDUMPER 必须指定 --sys-user 和 --sys-password 选项。

  • --logical-database

    用于标识连接 ODP (Sharding) 逻辑库进行导出。命令行中指定 --logical-database 选项时,导出的是随机的一个物理分库分表的定义,不可以直接导入到数据库中。用户需要将导出的物理库表结构手动改成逻辑库表结构,才可以导入到数据库中被业务使用。

功能选项

  • -f ' file_path ' , --file-path= ' file_path '

    用于指定数据文件存放在本地磁盘的绝对路径。

  • --file-encoding ' encode_name '

    用于表示导出数据文件时使用的文件编码,该编码不是数据库编码。命令行指定该选项时,需要在参数值前后加上单引号。例如:--file-encoding 'GBK'。默认值: UTF-8 。

  • --ctl-path ' control_path '

    用于指定控制文件存放在本地磁盘的绝对路径。控制文件中可配置内置的处理函数,数据导出前根据配置的函数对数据进行预处理。例如:大小写转换、判空等。有关控制文件的使用,请参考 数据处理 章节。命令行指定该选项时,需要在参数值前后加上单引号。例如:--ctl-path '/home/controls/'

  • --log-path ' log_path '

    指定 OBDUMPER 运行日志的输出目录。命令行未指定该选项时,OBDUMPER 运行日志默认会输出到 -f 选项指定的目录。没有特殊要求的情况下,无需使用重定向来输出日志。

  • --ddl

    用于标识导出 DDL 文件。DDL 文件是指导出的数据库对象定义文件,文件的命名规范为 对象名-schema.sql 。命令行指定该选项时,表示仅导出数据库对象定义,不会导出数据。导出多个表对象定义时,建议 --thread 选项的参数值不超过 4。并发数太大会影响访问 sys 租户下的内部视图,导出时会出现超时错误。

  • --sql

    用于标识导出 SQL 格式的数据文件。SQL 文件是指数据按照 INSERT 语句格式存储,文件的命名规范为 表名.sql 。文件的内容是每一行表数据对应一条可执行的 INSERT 语句。SQL 文件在内容格式上明显区别于 DDL 文件。建议该选项搭配 --table 选项使用。如果搭配 --all 选项时,OBDUMPER 只会导出表中的数据,不会导出数据库对象定义。

  • --orc

    用于标识导出 ORC 格式的数据文件。ORC 文件是指数据按照列格式进行存储,文件的命名规范为 表名.orc 。请参考 Apache ORC 格式定义。ORC 格式默认全部使用 String 类型压缩存储。

  • --par

    用于标识导出 Parquet 格式的数据文件。Parquet 文件是指数据按照列格式进行存储,文件的命名规范为 表名.par 。请参考 Apache Parquet 格式定义。Parquet 格式默认全部使用 String 类型压缩存储。

  • --csv

    用于标识导出 CSV 格式的数据文件。CSV 文件是指数据按照标准的 CSV 格式存储,文件的命名规范为 表名.csv 。有关 CSV 格式规范,请参考 RFC 4180 中的定义。CSV 格式最容易出错的是定界符,通常使用的定界符是单引号或者双引号。如果数据中存在定界符,必须做转义处理,即指定转义符,请参考 CSV 格式相关的符号选项。强烈建议使用 CSV 格式。建议该选项搭配 --table 选项使用。如果搭配 --all 选项时,OBDUMPER 只会导出表中的数据,不会导出数据库对象定义。

  • --cut

    用于标识导出 CUT 格式的数据文件。CUT 文件是指数据使用字符串进行分隔的格式,文件的命名规范为 表名.dat 。建议该选项搭配 --table 选项使用。如果搭配 --all 选项时,OBDUMPER 只会导出表中的数据,不会导出数据库对象定义。

    注意
    CUT 格式要求数据整行存放。如果字段分隔符是单个字符时,数据中出现分隔符、回车或者换行等特殊字符,OBDUMPER 会将数据中的特殊字符进行转义。例如:数据为 abc|def,分隔符为 |,则导出的数据为 abc\|def

  • --table-group '*table_group_name [,table_group_name...]*'|--table-group '*'

    用于标识导出 表组 定义。除了不支持导出数据外,其它描述同 --table 选项。

  • --all

    用于标识导出所有的数据库对象定义和表数据。该选项与 --ddl 搭配使用时,表示导出所有的数据库对象定义;该选项与 --csv--sql--cut 任意一种数据格式选项搭配使用时,表示按照对应的格式导出所有表中的数据。如果需要导出所有的数据库对象定义和表数据,可指定 --all--ddl 选项再搭配任意一种数据格式选项。

    注意
    --all 选项与任意的数据库对象选项之间都是互斥的,不可同时指定;如果同时指定 --all 选项与任意的数据库对象选项,则会优先执行 --all 选项命令。

  • --table ' table_name [,table_name...] ' | --table ' * '

    用于标识导出表定义或者表数据。该选项与 --ddl 搭配使用时,表示仅导出表定义;该选项与任意一种数据格式选项搭配使用时,表示仅导出表数据。指定多个表时,表名用逗号分隔(,)。导出 Oracle 模式租户的表名默认按照大写处理,导出 MySQL 模式租户的表名默认按照小写处理;例如:OceanBase Oracle 模式下,--table 'test' 和 --table 'TEST' 均表示 TEST 表;OceanBase MySQL 模式下,--table 'test' 和 --table 'TEST' 均表示 test 表。如果需要区分大小写,请将表名放入中括号内([ ])。例如:--table '[test]' 表示 test 表,--table '[TEST]' 表示 TEST 表。如果表名指定为星号(*),表示导出所有的表定义或者表数据。

  • --view ' view_name [, view_name...] ' | --view ' * '

    用于标识导出 视图 定义。除了不支持导出数据外,其它描述同 --table 选项。

  • --trigger ' trigger_name [, trigger_name...] ' | --trigger ' * '

    用于标识导出 触发器 定义。除了不支持导出数据外,其它描述同 --table 选项。目前仅适用于 OceanBase Oracle 模式。

  • --sequence ' sequence_name [, sequence_name...] ' | --sequence ' * '

    用于标识导出 序列 定义。除了不支持导出数据外,其它描述同 --table 选项。目前仅适用于 OceanBase Oracle 模式。

  • --synonym ' synonym_name [, synonym_name...] ' | --synonym ' * '

    用于标识导出 同义词 定义。除了不支持导出数据外,其它描述同 --table 选项。目前仅适用于 OceanBase Oracle 模式。

  • --type ' type_name [, type_name...] ' | --type ' * '

    用于标识导出 类型 定义。除了不支持导出数据外,其它描述同 --table 选项。仅适用于 OceanBase Oracle 模式。

    说明
    仅 OceanBase Oracle 2.2.77 及之后版本支持导出类型定义。

  • --type-body ' typebody_name [, typebody_name...] ' | --type-body ' * '

    用于标识导出 类型体 定义。除了不支持导出数据外,其它描述同 --table 选项。仅适用于 OceanBase Oracle 模式。

    说明
    该选项必须与 --type 搭配使用,导出的类型体文件保存在类型文件中。

  • --package ' package_name [, package_name...] ' | --package ' * '

    用于标识导出  定义。除了不支持导出数据外,其它描述同 --table 选项。仅适用于 OceanBase Oracle 模式。

  • --package-body ' packagebody_name [, packagebody_name...] ' | --package-body ' * '

    用于标识导出 包体 定义。除了不支持导出数据外,其它描述同 --table 选项。仅适用于 OceanBase Oracle 模式。

  • --function ' function_name [, function_name...] ' | --function ' * '

    用于标识导出 函数 定义。除了不支持导出数据外,其它描述同 --table 选项。

    说明
    OceanBase Oracle 所有版本均支持导出函数定义;OceanBase MySQL 2.2.30 及之后版本支持导出函数定义。

  • --procedure ' procedure_name [, procedure_name...] ' | --procedure ' * '

    用于标识导出 存储过程 定义。除了不支持导出数据外,其它描述同 --table 选项。

    说明
    OceanBase Oracle 所有版本均支持导出存储过程定义;OceanBase MySQL 2.2.30 及之后版本支持导出存储过程定义。

  • --drop-object

    用于标识导出 DDL 文件时,在数据库对象创建语句前插入 DROP 语句。该选项仅与 --ddl 选项搭配使用。

  • --snapshot

    用于标识导出历史版本数据。该选项仅与任意一种数据格式选项搭配使用。导出历史版本数据旨在保证导出数据的全局一致性。如果命令行未指定该选项,则导出内存中的实时数据可能不是全局一致的数据快照。

  • --where ' where_condition_string '

    用于标识导出满足指定条件的数据。该选项仅与任意一种数据格式选项搭配使用,不可搭配 --query-sql 选项使用。

  • --partition ' partition_name [, partition_name...] '

    用于标识导出指定分区的数据。该选项的参数值是分区名,多个分区名用逗号分隔。该选项仅与任意一种数据格式选项搭配使用,不可搭配 --query-sql 选项使用。

    注意
    指定分区导出时,对于二级分区表需要指定二级分区名,无法按照一级分区名导出。如果是模版二级分区,对应的分区名为:一级分区名+s+二级分区名。

  • --query-sql ' select_statement '

    用于标识导出自定义查询语句的结果数据。该选项不与 --partition--where 选项搭配使用。用户需要保证自定义查询语句的正确性和查询性能。如果导出大查询语句的结果集,可能等待数据库的响应时间比较长。如果导出数据时需要利用控制文件进行数据预处理,则需要使用 --table 选项和 --ctl-path 选项,并且 --table 选项指定的表名需要与 --ctl-path 选项指定的文件名保持大小写一致。如果不需要进行预处理操作,则 --table 选项可指定为任意的表名。

  • --flashback-scn ' scn_number '

    用于导出 SCN 事务点之后的数据。该选项仅与任意一种数据格式选项搭配使用,不可与 --query-sql 选项搭配使用。仅适用于 OceanBase Oracle 模式。

  • --flashback-timestamp ' timestamp_string '

    用于导出闪回时间点之后的数据。该选项仅与任意一种数据格式选项搭配使用,不可与 --query-sql 选项搭配使用。仅适用于 OceanBase Oracle 模式。

  • --nls-date-format ' date-format-string '

    用于设置 Oracle 模式下的 nls_date_format 会话变量,其不代表将 DATE 类型的数据按照该选项指定的格式导出。默认值:YYYY-MM-DD HH24:MI:SS。

  • --nls-timestamp-format ' timestamp-format-string '

    用于设置 Oracle 模式下的 nls_timestamp_format 会话变量,其不代表将 TIMESTAMP 类型的数据按照该选项指定的格式导出。默认值:YYYY-MM-DD HH24:MI:SS:FF9。

  • --nls-timestamp-tz-format ' timestamp-tz-format-string '

    用于设置 Oracle 模式下的 nls_timestamp_tz_format 会话变量,其不代表将 TIMESTAMP WITH TIME ZONE 类型的数据按照该选项指定的格式导出。默认值:YYYY-MM-DD HH24:MI:SS:FF9 TZR。

  • --retry

    用于从上一次导出失败位置继续导出任务。

    注意
    CHECKPOINT.bin 文件是工具运行时生成的保存点文件,路径位于-f指定的目录中。如果 CHECKPOINT.bin 文件不存在,无法使用该选项。

  • --distinct

    用于过滤表中的重复数据,仅与 --cut 选项搭配使用。

    注意
    该选项已废弃,请勿使用。

  • --weak-read

    用于标识从备副本导出数据。OBDUMPER 3.1.0 之前版本仅与 ODP 3.1.2 及之后版本搭配使用。OBDUMPER 3.1.0 及之后版本需要修改 conf/session.properties 文件中的参数 ob.proxy.route.policy=follower_first。关于 session.properties 文件的使用方法,请参考 OBDUMPER 使用示例 中的 设置会话级别变量 。

  • --file-name ' file_name '

    用于导出数据时将每一张表对应的子文件分别合并成一个大文件。

    说明

    • 指定该选项时,文件名中支持包含后缀名。例如:--file-name test.txt
    • 指定该选项为自定义路径时,导出的数据无法通过 OBLOADER 导入整个目录,因指定自定义路径会改变 OBDUMPER 生成的目录结构,OBLOADER 不能识别。

    示例如下:

    用法说明示例
    --file-name {file_name}仅在导出单表时使用,或在导出单个 Schema 时使用。
    合并单表导出的子文件为 1 个文件,文件名由 file_name 指定;不会移动 Schema 与 Record 的导出路径。
    满足以下条件:
    • -f='/home/admin/foo'
    • --file-path='custom.dat'
    • --table='t_origin'
    任务结果:表 't_origin' 的所有记录文件被合并到 '/home/admin/foo/data/{schema}/TABLE/custom.dat'。
    --file-name {*}导出单表多表均可使用。
    按照表名合并导出的子文件为 n 个文件,n 等于导出表的数量,文件名与表名相同;不会移动 Schema 与 Record 的导出路径。
    满足以下条件:
    • -f='/home/admin/foo'
    • --file-path='*'
    • --table='*'
    任务结果:所有记录文件被按表名分组合并到 '/home/admin/foo/data/{database}/TABLE' 路径下;所有 Schema 文件保持原始位置。
    注意
    不建议 --file-name '*' 与 --skip-check-dir 选项搭配使用,因指定 --skip-check-dir 选项会合并该路径下已有的同表名数据文件导致数据重复等问题。
    --file-name {file_path}仅在导出单表,或在导出单个 Schema 时使用;可以为相对或绝对路径;仅在没有指定 --ddl 时使用;区分导出 Schema 与 Record 的场景:
    1. 合并单表导出的子文件为 1 个文件,并移动该文件到 file_path 指定的文件路径。
    2. 如果单独指定 --ddl 但未指定任何的数据格式,则仅将导出的 Schema 文件移动到 file_path 指定的文件路径。
    • 导出 Schema,满足以下条件:
      • --table='custom'
      • -f='/home/admin/foo'
      • --file-name='/home/admin/bar/custom.ddl'
      任务结果:表 'custom' 的 DDL 语句被导出到'/home/admin/bar/custom.ddl'。
    • 导出 Record,满足以下条件:
      • --table='custom'
      • -f='/home/admin/foo'
      • --file-name='/home/admin/bar/custom.dat'
      任务结果:导出的记录文件被合并到 '/home/admin/bar/custom.dat'。
    --file-name {directory_path}要求,目录必须以 / 结尾,且目录中不含 \*
    导出单表多表均可使用;可以为相对或绝对路径;按照表名合并导出的子文件为 n 个文件,n 等于导出表的数量,文件名与表名相同,并移动这些文件到 directory_path 指定的目录路径。
    满足以下条件:
    • -f='/home/admin/foo'
    • --file-path='/home/admin/bar/'
    • --table='*'
    任务结果:所有记录文件被按表名分组合并,并与所有 Schema 文件一同移动到 '/home/admin/bar/' 路径下。

  • --max-file-size int_num

    用于标识单个文件的大小限制。导出的数据超过该选项值时停止导出。

  • --skip-check-dir

    用于标识跳过检查导出的数据目录是否为空。导出目录非空时,程序停止导出。

  • --remove-newline

    用于标识导出数据时程序会强制删除数据中的回车符或者换行符。例如: \r , \n , \r\n 。其只会对读取到内存中的数据进行修改,并不会直接修改源表中的数据。该选项仅与 --cut 选项搭配使用。

    注意
    源表中的数据包含回车符或者换行符时,指定该选项导出的数据和源表中的数据是不一致的。使用前请确认删除 \r\n\r\n 字符不会对业务造成影响。用户不需要删除数据中的回车符或者换行符时,请勿在命令行中指定该选项,避免造成业务数据不一致的问题。

  • --retain-empty-files

    用于标识导出空表时生成一份空文件。未指定该选项时,导出空表不会生成任何文件。

  • --add-extra-message

    用于标识导出表定义中包含的额外信息。例如:命令行指定 --add-extra-message 选项导出表定义时,程序会导出每张表所属的表组名。默认 OBDUMPER 不会导出表定义中包含的额外信息。

  • --exclude-table ' table_name [, table_name...] '

    用于表示导出表定义或者表数据时排除指定的表。表名支持模糊匹配。

    使用示例:--exclude-table 'test1,test*,*test,te*st'

    上述参数表示导出表定义或者表数据时排除的表包括:

    • test1
    • 所有的表名以 test 开头的表
    • 所有的表名以 test 结尾的表
    • 所有的表名以 te 开头以 st 结尾的表

  • --exclude-data-types ' datatype [, datatype...] '

    用于表示导出数据时排除指定的数据类型。

  • --include-column-names ' column_name [, column_name...] '

    用于根据指定的列名和列顺序导出数据。

  • --exclude-column-names ' column_name [, column_name...] '

    用于表示导出数据时排除指定的列。列名不支持模糊匹配。

    注意
    指定的列名需要与表定义中的列名大小写保持一致。

  • --skip-header

    用于标识忽略导出表中的字段作为 CSV 文件头。该选项仅与 --csv 选项搭配使用。

  • --trail-delimiter

    用于标识导出的数据行是否以分隔符结尾。该选项仅与 --cut 或者 --csv 选项搭配使用。

  • --null-string ' null_replacer_string '

    用于标识将 NULL 替换为指定字符。该选项仅与 --csv 或者 --cut 选项搭配使用。默认值: \N 。

  • --empty-string ' empty_replacer_string '

    用于标识将空字符(' ')替换为指定字符。该选项仅与 --csv 选项搭配使用。默认值: \E 。

  • --line-separator ' line_separator_string '

    用于自定义数据文件换行符,该选项的默认值与系统平台相关,仅包括: \r , \n , \r\n 三种可选的值。

  • --column-separator ' column_separator_char '

    用于指定列分隔字符串。该选项仅支持单字符,仅与 --csv 选项搭配使用。默认值:逗号。

  • --escape-character ' escape_char '

    用于指定转义字符。该选项仅支持单字符,仅与 --csv 或者 --cut 选项搭配使用。默认值:反斜杠。

  • --column-delimiter ' column_delimiter_char '

    用于指定字段定界符。该选项仅支持单字符,仅与 --csv 选项搭配使用。默认值:单引号。

  • --column-splitter ' split_string '

    用于指定分隔字符串。该选项仅与 --cut 选项搭配使用。

  • --oss-point ' oss_endpoint_string '

    用于标识 OSS 存储服务的连接地址。该选项必须与 --access-key--secret-key 搭配使用,用于连接 OSS 云存储服务。

  • --access-key ' access_key_string '

    用于标识连接 OSS 服务的访问者。该选项必须与 --oss-endpoint--secret-key 搭配使用,用于连接 OSS 云存储服务。

  • --secret-key ' secret_key_string '

    用于标识连接 OSS 服务的密钥串。该选项必须与 --oss-endpoint--access-key 搭配使用,用于连接 OSS 云存储服务。

  • --bucket-uri ' bucket_uri_string '

    用于标识 OSS 存储空间的资源位置。该选项必须与 --oss-endpoint--access-key--secret-key 搭配使用,表示数据位于 OSS 云存储的指定位置中。

  • --date-value-format

    用于控制 Date 类型的导出格式。OceanBase MySQL 模式下的默认格式:yyyy-MM-dd,OceanBase Oracle 模式下的默认格式:yyyy-MM-dd HH:mm:ss。

  • --time-value-format

    用于控制 MySQL 模式下 Time 类型的导出格式。默认格式:HH:mm:ss,精度值与表定义中的精度值一致。

  • --datetime-value-format

    用于控制 MySQL 模式下 Datetime 类型的导出格式。默认格式:yyyy-MM-dd HH:mm:ss,精度值与表定义中的精度值一致。

  • --timestamp-value-format

    用于控制 MySQL/Oracle 模式下 Timestamp 类型的导出格式。默认格式:yyyy-MM-dd HH:mm:ss,精度值与表定义中的精度值一致。

  • --timestamp-tz-value-format

    用于控制 Oracle 模式下 Timestamp With Time Zone 类型的导出格式。默认格式:yyyy-MM-dd HH:mm:ss.SSSSSS,精度值与表定义中的精度值一致。

  • --timestamp-ltz-value-format

    用于控制 Oracle 模式下 Timestamp With Local Time Zone 类型的导出格式。默认格式:yyyy-MM-dd HH:mm:ss,精度值与表定义中的精度值一致。

  • --exclude-virtual-columns

    用于标识不导出生成列的数据(默认导出生成列数据)。

性能选项

  • --page-size int_num

    OBDUMPER 4.0.0 之后的版本用于指定任务分片的大小。默认值:1000000。

  • --thread int_num

    用于标识并发线程数。该选项直接对应导出线程数。默认值:CPU 乘以 2。导出多个数据库对象定义时,建议 --thread 选项的参数值不要超过 4。并发数太大会影响工具访问 sys 租户下的系统表,导出时会出现超时错误。

  • --block-size int_num

    用于标识文件块的切分阈值。如果导出的数据文件超过该阈值,则依次生成其它子文件。默认值:1GB。该选项对于 ORC 和 Parquet 格式不生效。

  • --parallel-macro int_num

    用于标识一个线程可以处理的宏块数。默认值:8。

其它选项

  • -h, --help

    用于查看命令行工具的使用帮助。

  • -V, --version

    用于查看当前发行的工具版本号。


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论