首批通过分布式安全可靠测评,为关键业务系统打造
准备环境
更新时间:2026-04-07 17:00:52
运行导数工具前,请确认已拥有合适的运行环境和运行权限。
运行环境
| 环境 | 要求 |
|---|---|
| 系统版本 | 支持 Linux/macOS/Windows 7 及之后版本。 |
| Java 环境 | 请安装 Oracle JDK 1.8.0_3xx,配置 JAVA_HOME 环境变量。 |
| 字符集 | 推荐使用 UTF-8 文件编码。 |
| JVM 参数 | 请编辑 bin/obloader 和 bin/obdumper 脚本,修改 JVM 内存参数,避免出现 JVM 内存不足。 |
说明
OpenJDK 1.8 的部分小版本存在严重的垃圾收集器(GC)错误,运行导入导出工具时可能会出现内存溢出或程序卡死。为了避免这些问题,我们建议您安装 OpenJDK 1.8 的最新小版本。
如果您正在使用的是麒麟等国产操作系统,您需要将 JVM 参数(即 JAVA_OPTS)中的 GC 回收器从 G1 调整为 CMS,否则可能会出现 JVM 崩溃的问题。
如果您正在使用 OBLOADER/OBDUMPER V4.3.0 之前的版本,请编辑 bin/obloader 或 bin/obdumper 文件,将 GC 参数从 -XX:+UseG1GC 修改为 -XX:+UseConcMarkSweepGC。
如果您正在使用 OBLOADER/OBDUMPER V4.3.0 及之后的版本,请编辑 bin/obloader 或 bin/obdumper 文件,将 GC_OPTS 参数修改为 -XX:+UseG1GC 或 -XX:+UseConcMarkSweepGC。例如,GC_OPTS="-XX:+UseG1GC"。
配置 HDFS 依赖
导数工具 V4.3.0 及之后版本依赖 Hadoop 组件,当您在 Windows 系统下使用 OBLOADER/OBDUMPER 时,需要先配置 HDFS 依赖,否则会报错 HADOOP_HOME and hadoop.home.dir are unset.。
进入 Code 页面,单击右上角的 Code > Download ZIP,下载 zip 包。

解压后,复制目录当前路径。
本文以目录路径
C:\User\chang\winutils为例,后续步骤请注意替换为实际路径。您可以通过以下两种方式进行配置,请根据需要选择配置方式。
直接设置系统环境变量:
HADOOP_HOME = C:\User\chang\winutils\hadoop-3.3.6,在用户变量 Path 中追加%HADOOP_HOME%\bin。使用记事本打开
<工具根目录>\bin\windows\obdumper.bat,找到以下行:SET PROGRAM_OPTS=%PROGRAM_OPTS% "-Dtool.base.dir=%PARENT_PATH%"在该行之上或者之下,新增一行下述命令,保存并退出。
SET PROGRAM_OPTS=%PROGRAM_OPTS% "-Dhadoop.home.dir=C:\User\chang\winutils\hadoop-3.3.6"
重新运行 OBLOADER/OBDUMPER。
运行权限
OBLOADER 运行权限
使用 OBLOADER 连接 OceanBase 数据库导入数据时,连接数据库的账号需要拥有 CREATE, SELECT, INSERT, UPDATE 等命令的执行权限。可通过 SHOW GRANTS 语句查看用户被授予的权限。示例语句:
obclient> SHOW GRANTS FOR user1;
+------------------------------------------+
| Grants for user1@% |
+------------------------------------------+
| GRANT CREATE ON *.* TO 'user1' |
| GRANT SELECT ON `db1`.* TO 'user1' |
| GRANT INSERT ON `db1`.* TO 'user1' |
| GRANT UPDATE ON `db1`.* TO 'user1' |
| GRANT SELECT ON `oceanbase`.* TO 'user1' |
+------------------------------------------+
2 rows in set
说明
如果是 OceanBase 数据库 MySQL 兼容模式,导入数据前,用户需要具备
oceanbase数据库的查询权限。授权语句示例:GRANT SELECT ON `oceanbase`.* TO 'user1'。如果是 OceanBase 数据库 Oracle 兼容模式,导入数据前,用户需要具备
SYS的查询权限。授权语句示例:GRANT SELECT ON "SYS".* TO 'user1'。- 使用 OBLOADER 连接 OceanBase 数据库 Oracle 兼容模式导入数据库对象定义和数据时,建议使用数据库管理员(DBA)角色的账号连接数据库。
OBDUMPER 运行权限
使用 OBDUMPER 连接 OceanBase 数据库导出数据时,连接数据库的账号需要拥有 CREATE, SELECT 等命令的执行权限。可通过 SHOW GRANTS 语句查看用户被授予的权限。示例语句:
obclient> SHOW GRANTS FOR user1;
+------------------------------------------+
| Grants for user1@% |
+------------------------------------------+
| GRANT CREATE ON *.* TO 'user1' |
| GRANT SELECT ON `db1`.* TO 'user1' |
| GRANT SELECT ON `oceanbase`.* TO 'user1' |
+------------------------------------------+
2 rows in set
说明
- OBDUMPER 只有导出非表的数据库对象时,需要系统表的权限。
如果是 OceanBase 数据库 MySQL 兼容模式,导出数据前,用户需要具备
oceanbase数据库的查询权限。授权语句示例:GRANT SELECT ON `oceanbase`.* TO 'user1'。如果是 OceanBase 数据库 Oracle 兼容模式,导出数据前,用户需要具备
SYS的查询权限。授权语句示例:GRANT SELECT ON "SYS".* TO 'user1'。
- 使用 OBDUMPER 连接 OceanBase 数据库 Oracle 兼容模式导出数据库对象定义时,建议使用数据库管理员(DBA)角色的账号连接数据库;使用 OBDUMPER 连接 OceanBase 数据库 Oracle 兼容模式导出数据时,连接数据库的账号无角色要求。
其他说明
OceanBase 数据库 V4.0.0 之前的版本,导数工具命令行中需要指定
--sys-user,--sys-password选项。具体示例请参考 OBLOADER 命令行选项 和 OBDUMPER 命令行选项。
命令行选项
--sys-user,--sys-password必须使用 sys 租户下拥有查询系统表和查询视图权限的用户。