OceanBase
  • 产品
  • 解决方案
  • 客户
  • 合作伙伴
  • 资源与服务
  • 文档
  • 社区
云控制台登录 / 注册
  • 免费试用
OceanBase AI 数据平台

基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。

一体化能力

TP 事务处理

关键业务稳定运行,保障数据零丢失

AP 实时分析

事务分析一体,驱动智能决策与运营

AI 现代负载

统一多模态数据,支撑生产级应用

关键产品
OceanBase 分布式数据库

首批通过安全可靠测评,面向关键业务

OceanBase 集中式数据库

集中式架构,兼具性能与成本优势

OceanBase AI 数据库

面向 AI 应用与 Agent 的多模数据库

OceanBase AI 湖库

湖库一体的 AI 多模态数据系统

OceanBase DataPilot

企业级 AI 数据分析 Agent

OceanBase Agentbase

企业级 Agent 后端基础设施

OceanBase OAgent

数据库 AI 运维 Agent

OB Cloud

一体化云数据库,提供多云一致体验

OceanBase 数据库一体机

软硬一体,极致性能与高可靠性保障

OceanBase AI 一体机

开箱即用的 AI 数据库一体机

OMA 迁移评估工具

全链路数据库迁移评估

OMS 数据迁移工具

一站式数据传输与同步

OCP 运维管理工具

数据库全生命周期管理

ODC 开发者工具

数据库开发与管控协同

OAS 自治服务工具

数据库智能诊断与自治

通用场景
全场景业务系统 OLTP
实时分析混合负载
异地多活
多基础设施部署
一站式传统数据库升级
混合云部署
一库多芯软硬件混合部署
分布式数据库单机部署
大存储类数据库降本
冷数据归档降本
多实例资源整合
分库分表一体化升级
高并发场景
数据中台
行业解决方案
国有大行和股份制银行核心系统解决方案
区域性银行核心系统解决方案
寿险核心系统解决方案
产险核心系统解决方案
资管交易类系统解决方案
资管 TA 清算类系统解决方案
运营商核心系统解决方案
人社核心系统解决方案
电力核心系统解决方案
行业专区
银行专区

助力银行完成各类核心业务系统升级

保险专区

寿险、产险核心系统升级的更佳选择

零售专区

助力200+零售行业客户规模化落地

DB 大咖说
oceanbase爱奇艺

百亿级卡券业务的“单库双擎”架构升级

oceanbase四川银行

800个测试用例选定分布式数据库

oceanbase太平洋保险

先难后易,核心系统数据库升级复盘

行业案例
oceanbase交通银行

核心数据库的“分布式革命”

oceanbase中国移动

B域核心CRM&BOSS近乎零改造分布式升级

oceanbase理想

打造领先的智能制造系统和自动驾驶体验

演讲实录
oceanbase中国联通

集团应用分布式数据库覆盖B/O/M域

oceanbase国泰海通

智能推送系统稳定支撑单日亿级消息处理量

oceanbase中国联合航空

中国首款机票盲盒背后的数据库力量

用户实践
oceanbase北京银行

最快速度完成40余套系统国产数据库升级

oceanbaseVIVO

替换 MySQL 分库分表,探索成本效益最优

oceanbase滴滴

数据库大规模运维体系建设及落地实践

合作伙伴
合作伙伴类型
联合解决方案
产业生态伙伴
经销商伙伴
技术服务伙伴
培训认证伙伴
生态联合解决方案
神州信息 x OceanBase 银行核心系统
长亮科技 x OceanBase 新核心系统
中电金信 x OceanBase 金融分布式核心系统
天阳科技 x OceanBase 贷记卡方案
易诚互动 x OceanBase 手机银行方案
恒生 x OceanBase UF3.0/O45/TA/估值方案
商业发行版
云树®数据库软件 ActionDB
服务
支持与服务
提交工单
软件下载
OceanBase 企业版
OceanBase 社区版
OB Cloud
学习
培训与认证
在线课堂
在线体验
开发者
开发者中心
资料
行业报告与白皮书
官方博客
年度发布会资料
开发者大会资料
oceanbase白皮书

金融核心系统数据库升级路径与场景实践

oceanbase白皮书

人社关键业务数据库一体化升级实践

产品文档
oceanbaseOceanBase 数据库
数据库一体机
oceanbaseOceanBase AI 数据库
工具与组件
oceanbaseOB Cloud 云数据库
驱动和中间件
快速上手
OceanBase 数据库
OB Cloud 云数据库
知识库
汇聚常见产品使用问题案例
在线体验

