首批通过分布式安全可靠测评,为关键业务系统打造
如何批量迁移 Oracle 数据库中的视图、存储过程等 PL 对象
更新时间:2026-05-29 09:46
本文主要介绍如何通过 DBCat 与 OBLOADER 工具从 Oracle 数据库中批量向 OceanBase 数据库导入视图、序列、存储过程等 PL 对象。
适用版本
OceanBase 数据库 V2.X 及后续版本
前提条件
- JAVA 版本 V1.8.0。
- 已在本地环境安装 DBCat 与 OBLOADER 工具。
操作步骤
输出 JAVA 环境。
[admin@hostname ~]$ export JAVA_HOME=/etc/alternatives/jre_1.8.0_openjdk通过 OMS 的命令行工具 DBCat 批量导出 Oracle 数据库的 schema 定义。
[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 表示仅导出合法的数据库对象。 将导出的数据库对象导入到 OceanBase 数据库。
[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 标记数据是由第三方工具导出,因此不进行元数据信息检查。