---
title: "准备环境 - 导数工具 V4.3.3.1 | OceanBase 文档中心"
description: 准备环境 运行导数工具前，请确认已拥有合适的运行环境和运行权限。 运行环境 环境 要求 系统版本 支持 Linux/macOS/Windows 7 及之后版本。 Java 环境 请安装 Oracle JDK 1.8.0_3xx ，配置 JAVA_HOME 环境变量。 字符集 推荐使用 UTF-8 文件编码。 JVM …
---
切换语言

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

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

# 准备环境

更新时间：2026-04-07 17:00:52

[编辑](https://github.com/oceanbase/obdumper-loader-doc/edit/V4.3.3.1/zh-CN/400.deployment-guide/100.environmental-preparation.md)  

运行导数工具前，请确认已拥有合适的运行环境和运行权限。

## 运行环境

| **环境** | **要求** |
| --- | --- |
| 系统版本 | 支持 Linux/macOS/Windows 7 及之后版本。 |
| Java 环境 | 请安装 [Oracle JDK 1.8.0_3xx](https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html)，配置 `JAVA_HOME` 环境变量。 |
| 字符集 | 推荐使用 UTF-8 文件编码。 |
| JVM 参数 | 请编辑 `bin/obloader` 和 `bin/obdumper` 脚本，修改 JVM 内存参数，避免出现 JVM 内存不足。 |

#### 说明

OpenJDK 1.8 的部分小版本存在严重的垃圾收集器（GC）错误，运行导入导出工具时可能会出现内存溢出或程序卡死。为了避免这些问题，我们建议您安装 [OpenJDK 1.8](https://pkgs.org/download/java-1.8.0-openjdk) 的最新小版本。

如果您正在使用的是麒麟等国产操作系统，您需要将 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.`。

1. 进入 [Code](https://github.com/chang1sun/winutils) 页面，单击右上角的 **Code** > **Download ZIP**，下载 zip 包。

   ![hdfs](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/obloaderobdumper/hdfs.png)
 2. 解压后，复制目录当前路径。

   本文以目录路径 `C:\User\chang\winutils` 为例，后续步骤请注意替换为实际路径。
 3. 您可以通过以下两种方式进行配置，请根据需要选择配置方式。

      - 直接设置系统环境变量：`HADOOP_HOME = C:\User\chang\winutils\hadoop-3.3.6`，在用户变量 Path 中追加 `%HADOOP_HOME%\bin`。
      - 使用记事本打开 `<工具根目录>\bin\windows\obdumper.bat`，找到以下行：

       ```shell
       SET PROGRAM_OPTS=%PROGRAM_OPTS% "-Dtool.base.dir=%PARENT_PATH%"

       ```

       在该行之上或者之下，新增一行下述命令，保存并退出。

       ```shell
       SET PROGRAM_OPTS=%PROGRAM_OPTS% "-Dhadoop.home.dir=C:\User\chang\winutils\hadoop-3.3.6"

       ```
 4. 重新运行 OBLOADER/OBDUMPER。

## 运行权限

### OBLOADER 运行权限

使用 OBLOADER 连接 OceanBase 数据库导入数据时，连接数据库的账号需要拥有 `CREATE`, `SELECT`, `INSERT`, `UPDATE` 等命令的执行权限。可通过 `SHOW GRANTS` 语句查看用户被授予的权限。示例语句：

```shell
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` 语句查看用户被授予的权限。示例语句：

```shell
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 命令行选项](https://www.oceanbase.com/docs/common-oceanbase-dumper-loader-1000000002781923) 和 [OBDUMPER 命令行选项](https://www.oceanbase.com/docs/common-oceanbase-dumper-loader-1000000002781916)。
 - 命令行选项 `--sys-user`, `--sys-password` 必须使用 sys 租户下拥有查询系统表和查询视图权限的用户。
 - 更多权限相关的内容，请参考 [查看用户权限](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000642582)，[用户和权限概述](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000640309)，[修改用户权限](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000642576)。

 上一篇 下一篇 ![有帮助](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) 咨询热线