Demo与实验,感受 OceanBase 的核心能力与应用场景

OceanBase 最佳实践
了解 OceanBase 分布式数据库的架构与系统原理
技术博客

技术解析 | 用户实践 | 社区月报

在线课堂

电子书 |视频课程|在线培训

Developer Hub
应用开发Demo | 数据开发与集成工具
问答论坛

快速答疑 | 常见问题 | 技术交流

社区活动

Meetup | 技术公开课

GitHub

查看源码 | 贡献代码 | 建议反馈

加入社区

社区组织 | 社区用户贡献 |开发者贡献

进入社区首页
oceanbase数据库大赛

第六届OceanBase数据库大赛

oceanbase免费课程

《Easy Data x AI》:面向所有 AI 爱好者的 Data 与 AI 基础知识入门教程

切换语言
  • 中文站 - 简体中文
  • International - English
  • 日本站 - 日本語
文档反馈
  1. 文档中心
  2. OceanBase 导数工具
  3. V4.2.7
  4. 导入数据
  5. 命令行选项
V4.2.7
  • 文档概览
  • 产品介绍
  • 使用前准备
  • 导入数据
    • 快速入门
    • 命令行选项
    • 数据处理
    • 性能调优
    • 错误处理
    • 旁路导入
    • 常见问题
  • 导出数据
  • 安全功能
  • 连接配置
  • 问题自查
  • 版本发布记录
  1. 文档中心
  2. OceanBase 导数工具
  3. V4.2.7
  4. 导入数据
  5. 命令行选项

命令行选项

更新时间:2026-04-13 14:00:51

github-fill编辑
编组分享

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

选项介绍

OBLOADER 参数设计采用 Unix 和 GNU 两种风格方式。

  • Unix 风格的参数前加单破折线,选项为单字符,例如:ps -e;该风格的选项和参数之间可以不加空格,例如:-p******。

  • GNU 风格的长参数前加双破折线,选项为单字符或者字符串,例如:ps --version;要求选项和参数之间有空格,例如:--table 'test'。

选项列表

