---
title: 通过 DBCat 工具导出 Oracle 11g 的 Schema 定义-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于通过 DBCat 工具导出 Oracle 11g 的 Schema 定义相关的常见问题和使用技巧，帮助您快速解决通过 DBCat 工具导出 Oracle 11g 的 Schema 定义的难题。
---
切换语言

- 简体中文
- English

划线反馈

# 通过 DBCat 工具导出 Oracle 11g 的 Schema 定义

更新时间：2026-05-29 09:46

适用版本： V2.2.x、V3.1.x、V3.2.x、V4.0.x、V4.1.x、V4.2.x 内容类型：TechNote  

本文主要介绍如何通过 DBcat 工具从原生 Oracle 11g 数据库中导出 Schema 定义。

## 适用版本

OceanBase 数据库 V2.X 及后续版本。

## 前提条件

1. 本地环境已经安装了 DBcat。

   ```shell
   [root@h07f02152.sqa.eu95:/home/admin/dbcat/dbcat-1.9.1-RELEASE]# tree -L 3 --filelimit 30
   .
   ├── bin
   │   ├── dbcat
   │   ├── dbcat.bat
   │   └── dbcat-debug
   ├── conf
   │   ├── dbcat.properties
   │   └── logback.xml
   ├── docs
   │   ├── README.docx
   │   ├── README.md
   │   └── README.txt
   ├── LEGAL.md
   ├── lib [47 entries exceeds filelimit, not opening dir]
   ├── LICENSE
   ├── meta
   │   └── README
   ├── NOTICE
   └── output

   ```
 2. 原生 Oracle 的 schema 如下。

   ```sql
   SQL> conn test2/xxx
   Connected.
   SQL> select table_name from user_tables;

   ```

   返回结果如下。

   ```sql
   TABLE_NAME
   ------------------------------
   DBMS_TABCOMP_TEMP_UNCMP
   DRC_TXN_P_40YZVY84MR5S
   DRC_TXN_P_4C30HYX040O0
   BMSQL_ITEM
   C1
   B1
   A1
   BMSQL_CONFIG
   DRC_TXN_P_3IIRO06U8YIO
   DRC_TXN_P_3IPRE5A0RWXS
   DRC_TXN_P_3IUF3BHMMDA8

   TABLE_NAME
   ------------------------------
   DRC_TXN_P_3MAAWP2KATB4
   T_PTEST
   T_TEST
   DRC_TXN_P_3UMKQYCRJFOG
   DRC_TXN_P_3UMNL0QRILPC
   DRC_TXN_P_3UN0873GKNXC
   DRC_TXN_P_4BZ4CM3JQVA8
   LIST_TEST
   BMSQL_STOCK
   BMSQL_OORDER
   BMSQL_WAREHOUSE

   TABLE_NAME
   ------------------------------
   BMSQL_ORDER_LINE
   BMSQL_NEW_ORDER
   BMSQL_DISTRICT
   BMSQL_CUSTOMER

   26 rows selected.

   ```

## 操作步骤

1. 配置好环境变量 `JAVA_HOME` 或者 `JRE_HOME`。

   ```shell
   export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.1.alios7.x86_64/jre

   ```
 2. 通过 DBCat 工具批量导出 Oracle 数据库的 schema 定义。

   ```shell
   ./dbcat convert -H 127.x.x.x -P 1521 -u test2 -p xxx --service-name helowin -D TEST2 --from oracle11g --to oboracle322  --all

   ```

   其中，各参数说明如下表所示。

   | 参数 | 说明 |
   | --- | --- |
   | -H | 主机地址 IP |
   | -P | Oracle 数据库得端口号 |
   | -u | 连接数据库的用户名 |
   | -p | 连接数据库的密码 |
   | --server-name | 连接 Oracle 数据库需要提供服务名 |
   | -D | 连接的数据库名 |
   | --from | Oracle 数据库版本 |
   | --to | 转换成 OceanBase 数据库 Oracle 模式版本 |
 3. 导出结果如下。

   ```shell
   [root@h07f02152.sqa.eu95:/home/admin/dbcat/dbcat-1.9.1-RELEASE/output/dbcat-2023-05-31-171933/TEST2]# pwd
   /home/admin/dbcat/dbcat-1.9.1-RELEASE/output/dbcat-2023-05-31-171933/TEST2
   [root@h07f02152.sqa.eu95:/home/admin/dbcat/dbcat-1.9.1-RELEASE/output/dbcat-2023-05-31-171933/TEST2]# ll
   total 52
   -rw-r--r-- 1 root root   170 Jun  1 09:30 PROCEDURE-schema.sql
   -rw-r--r-- 1 root root   238 Jun  1 09:30 FUNCTION-schema.sql
   -rw-r--r-- 1 root root    81 Jun  1 09:30 TYPE-schema.sql
   -rw-r--r-- 1 root root 39555 Jun  1 09:30 TABLE-schema.sql

   ```

#### 说明

添加了 `--all` 以后，默认会把所有的对象（包括 UDT、UDF、存储过程等等）都导出来的；如果不加 `--all` 的话，默认只会导出 Table 和 View。

Previous

[DBCat 如何使用 Compare 功能](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000000030)

Next

[V4.2.1.5 之前的版本升级 V4.2.1.5、V4.2.1.6 版本，触发迁移、复制、rebuild 失败，补副本流程，报错 -4735](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000824039) ![有帮助](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) 咨询热线
