---
title: 如何批量迁移 Oracle 数据库中的视图、存储过程等 PL 对象-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于如何批量迁移 Oracle 数据库中的视图、存储过程等 PL 对象相关的常见问题和使用技巧，帮助您快速解决如何批量迁移 Oracle 数据库中的视图、存储过程等 PL 对象的难题。
---
切换语言

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

划线反馈

# 如何批量迁移 Oracle 数据库中的视图、存储过程等 PL 对象

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

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

本文主要介绍如何通过 DBCat 与 OBLOADER 工具从 Oracle 数据库中批量向 OceanBase 数据库导入视图、序列、存储过程等 PL 对象。

## 适用版本

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

## 前提条件

- JAVA 版本 V1.8.0。
 - 已在本地环境安装 DBCat 与 OBLOADER 工具。

## 操作步骤

1. 输出 JAVA 环境。

   ```shell
   [admin@hostname ~]$ export JAVA_HOME=/etc/alternatives/jre_1.8.0_openjdk

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

   ```shell
   [admin@hostname ~]$./bin/dbcat convert -hxxx.xxx.xxx.xxx -Pxxxx -u<user_name> -p<passwd> --service c5oyjzy1 -D<database_name> --from <version> --to <version> --all  --valid-only

   ```

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

   | 参数 | 说明 |
   | --- | --- |
   | -h | 主机 IP 地址。 |
   | -P | Oracle 数据库的端口号。 |
   | -u | 连接数据库的用户名。 |
   | -p | 连接数据库的密码。 |
   | -D | 连接的数据库名。 |
   | --from | 源数据库版本。 |
   | --to | 目的数据库版本。 |
   | --all | 导出源数据库的所有表。 |
   | --valid-only | 表示仅导出合法的数据库对象。 |
 3. 将导出的数据库对象导入到 OceanBase 数据库。

   ```shell
   [admin@hostname ~]$./obloader -hxxx.xxx.xxx.xxx -Pxxxx -u<user_name> -c<cluster_name> -t<tenant_name> -p<passwd> --sys-password=<sys_passwd> -ddl --mix --external-data -D<database_name> -f /home/tools/dbcat-1.1.5/output/<database_name>/<file_name>

   ```

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

   | 参数 | 说明 |
   | --- | --- |
   | -h | 主机 IP 地址。 |
   | -P | Oracle 数据库的端口号。 |
   | -u | 连接数据库的用户名。 |
   | -c | 连接数据库的集群名。 |
   | -t | 连接的租户名。 |
   | -p | 连接租户的密码。 |
   | --sys-password | 连接 sys 租户的密码。 |
   | -ddl | 导入 DDL 文件。 |
   | --mix | 导入结构与数据库混合的数据库文件。 |
   | -D | 连接的数据库名称。 |
   | -f | 数据文件所在的文件目录。 |
   | --external-data | 标记数据是由第三方工具导出，因此不进行元数据信息检查。 |

上一篇

[DataX 离线迁移的数据校验方法](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000217826)

下一篇

[查询因客户端与服务端字符集不同导致的内存模块异常，报 No memory or reach tenant memory limit 4013](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000466959) ![有帮助](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) 咨询热线