选项 是否必选 说明 引入版本 是否废弃
-h(--host) 是 连接 ODP 或者 OceanBase 物理节点的主机地址。
-P(--port) 是 连接 ODP 或者 OceanBase 物理节点的主机端口。
--rpc-port 否 连接 OBServer RPC 端口。 4.2.5
--compat-mode 否 兼容性导入 MySQL 表结构定义。 4.2.7
--direct 否 指定旁路导入模式。 4.2.5
--parallel 否 标识旁路导入时加载数据的并行度。 4.2.6
-c(--cluster) 否 数据库的集群名。
-t(--tenant) 否 集群的租户名。
-u(--user) 是 数据库用户名。
-p(--password) 否 数据库密码。
-D(--database) 否 数据库名。
-f(--file-path) 是 数据文件所在的目录或者数据文件绝对路径。
--sys-user 否 指定 sys 租户下用户名。
--sys-password 否 指定 sys 租户下特定用户的密码。
--public-cloud 否 指定云数据库 OceanBase 运行环境。
--file-suffix 否 指定数据文件的后缀名。
--file-encoding 否 指定文件编码。(区别于数据库编码)
--ctl-path 否 指定控制文件所在的目录。
--log-path 否 指定日志文件的输出目录。
--ddl 否 导入 DDL 文件。
--csv 否 导入 CSV 格式的数据文件。(推荐)
--sql 否 导入 SQL 格式的数据文件。(区别于 DDL 文件)
--orc 否 导入 ORC 格式的数据文件。 4.0.0
--par 否 导入 Parquet 格式的数据文件。 4.0.0
--mix 否 导入定义与数据的混合文件。
--pos 否 导入 POS 格式的数据文件。
--cut 否 导入 CUT 格式的数据文件。
--all 否 导入所有已支持的数据库对象定义和表数据。
--table-group 否 导入 表组 定义。 3.1.0
--table 否 导入 表 定义或者 表 数据。
--view 否 导入 视图 定义。
--trigger 否 导入 触发器 定义。
--sequence 否 导入 序列 定义。
--synonym 否 导入 同义词 定义。
--type 否 导入 类型 定义。 4.0.0
--type-body 否 导入 类型体 定义。
--package 否 导入 程序包 定义。
--package-body 否 导入 程序包包体 定义。
--function 否 导入 函数 定义。
--procedure 否 导入 存储过程 定义。
--replace-object 否 标识替换已存在的对象定义。(不推荐使用,建议手动替换)
--rw 否 指定数据文件解析线程的比例。
--slow 否 指定触发慢速导入的阈值。
--pause 否 指定触发停止导入的阈值。
--batch 否 指定每一批事务的记录数。
--thread 否 指定导入任务的并发数。
--block-size 否 指定文件的分隔大小。
--retry 否 从最近一次的保存点重新导入。
--external-data 否 标识数据文件来自第三方工具导出,跳过元数据文件检查。
--max-tps 否 指定导入的限速阈值。默认单位:行数/秒。
--max-wait-timeout 否 指定等待数据库合并的最长超时时间。
--nls-date-format 否 设置会话级别的日期时间格式。(仅支持 OceanBase Oracle 模式)
--nls-timestamp-format 否 设置会话级别的时间戳格式。(仅支持 OceanBase Oracle 模式)
--nls-timestamp-tz-format 否 设置会话级别带时区的时间戳格式。(仅支持 OceanBase Oracle 模式)
--trail-delimiter 否 删除行尾最后一个列分隔符。
--with-trim 否 删除数据左右的空格字符。
--skip-header 否 跳过 CSV/CUT 文件的第一行数据。 仅 3.3.0 及之后版本支持跳过 CUT 文件的第一行数据。
--skip-footer 否 导入 CUT 格式文件时跳过文件的最后一行数据。 3.3.0
--null-string 否 指定字符替换为 NULL。默认值:\N 。
--empty-string 否 指定字符替换为空字符(' ')。默认值:\E 。
--line-separator 否 指定行分隔符。导入 CUT 格式文件时支持自定义行分隔符。默认值:\n 。
--column-separator 否 指定列分隔符。(区别于 CUT 格式中的列分隔字符串)
--escape-character 否 指定转义字符。默认值:\ 。
--column-delimiter 否 指定字符串定界符。默认值:' 。
--ignore-unhex 否 忽略为十六进制字符串进行解码。
--exclude-table 否 忽略导入指定的表定义和表数据。
--exclude-data-types 否 跳过导入指定的数据类型的数据。
--column-splitter 否 指定列分隔字符串。(区别于 CSV 格式中的列分隔符)
--max-discards 否 指定导入时单表最多的重复数据量。默认值:-1。
--max-errors 否 指定导入时单表允许的最多错误次数。默认值:1000。
--exclude-column-names 否 排除导入时指定的列名所对应的数据。
--replace-data 否 标识替换重复的数据。(仅适用于有主键或者有唯一键且非空列的表)
--truncate-table 否 标识导入前截断目标库中的表。(不推荐使用,建议手动截断表)
--with-data-files 否 标识选择有数据文件的表进行截断或者删除表中的数据。 3.1.0
--delete-from-table 否 标识导入数据前删除目标库中所有的表中的数据。(不推荐使用,建议手动删除表中的数据)
-V(--version) 否 查看 OBLOADER 版本号。
--no-sys 否 标识 OceanBase 数据库环境下无法提供 sys 租户密码。 3.3.0
--logical-database 否 标识连接 ODP (Sharding) 逻辑库进行导入。 3.3.0
--file-regular-expression 否 标识单表导入的文件名的正则表达式。 3.3.0
--ignore-escape 否 标识导入 CUT 格式文件时忽略对字符进行转义操作。 3.3.0
--storage-uri 否 标识存储的统一资源定位符。 4.2.0
--character-set 否 标识创建数据库连接时的字符集。 4.2.4
--strict 否 标识导入时控制脏数据对进程结束状态的影响。 4.2.4
-H(--help) 否 查看 OBLOADER 命令行工具的使用帮助。

连接选项

