1. 将Oracle迁移到MogDB 官方建议使用MTK迁移 MTK全称为 Database Migration Toolkit,是一个可以将Oracle/DB2/MySQL/openGauss数据库的数据结构,全量数据高速导入到MogDB的工具。最新版本同时支持对于Oracle数据库中存储过程,函数,触发器等程序段的MogDB兼容性改写和导入。 MTK链接 https://docs.mogdb.io/zh/mtk/v2.0/overview
2. 在MogDB里访问其它MogDB数据库,可以使用dblink extension dblink可以支持MogDB到MogDB的访问,如果将应用的所有Oracle数据库迁移到了不同的MogDB数据库里,可以通过dblink extention来实现多个MogDB数据库之间的数据库链 。 dblink参考链接 https://docs.mogdb.io/zh/mogdb/v2.1/dblink
3 在MogDB里访问Oracle数据库,可以使用oracle_fdw。但是MogDB 2.1发行版还没有将此插件纳入,MogDB 3.0版本(年中发布)将会纳入。
简要说明如下: 加载oracle_fdw扩展:CREATE EXTENSION oracle_fdw; 创建服务器对象:CREATE SERVER 创建用户映射:CREATE USER MAPPING 创建外表:CREATE FOREIGN TABLE 外表的表结构需要与Oracle数据库中的表结构保持一致。注意Oracle server侧的表的第一个字段必须具有唯一性约束(如PRIMARY KEY、UNIQUE等)。 对外表做正常的操作,如 INSERT 、 UPDATE 、 DELETE 、 SELECT 、 EXPLAIN 、 ANALYZE 、 COPY 等。 删除外表:DROP FOREIGN TABLE 删除用户映射:DROP USER MAPPING 删除服务器对象:DROP SERVER 删除扩展:DROP EXTENSION oracle_fdw;
示例如下: — 创建扩展(用户必须有sysadmin权限) $ gsql -p6432 -Upostgres postgres
postgres=# create extension oracle_fdw with schema public; CREATE EXTENSION
--postgres用户(有sysadmin管理权限)赋予普通用户mogdb使用oracle_fdw权限
postgres=> grant USAGE on FOREIGN data wrapper oracle_fdw to mogdb; GRANT
普通用户mogdb操作创建server
postgres=> create server server_oracle foreign data wrapper oracle_fdw options(dbserver '172.17.0.2:1521/lee'); CREATE SERVER
普通用户mogdb操作创建用户映射
postgres=> create user mapping for mogdb server server_oracle options(user 'system',password 'admin'); CREATE USER MAPPING
普通用户mogdb创建外部表
postgres=> create foreign table f_oracle_t2( id int )server server_oracle OPTIONS ( schema 'SYSTEM', "table" 'T2' ); CREATE FOREIGN TABLE
通过外部表查询oracle数据库t2表数据
postgres=> select * from f_oracle_t2; id ------ 2001 (1 row) 从opengauss端写入数据到oracle数据库t2表
postgres=> insert into f_oracle_t2 values(2002); INSERT 0 1 再次查看数据
postgres=> select * from f_oracle_t2 ; id ------ 2001 2002 (2 rows)
Best Regards. - 李宏达 -------------------------------------------- 云和恩墨(北京)信息技术有限公司 Yunhe Enmo(Beijing)Technology Co.,LTD 地址: 北京市朝阳区光华路9号光华路SOHO二期B座10-3 电话: 010-59007017 手机: 15501059069 邮箱: honda.li@enmotech.com 网址: http://www.enmotech.com -------------------------------------------- 数据驱动 成就未来 --------------------------------------------