---
title: "常见问题 - 导数工具 V4.2.6 | OceanBase 文档中心"
description: 常见问题 Q：如何解决使用 OBLOADER 导入时遇到 OOM 错误？ A：首先修改 bin/obloader 脚本中的 JAVA 虚拟机内存参数。其次排除 OpenJDK GC Bug。 Q：如何在调试模式下运行 OBLOADER 排查问题？ A：直接运行 bin/obloader-debug 进行导入。 Q：如…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*eAudSaxX8P0AAAAAAAAAAAAADiGDAQ/original) 导数工具V 4.2.6

# 常见问题

更新时间：2026-04-13 14:00:52

[编辑](https://github.com/oceanbase/obdumper-loader-doc/edit/V4.2.6/zh-CN/500.OBLOADER/600.obloader-faq.md)  

Q：如何解决使用 OBLOADER 导入时遇到 OOM 错误？

A：首先修改 bin/obloader 脚本中的 JAVA 虚拟机内存参数。其次排除 OpenJDK GC Bug。

 Q：如何在调试模式下运行 OBLOADER 排查问题？

A：直接运行 bin/obloader-debug 进行导入。

 Q：如何使用 OBLOADER 导入与表不同名的数据文件？

A：命令行中的 `-f` 选项指定为数据文件的绝对路径。例如：`--table 'test' -f '/output/hello.csv'`。

 Q：为表配置了控制文件，导入的数据为什么没有生效？

A：要求控制文件的名称与表名相同且大小写一致。MySQL 默认表名为小写，Oracle 默认表名为大写。

 Q：运行 OBLOADER 脚本时，命令行选项未被正常解析的原因是什么？

A：可能是命令行参数值中存在特殊符号。例如：Linux 平台上运行导数工具，密码中存在大于号（注：> 是重定向符），导致运行的日志都会出现丢失。因此在不同的运行平台使用正确的引号进行处理（参见下个问题）。

 Q：运行 OBLOADER 脚本时，何时需要对参数加单引号或者双引号？

A：建议用户在一些字符串的参数值左右加上相应的引号。

- Windows 平台参数使用双引号。例如：`--table "*"`。
 - 类 Linux 平台参数使用单引号。例如：`--table '*'`。

Q：外部文件格式不符合要求导致导入失败，应该如何解决？

A：导入外部文件时对格式有以下要求：

- 外部文件如果为 SQL 文件，要求 SQL 文件中不能有注释和 SET 开关语句等，并且文件中只能有 INSERT 语句，每条语句不可以换行。除此以外，文件中存在 DDL 或者 DML 语句，建议使用 MySQL source 命令导入。
 - 外部文件如果为 CSV 文件，CSV 文件需符合标准定义。要求有转义符、定界符、列分隔符和行分隔符。数据中存在定界符需要指定转义符。

   Q：如何自定义导入作业日志文件名？ A：可以在 `{ob-loader-dumper}/conf/log4j2.xml` 中自定义日志文件名。如下图所示，在 `Routing` 标签下修改如下名称：

     - `InfoRoutingAppender` 下的 `ob-loader-dumper.info` （info 级别日志）。
     - `WarnRoutingAppender` 下的 `ob-loader-dumper.warn` （warn 级别日志）。
     - `ErrorRoutingAppender` 下的 `ob-loader-dumper.error` （error 级别日志）。  

  #### 说明

  将 `ob-loader-dumper.info`、`ob-loader-dumper.warn`、`ob-loader-dumper.error` 修改为相同名称时，所有日志信息会生成到同一文件中。

  ![logs](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/obloaderobdumper/426/obdumper-faq.png)

Q: 在控制台中输出日志时无响应，该如何解决？

A: 可能是控制台输出被暂停或中止，导致日志输出被阻塞。解决方法：

1. 打开日志的配置文件 `{ob-loader-dumper}/conf/log4j2.xml`，查找如下配置：

   ```sql
   <Logger name="com.oceanbase.tools.loaddump" additivity="false" level="INFO">
   <AppenderRef ref="ConsoleAppender"/>
   <AppenderRef ref="InfoRoutingAppender"/>
   <AppenderRef ref="WarnRoutingAppender"/>
   <AppenderRef ref="ErrorRoutingAppender"/>
   </Logger>

   ```
 2. 删除 `<AppenderRef ref="ConsoleAppender"/>`，并尝试重新运行程序。

Q：OBLOADER 启动报错：`Access denied for user 'root'@'xxx.xxx.xxx.xxx'`。

A：导数工具默认依赖 root@sys 用户和密码。如果集群中已为 root@sys 用户设置的密码，请在命令行中指定 `--sys-password` 选项的参数值为 root@sys 用户设置的密码。

 Q：OBLOADER 运行报错：`Over tenant memory limits` 或者 `No memory or reach tenant memory limit`。

A：调大全局 SQL 工作区的内存比例或者减少 `--thread` 并发数。

```sql
set global ob_sql_work_area_percentage=30; -- Default 5

```

Q：导入 CSV 文件且数据内存在换行时，OBLOADER 运行报错：`Bad Record`。

A：可能是 OBLOADER 默认使用了 UNSAFE 模式切分子文件。需要修改执行脚本中的 JVM 环境变量。打开 `{ob-loader-dumper}/bin/` 目录下的 `obloader` 文件，查找关键词 `PROG_OPTS` 并将 `-Dfile.split=UNSAFE` 修改为 `-Dfile.split=SAFE`。

Q：OBLOADER 运行报错：`No tables are exists in the schema: "xxx"`。

A：`--table 't1,t2'` 选项指定的表名一定是数据库中已经定义的表名，且大小写需要保持一致。OceanBase MySQL 模式下默认表名为小写，OceanBase Oracle 模式下默认表名为大写。如果 Oracle 中定义的表名为小写，表名左右需要使用中括号。例如：`--table '[t1]'` 表示小写的表名。

 Q：OBLOADER 运行报错：`The xxx files are not found in the path: "xxx"`。

A：要求 `-f` 指定的目录中的数据文件的名称与表名相同且大小写一致。OceanBase MySQL 模式下默认表名为小写，OceanBase Oracle 模式下默认表名为大写。例如：`--table 't1'`目录中的数据文件须为 t1.csv 或者 t1.sql，不能是 T1.csv 或者其它的文件名。

 Q：OBLOADER 运行报错：`The manifest file: "xxx" is missing`。

A：元数据文件 MANIFEST.bin 是 OBDUMPER 导出时产生的。使用其它工具导出时没有元数据文件。用户指定 `--external-data` 选项可跳过检查元数据文件。

 Q：OBLOADER 导入 Delimited Text 格式时报错：`Index：0，Size：0`。

A：出现这种错误的原因是数据中存在回车符/换行符，请先使用脚本删除数据中的回车符/换行符后再导入数据。

 Q：OceanBase MySQL 模式下，连接 ODP (Sharding) 逻辑库导入 KEY 分区表数据时，OceanBase Database Proxy (ODP) 显示内存不足且 OBLOADER 运行报错：`socket was closed by server`。

A：设置 `proxy_mem_limited` 参数的权限，确认是否有外部依赖，ODP 默认内存限制为 2GB。连接 ODP (Sharding) 逻辑库且通过 OBLOADER 导入数据时需要使用 root@proxysys 账号权限，修改逻辑库内存限制语句如下：

```sql
ALTER proxyconfig SET proxy_mem_limited = xxg

```

Q：OBLOADER 运行报错：`Not supported feature or function`。

A：低版本的 OBServer 不支持某些特性。使用 OBServer 2.2 及之前的版本时，请将 `{ob-loader-dumper}/conf/session.config.json` 文件中的 JDBC 参数 `useServerPrepStmt` 设置为 `false`，并删除 `init_sql.mysql` 标签下 `set session sql_mode = xxx` 语句。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