OBLOADER 需连接 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

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

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

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

    说明

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

  • --rpc-port= rpc_port_num

    用于连接 OBServer RPC 端口。该选项与 --direct, --parallel 搭配使用,表示在旁路导入模式下连接 OBServer RPC 端口导入数据。

    说明

    • 该选项仅适用于 OceanBase 4.2.0 RC2 及之后的版本。
    • 获取 OBServer RPC 端口方式:
      • 连接 ODP 服务端时:
        • 云数据库 OceanBase 环境下,ODP RPC Port 默认 3307。
        • OceanBase 数据库环境下,默认端口 2885;如果需要自定义,可以在启动 ODP 时通过 -s 选项进行指定。
      • 连接 OBServer 服务端时,sys 租户下查询系统视图 DBA_OB_SERVERS 即可获取 OBServer 的 RPC 端口,默认端口 2882。
  • --direct

    用于指定旁路导入模式。该选项与 --rpc-port, --parallel 搭配使用。

    说明

    • OBLOADER 旁路导入模式暂时不支持二进制数据类型。
    • OBLOADER 旁路导入模式支持连接 OBServer 和 ODP。对应的版本要求:
      • 连接 OBServer 时:要求 OBServer 版本必须为 4.2.0 及之后。
      • 连接 ODP 时:要求 ODP 版本必须为 4.1.3 及之后, 且 OBServer 版本必须为 4.2.1 及之后。
  • --parallel= parallel_num

    用于旁路导入时加载数据的并行度。该选项与 --rpc-port, --direct 搭配使用。

  • --sys-user sys_username

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

  • --sys-password ' sys_password'

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

    说明

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

  • --public-cloud

    用于标识从云数据库 OceanBase 部署的 OceanBase 集群中导入数据库对象或者表数据。如果命令行指定该选项时则无需指定 -t, -c 连接选项,同时导出程序默认会打开 --no-sys 选项。关于 --no-sys 选项请参考对应的选项说明。使用 --public-cloud 或者 --no-sys 选项会影响导入的功能、性能以及稳定性。OceanBase 2.2.30 及之后版本已支持服务端限流的功能,所以使用 --public-cloud 或者 --no-sys 选项时为保证数据导入的稳定性,可通过以下命令设置服务端限流阈值:

    alter system set freeze_trigger_percentage=50;
    alter system set minor_merge_concurrence=64;
    alter system set writing_throttling_trigger_percentage=80 tenant='xxx';
    
  • --no-sys

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

  • --logical-database

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

  • --compat-mode

    用于兼容性导入 MySQL 表结构定义。导入 MySQL 表结构定义时,OBLOADER 会将 MySQL 的原生建表语句转换为 OceanBase MySQL 模式支持的同义语句。

    注意

    • 仅支持导入 MySQL 表定义。
    • 仅支持 MySQL 5.6、MySQL 5.7 和 MySQL 8.0 版本。
  • --session-config

    用于指定 连接配置 文件。程序包中已为您提供一份默认的配置文件:<工具根目录>/conf/session.config.json,您无需配置即可生效。建议仅当您需要使用同一份程序包加载多份连接配置时指定该选项。

