暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle_fdw插件在MogDB中的使用

原创 2020 2022-08-29
983

Oracle_fdw插件在MogDB中的使用

oracle_fdw(foreign data wrapper for oracle)用于Oracle的外部数据包装器,是一款开源插件。本文章用例介绍Oracle_fdw在mogdb的安装和使用

1.Oracle_fdw安装部署

1.数据库版本信息

su - omm

gsql -d postgres -p26000 -r

Select version();

image20220829160716880.png

image20220829160841296.png

(2)编译Oracle_fdw插件包(https://docs.mogdb.io/zh/mogdb/v3.0/1-oracle_fdw)

无编译安装Oracle_fdw 
 cp oracle_fdw.so $GAUSSHOME/lib/postgresql
 cp oracle_fdw--1.1.sql $GAUSSHOME/share/postgresql/extension
 cp oracle_fdw--1.0--1.1.sql $GAUSSHOME/share/postgresql/extension
 cp oracle_fdw.control $GAUSSHOME/share/postgresql/extension
 

Xnip20220829_164232.jpg

2.Oracle_fdw配置及其mogdb外部表和oracle表的增删查改

(1)创建扩展(用户必须有sysadmin权限)

gsql -d postgres -p26000 -r
create extension oracle_fdw with schema public;

(2)查看扩展版本

 select oracle_diag();

(3)postgres用户(有sysadmin管理权限)赋予普通用户test_usr使用oracle_fdw权限

grant USAGE on FOREIGN data wrapper oracle_fdw to test_usr;

image20220829161924485.png

5.普通用户test_usr操作创建server

gsql -d test_db -p26000 -r -U test_usr -W test@123
create server server_oracle foreign data wrapper oracle_fdw options(dbserver '172.16.0.164/LHR11G');
CREATE SERVER

6.普通用户test_usr操作创建用户映射

 create user mapping for test_usr server server_oracle options(user 'test_usr',password 'test123');

image20220829162012387.png

7.Oracle 建表

Create table T2(id int,name varchar(20));

image20220829162044736.png

8.普通用户test_usr创建外部表

create foreign table f_oracle_t2(
id int OPTIONS (key 'true') NOT NULL,
Name varchar(20)
)server server_oracle 
OPTIONS (
    schema 'TEST_USR',
    "table" 'T2'
);

image20220829162110082.png

通过外部表查询oracle数据库t2表数据

 select * from f_oracle_t2;

通过外部表向Oracle插入数据

insert into f_oracle_t2 values(2002,'enmo');
insert into f_oracle_t2 values(2003,'enmotest');

Oracle端查询

Select * from t2

mogdb端查询

select * from f_oracle_t2 ;

image20220829162151131.png

通过外部表更新数据

select * from f_oracle_t2 ;
update f_oracle_t2 set id=4 where name='enmodb';
select * from f_oracle_t2 ;

image20220829162242114.png

通过外部表删除数据

select * from f_oracle_t2 ;
delete from f_oracle_t2 where id=3;
select * from f_oracle_t2 ;

image20220829162333969.png

最后修改时间:2022-08-29 18:23:26
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论