5

mogdb插件之oracle访问 -m6米乐安卓版下载

原创 多米爸比 2022-09-13
1298

oracle客户端环境配置

方式一:安装oracle客户端相关rpm包

--安装基础包
# yum install oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm 
--安装开发包
# yum install oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm 

方式二:使用解压包

$ ll instantclient_12_2/
total 216688
-rwxrwxr-x 1 omm dbgrp     44220 jan 26  2017 adrci
-rw-rw-r-- 1 omm dbgrp       363 jan 26  2017 basic_readme
-rwxrwxr-x 1 omm dbgrp     57272 jan 26  2017 genezi
-rwxrwxr-x 1 omm dbgrp   8033199 jan 26  2017 libclntshcore.so.12.1
-rwxrwxr-x 1 omm dbgrp  71638263 jan 26  2017 libclntsh.so.12.1
-r-xr-xr-x 1 omm dbgrp   2981501 jan 26  2017 libipc1.so
-r-xr-xr-x 1 omm dbgrp    539065 jan 26  2017 libmql1.so
-r-xr-xr-x 1 omm dbgrp   6568149 jan 26  2017 libnnz12.so
-rwxrwxr-x 1 omm dbgrp   2218687 jan 26  2017 libocci.so.12.1
-rwxrwxr-x 1 omm dbgrp 124771800 jan 26  2017 libociei.so
-r-xr-xr-x 1 omm dbgrp    158543 jan 26  2017 libocijdbc12.so
-r-xr-xr-x 1 omm dbgrp    380996 jan 26  2017 libons.so
-rwxrwxr-x 1 omm dbgrp    116563 jan 26  2017 liboramysql12.so
-r--r--r-- 1 omm dbgrp   4036257 jan 26  2017 ojdbc8.jar
drwxrwxr-x 5 omm dbgrp        97 jan 26  2017 sdk
-rwxrwxr-x 1 omm dbgrp    240476 jan 26  2017 uidrvci
-rw-rw-r-- 1 omm dbgrp     74230 jan 26  2017 xstreams.jar

配置环境变量:方式二解压为例,配置ld_library_path

export ld_library_path=$gausshome/lib:$gausshome/lib/postgresql/:/usr/local/lib:/usr/local/lib64:/usr/lib64:/home/omm/instantclient_12_2

ld_library_path变量最后增加配置/home/omm/instantclient_12_2

oracle访问插件准备

上传文件oracle_fdw_centos7_x86_64.tar.gz,后续会发布到mogdb的插件包里

安装插件

先解压oracle_fdw_centos7_x86_64.tar.gz,使用普通用户omm操作即可

$ tar zxvf oracle_fdw_centos7_x86_64.tar.gz 

拷贝相应的文件到mogdb安装目录

$ cp oracle_fdw/oracle_fdw--1.1.sql /opt/mogdb300/share/postgresql/extension/
$ cp oracle_fdw/oracle_fdw.control /opt/mogdb300/share/postgresql/extension/
$ cp oracle_fdw/oracle_fdw.so /opt/mogdb300/lib/postgresql/

创建扩展

需要使用具有sysadmin权限,才能创建扩展,admin用户拥有sysadmin管理权限。

$ gsql  -u admin postgres
mogdb=> create extension oracle_fdw with schema public;
create extension

查看扩展版本

mogdb=> select oracle_diag();
                         oracle_diag                          
--------------------------------------------------------------
 oracle_fdw 2.2.0, postgresql 9.2.4, oracle client 12.2.0.1.0
(1 row)

普通用户使用fdw权限配置

admin用户拥有sysadmin管理权限,赋予普通用户opengauss使用oracle_fdw权限

$ gsql  -u admin postgres
mogdb=> grant usage on foreign data wrapper oracle_fdw to mes;
grant

普通用户创建server

普通用户mes操作创建server

$ gsql  -u mes postgres
mogdb=> create server server_oracle foreign data wrapper oracle_fdw options(dbserver '192.168.137.227:1521/orcl');
create server

普通用户创建用户映射

注意:为了提升安全,需要对用户映射的密码加密存储,必须通过gs_guc generate命令生成user mapping的key。

$ gs_guc generate -s admin@1234 -d /opt/mogdb300/bin -o usermapping

如果不执行上面的gs_guc generate命令,会出现如下的错误提示:

mogdb=> create user mapping for mes server server_oracle options(user 'scott',password 'admin');
error:  no key file usermapping.key.cipher
hint:  please create usermapping.key.cipher file with gs_guc and gs_ssh, such as :gs_ssh -c "gs_guc generate -s xxx -d $gausshome/bin -o usermapping"

执行完gs_guc generate命令,接着创建用户映射

mogdb=>  create user mapping for mes server server_oracle options(user 'scott',password 'admin');
create user mapping

普通用户创建外部表

mogdb=> create foreign table f_oracle_t2(
id int
)server server_oracle 
options (
    schema 'scott',
    "table" 't2'
);
create foreign table

普通用户使用外部表

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

mogdb=>  select * from f_oracle_t2;
 id  
-----
 100
(1 row)

写入数据到oracle数据库t2表

mogdb=>  insert into f_oracle_t2 values(200);
insert 0 1

再次查看数据

mogdb=>  select * from f_oracle_t2;
 id  
-----
 100
 200
(2 rows)
最后修改时间:2022-10-22 12:33:51
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【米乐app官网下载的版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

网站地图