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進行舉報,并提供相關證據,一經查實,墨天輪將立刻刪除相關內容。




