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();
(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
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;
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');
7.Oracle 建表
Create table T2(id int,name varchar(20));
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'
);
通过外部表查询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 ;
通过外部表更新数据
select * from f_oracle_t2 ;
update f_oracle_t2 set id=4 where name='enmodb';
select * from f_oracle_t2 ;
通过外部表删除数据
select * from f_oracle_t2 ;
delete from f_oracle_t2 where id=3;
select * from f_oracle_t2 ;
最后修改时间:2022-08-29 18:23:26
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。