功能选项

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

    用于指定数据文件存放在本地磁盘的绝对路径。从 Aliyun OSS 导入数据文件时亦需要指定 -f 选项,以保存生成的日志和二进制文件。

  • --file-suffix ' suffix_name '

    导入数据时,用于指定数据文件的后缀名。通常文件的后缀名与文件格式具有一定的关联性。例如:CSV 格式的文件通常命名为 xxx.csv。用户未严格遵守规范的情况下,可将 CSV 格式的文件命名为 xxx.txt 等任意的后缀,导致 OBLOADER 无法根据格式来识别目标文件。该选项为可选项,每一种数据格式均有对应的默认值。默认情况下,CSV 格式对应的文件后缀名为 .csv,SQL 格式对应的文件后缀名为 .sql,CUT 格式对应的文件后缀名为 .dat,POS 格式对应的文件后缀名为 .dat。命令行指定该选项,需要在参数值前后加上单引号。例如:--file-suffix '.txt'。

  • --file-encoding ' encode_name '

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

  • --ctl-path ' control_path '

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

  • --log-path ' log_path '

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

  • --ddl

    用于标识导入 DDL 文件。DDL 文件是指数据库对象定义文件,文件的命名规范为 对象名-schema.sql 。命令行指定该选项时,表示仅导入数据库对象定义,不会导入表数据。

    注意

    文件中避免出现注释或者开关语句等。如果数据库对象之间存在依赖,可能会导入失败,需要人工介入处理。

  • --sql

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

    注意

    数据中不可有 SQL 函数、特殊字符、换行等,否则文件可能无法被正常解析。

  • --orc

    用于标识导入 ORC 格式的数据文件。ORC 文件是指数据按照列格式进行存储,文件的命名规范为 表名.orc 。请参考 Apache ORC 格式定义。

  • --par

    用于标识导入 Parquet 格式的数据文件。Parquet 文件是指数据按照列格式进行存储,文件的命名规范为 表名.parquet 。请参考 Apache Parquet 格式定义。

    说明

    使用 OBLOADER 4.2.5 及之前的版本导入 Parquet 文件时,不支持 DECIMAL, DATE, TIME, TIMESTAMP 数据类型。

  • --mix

    用于标识导入 MIX 文件。MIX 文件是指导出的 DDL 语句和 DML 语句混合在一起的文件。文件无严格的命名规范。

    注意

    MIX 文件无严格的格式,处理过程复杂且性能差,不建议使用。

  • --csv

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

  • --pos

    用于标识导入 POS 格式的数据文件。POS 文件是指数据按照定长字节数的格式存储,文件的命名规范为 表名.dat 。定长字节数是指每一列数据使用固定长度的字节数来存放。长度不足补空格,长度超出则截断,按照字节截断可能会出现数据乱码。建议该选项搭配 --table 选项使用。如果搭配 --all 选项使用时,OBLOADER 只会导入表对应的数据文件,不会导入数据库对象定义。(区别于定长字符格式)

  • --cut

    用于标识导入 CUT 格式的数据文件。CUT 文件是指数据使用单个字符或者字符串进行分隔的格式,文件的命名规范为 表名.dat 。如何准确辨识 CUT 格式与 CSV 格式?CSV 格式使用单个字符分隔字段,常用的字段分隔符是逗号;CUT 格式一般使用字符串分隔字段。例如:使用 |@| 字符串分隔字段。CSV 格式使用单引号或者双引号作为字段间的定界符,CUT 格式无定界符。建议该选项搭配 --table 选项使用。如果搭配 --all 选项使用时,OBLOADER 只会导入表对应的数据文件,不会导入数据库对象定义。

    注意

    CUT 格式要求数据整行存放。如果字段分隔符是单个字符时,避免数据中出现分隔符、回车或者换行等特殊字符,否则 OBLOADER 无法正确解析数据。
    命令行指定 --cut 选项导入数据时,如果文件中的数据行尾没有字段分隔符(或分隔串),请勿使用 --trail-delimiter 选项,否则导入程序会出现严重错误。

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

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

  • --all

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

    注意

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

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

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

    注意

    导入使用控制文件时,如果 --table 指定的指定的表名大小写必须和数据库中保持一致,否则控制文件无法生效。

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

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

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

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

  • --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 模式。

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

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

  • --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 选项。

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

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

  • --replace-object

    用于标识导入数据库对象定义时替换已存在的数据库对象定义。对于 表 、 同义词 等对象使用先删除再创建的方式进行替换;对于 函数 、 存储过程 等对象使用 CREATE OR REPLACE 进行替换。该选项仅与 --ddl 或者 --mix 选项搭配使用,对 --csv, --sql 等其它数据格式选项不生效。

    注意

    • 目标库中已经存在对象时,该对象会被强制替换成文件中所保存的对象定义。
    • 用户不需要替换数据库中的对象时,请勿使用该选项,避免对业务造成影响。
  • --retry

    用于标识导入任务从中断点进行重试。使用建议:如果导入的数据量已超过 80%,可指定该选项进行断点续传,避免重新导入(断点续传的过程中可能有少量的数据出现重复错误);如果已经导入的数据量不多,可清空表重新开始导入,效率更高。

    注意

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

  • --external-data

    用于标识导入的数据集是由第三方工具导出的。OBDUMPER 导出数据时,工具会在 -f 指定的目录中生成 MANIFEST.bin 文件用于保存元数据信息。OBLOADER 导入数据时,默认会解析该元数据文件。如果该文件丢失,或者数据是由第三方工具导出而没有元数据文件,导入时可以指定该选项跳过元数据解析。

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

    用于设置 OceanBase Oracle 模式下数据库连接中的日期格式。默认值:YYYY-MM-DD HH24:MI:SS。

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

    用于设置 OceanBase Oracle 模式下数据库连接中的时间戳格式。默认值:YYYY-MM-DD HH24:MI:SS:FF9。

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

    用于设置 OceanBase Oracle 模式下数据库连接中包含时区的时间戳格式。默认值:YYYY-MM-DD HH24:MI:SS:FF9 TZR。

  • --skip-header

    用于标识跳过 CSV/CUT 格式文件头,即第一行字段头数据。该选项仅与 --csv/--cut 选项搭配使用。仅 3.3.0 及之后版本支持跳过 CUT 格式文件的第一行数据。

  • --skip-footer

    用于标识跳过 CUT 格式文件的最后一行数据。该选项仅与 --cut 选项搭配使用。

  • --null-string ' null_replacer_string '

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

  • --empty-string ' empty_replacer_string '

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

  • --line-separator ' line_separator_string '

    用于指定行分隔字符串。导入 CUT 格式文件时支持自定义数据文件换行符。该选项的默认值与系统平台相关,仅包括: \r , \n , \r\n 三种可选的值。

    说明

    该选项仅与 --csv 或者 --cut 选项搭配使用。

  • --column-separator ' column_separator_char '

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

  • --escape-character ' escape_char '

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

    说明

    支持指定该选项为特殊(不可见)字符,指定的字符须使用 HEX 表示的特殊字符。

  • --column-delimiter ' column_delimiter_char '

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

  • --with-trim

    用于删除数据左右的空格字符。该选项仅与 --cut 或者 --csv 选项搭配使用。

  • --trail-delimiter

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

  • --ignore-unhex

    用于标识忽略对十六进制字符串进行解码。该选项仅适用于二进制数据类型。

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

    用于表示导入表定义或者表数据时排除指定的表。表名支持模糊匹配。 使用示例:--exclude-table 'test1,test*,*test,te*st' 上述参数表示导入表定义或者表数据时排除以下符合条件的表:

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

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

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

  • --column-splitter ' split_string '

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

  • --storage-uri ' storage_uri_string '

    用于标识存储的统一资源定位符。OBLOADER 4.2.0 及之后的版本支持从 Aliyun OSS 或者 Amazon S3 导入数据库对象定义和表数据;OBLOADER 4.2.1 及之后的版本支持从 Hadoop 导入数据库对象定义和表数据。

    ' storage_uri_string ' 语法格式:

    [scheme://host]path[?parameters]
    
    parameters: key[=value],...
    

    组成部分说明:

    组成部分 说明
    scheme 支持的存储类型:Aliyun OSS/Amazon S3/Hadoop。
    如果指定的 scheme 不是当前支持的 OSS/S3/Hadoop,则会报错。
    host 指定存储空间名称。
    • 从 OSS/S3 导入数据时,host 指代存储桶,具体请参考 OSS Bucket。
    • 从 Apache Hadoop 导入数据时,该项为 Hadoop 节点,满足格式:<ip>:<port> 或 <cluster_name>。
    path 指定从存储空间导入数据的资源路径。路径必须以 / 开头。
    parameters 指定请求所需的参数。
    其中,parameters 可为单个 Key 或 Key-Value 对。

    示例:从 S3 导入数据

    --storage-uri 's3://bucket/path?region={region}&access-key={accessKey}&secret-key={secretKey}'
    
    • s3:scheme 为 s3。
    • bucket:S3 存储空间的名称。
    • path:从 S3 导入数据的资源路径。
    • ?region={region}&access-key={accessKey}&secret-key={secretKey}:指定 region, access-key, secret-key 参数值。

    支持的参数:

    参数 是否需要 value 说明 支持的存储类型 支持版本
    endpoint 是
    • 用于指定 OSS host 所在地域的 Endpoint。
    • 用于通过域名 Endpoin 访问 S3。
    • OSS
    • S3
    • 4.2.0
    • 4.2.5
    region 是 用于指定终端节点,为 S3 bucket 所在的物理位置。 S3 4.2.0
    storage-class 是 用于指定 Amazon S3 存储类。 S3 4.2.0
    access-key 是 用于指定存储的访问账号。 OSS/S3 4.2.0
    secret-key 是 用于指定存储的访问密钥。 OSS/S3 4.2.0
    hdfs-site-file 是 用于指定 hdfsSiteFile 配置文件,其中包含 Apache Hadoop 的配置信息,以设置 Apache Hadoop 的存储和访问规则,例如块大小和副本数量。 Apache Hadoop 4.2.1
    core-site-file 是 用于指定 hdfsSiteFile 配置文件,其中包含 Hadoop 集群中的核心配置信息,例如 Apache Hadoop 文件系统的 URI 和默认文件系统。 Apache Hadoop 4.2.1
    principal 是 用于指定 Kerberos 中的身份验证标识符。 Apache Hadoop 4.2.1
    keytab-file 是 用于指定 Keytab 文件的绝对路径,以授权用户或服务访问系统的资源。 Apache Hadoop 4.2.1
    krb5-conf-file 是 用于指定 Kerberos 配置文件路径。 Apache Hadoop 4.2.1

    说明

    • 从 Aliyun OSS 导入数据库对象定义和表数据时,endpoint, access-key, secret-key 为必填参数。
    • 从 Amazon S3 导入数据库对象定义和表数据时,region, access-key, secret-key 为必填参数。
  • --max-discards int_num

    指定该选项可以限制每一张表的重复数据的最大值。如果任意一张表的重复数据超过最大值,则停止导入该表的数据,日志记录该表导入失败,不影响其它表导入。默认值:-1,表示忽略重复数据继续导入。

    说明

    表中包含主键或者唯一键且数据出现重复时,该选项才会生效。

  • --max-errors int_num

    指定该选项可以限制每一张表导入时遇到错误数的最大值。如果任意一张表导入的错误数超过最大值,则停止导入该表的数据,日志记录该表导入失败。该选项可选的值分别是 0、-1 和正整数 N。指定参数值为 -1 时,表示忽略错误,继续导入。默认值:1000。

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

    注意

    • 指定的列名需要与表结构中的列名大小写保持一致。
    • 导入的数据文件中,被排除的列无对应的数据且被导入的列顺序与表中列顺序需要保持一致。
  • --replace-data

    用于标识替换表中重复的数据。该选项仅适用于已定义主键或者是已定义唯一键(包含非空字段)的表。如果文件中重复的数据较多,占比超过总数据量 30% 以上,建议清理表重新导入。数据替换的性能低于空表导入的性能。该选项与 --csv, --sql, --cut 选项搭配使用,对 --ddl 选项不生效。

    注意

    • 文件和表中出现重复的数据时,表中的数据会被替换为文件中的数据。
    • 对于无主键或者无唯一键的表,该选项会在表中追加写入数据。
    • 用户不需要替换重复数据时,请勿在命令行中指定该选项,避免对业务造成影响。
  • --truncate-table

    用于标识导入数据前对目标库中表进行截断操作。该选项仅与任意一种数据格式选项搭配使用,其与 --all 或者 --table '*' 选项搭配使用时,表示截断数据库中所有的表。如果仅需要截断部分表,可以显式指定 --table 'test1,test2,[....]'。该选项与 --with-data-files 选项搭配使用时,表示仅截断有对应数据文件的表。

    注意

    • 导入数据使用 --all 或者 --table '*' 选项搭配 --truncate-table 选项时,程序会截断目标库中所有的表,即使 -f 选项指定的目录下没有表对应的数据文件,程序也会执行 truncate table 操作。
    • 请勿使用该选项对目标库或者目标表进行截断操作,强烈建议用户根据业务需求手动截断表,避免对业务造成影响。
  • --with-data-files

    该选项与 --truncate-table 或者 --delete-from-table 选项搭配使用时,表示导入数据前截断或者清空有对应数据文件的表。单独指定该选项无任何意义。

  • --delete-from-table

    用于标识导入数据前删除目标库中所有的表中的数据。该选项仅与任意一种数据格式选项搭配使用,其与 --all 或者 --table '*' 选项搭配使用时,表示删除目标库中所有表中的数据。如果仅需要删除部分表中的数据,可以显式指定 --table 'test1,test2,[....]'。该选项与 --with-data-files 选项搭配使用,表示仅删除有对应数据文件的表中的数据。

    注意

    • 导入数据使用 --all 或者 --table '*' 选项搭配 --delete-from-table 选项时,程序会删除目标库中所有表中的数据,即使 -f 选项指定的目录下没有表对应的数据文件,程序也会执行 delete from table 操作。
    • 请勿使用该选项删除目标库或者目标表中的数据,特别是数据量比较大的表。强烈建议用户根据业务需求手动删除表中的数据,避免对业务造成影响。
  • --file-regular-expression

    用于导入单表文件时,根据指定的正则表达式选择性地导入指定的文件。该选项仅适用于单表导入。例如:--file-regular-expression ".*",表示使用 ".*" 正则表达式匹配目录下的所有文件,* 表示匹配零个或多个任意字符;--file-regular-expression ".*\\.csv",表示使用 ".*\.csv" 正则表达式匹配以 ".csv" 结尾的文件,其中 "\." 表示匹配实际的句点字符 "."。

  • --ignore-escape

    用于忽略导入 CUT 格式文件时对字符进行转义操作,默认不忽略。

  • --strict= ' strict_string '

    用于导入时控制脏数据对进程结束状态的影响。默认值:true,表示导入的数据中存在 Bad Record 或者 Discard Record 类型错误时会以失败状态结束程序(System exit 1);false,表示导入的数据中存在 Bad Record 或者 Discard Record 类型错误时,不影响程序最终结束状态(System exit 0)。

    说明

    该选项可与 --max-discards 或者 --max-errors 选项搭配使用,表示当重复数据量或者错误数在指定范围内,会跳过错误继续进程。更多详情请参见 错误处理。

  • --character-set ' character_set_string '

    用于指定创建数据库连接时的字符集。默认值:session.properties 文件中会话变量 jdbc.url.character.encoding 设置的值。--character-set 选项指定字符集会覆盖 jdbc.url.character.encoding 值。该选项支持指定的字符集包括:binary, gbk, gb18030, utf16, utf8mb4。

性能选项

  • --rw float_num

    用于标识文件解析线程占总线程数的比例。默认值:0.2。 该选项与 --thread 选项搭配使用,可计算出文件解析线程数等于 --thread 选项值 * --rw 选项值。

  • --slow float_num

    用于标识工具进入慢导模式的阈值。当 OceanBase 内存占用达到 75% 时,OBLOADER 会自动降速,防止数据库内存占用持续飙升。默认值:0.75。

  • --pause float_num

    用于标识工具进入停导模式。当 OceanBase 内存占用达到 85% 时,OBLOADER 会自动停止导入,防止数据库内存水位过高引发内存问题。默认值:0.85。

  • --batch int_num

    用于标识批量写入的事务大小。建议该选项的值与表的宽度成反比的关系,但不可设置过大导致数据库内存溢出。默认值:200。

    说明

    OBLOADER 4.2.0 及之后的版本支持根据 JAVA 虚拟机的内存自适应 --batch 的默认值。

  • --thread int_num

    用于标识并发线程数。该选项直接对应写入线程数。与 --rw 选项搭配使用时,用于计算文件解析线程数,计算公式:--thread 参数值 * --rw 参数值。默认值:CPU 乘以 2。OceanBase 是串行执行 DDL,所以导入数据库对象定义时无需指定该选项。

  • --block-size int_num

    用于标识文件切分的块大小。指定该选项时无需显式标注单位,默认单位:MB。默认情况下 OBLOADER 对大文件按照 64MB 自动拆分成多份逻辑子文件,逻辑子文件不会占用额外的存储空间。默认值:64。

  • --max-tps int_num

    用于标识最大导入的 TPS。指定该选项时,可保证平稳的导入速率。

  • --max-wait-timeout int_num

    用于标识 OceanBase 服务端合并的等待时长。指定该选项时,无需显式标注单位,默认单位:小时。OceanBase 服务端处于合并状态时,客户端进入停导模式,最大等待时长不可超过该选项的值。默认值:3。

其它选项

  • -H, --help

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

  • -V, --version

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

本文目录

选项介绍选项列表连接选项功能选项性能选项其它选项
有帮助
无帮助
反馈
AI

OceanBase

OceanBase 海扬数据库始创于 2010 年,是完全自主研发的数据库公司。2020年开始独立商业化运作,历经15年大规模核心场景验证,目前是中国数据库的领军企业之一。从分布式数据库到 AI 数据库,为企业提供安全、稳定、可扩展的数据底座,推动数据基础设施全面拥抱 AI 时代。

关于我们

关于 OceanBase最新动态资质荣誉客户专家委员会招贤纳士合作伙伴年度发布会开发者大会

资源与服务

支持与服务文档知识库软件与工具下载培训与认证在线体验数据库专题视频

社区

快速上手开发者中心博客活动学习问答GitHub

数据库百科

分布式数据库国产数据库OLTP 数据库OLAP 数据库HTAP 数据库数据库向量数据库向量检索

联系我们

服务热线:
400-109-0633
商务咨询
培训认证技术支持媒体合作
京公网安备11010802047223号京公网安备11010802047223号
京ICP备20024574号-1
合字B1.B2-20250395
网站服务协议隐私协议安全响应协议
OceanBase 版权所有 © 2026 基础资源和备案服务由阿里云提供