循序渐进丨MogDB 5.0 远程访问 MogDB/Oracle 数据库的简便方法(使用@符号)

devtools/2024/10/23 4:44:31/

概述

早期的 MogDB 就提供了Postgres_fdw、Oracle_fdw、MySQL_fdw3个插件,用于远程访问 MogDB/Oracle/MySQL数据库

旧的版本中,访问远程数据库的表,需要显式创建外部表,而在 MogDB 5.0当中,这种用法得到了简化,对于 MogDB 和 Oracle 可以直接使用"@"符号直接访问远程数据库的表,步骤如下:

  1. 安装和创建对应插件(create extension)

  2. 创建远程数据库链接(create server),指定对端数据库的物理信息

  3. 创建用户映射关系(create user mapping),指定对端数据库的认证信息

当然,前面还有一些诸如在远程数据库创建用户,创建表等准备工作。下面分别写一下 MogDB 5.0 远程访问 MogDB 和 Oracle 的操作方法。

MogDB (或其他openGauss系数据库

00准备工作

在远端数据库创建用于数据库远程连接的用户,并创建数据库和表:​​​​​​​

=== 远端数据库 ==create database testdb;\c testdbcreate user testdblink password 'Enmotech@123';grant all on database testdb to testdblink ;create table testdblink.testdata as select generate_series(1,100) as id ;

同时,假定已配置合适的pg_hba.conf,允许下面步骤的数据库进行远程连接。

01安装和创建对应插件(create extension)

postgres_fdw插件默认包含在安装包中,因此无需专门安装,只需要创建出来即可:​​​​​​​

===本地数据库===create extension postgres_fdw;

02创建远程数据库链接(create server),指定对端数据库的物理信息​​​​​​

===本地数据库===create server testDBLink_mogdb1 foreign data wrapper postgres_fdw options(host '172.16.3.153', port '31000',dbname 'testdb');

其中的ip、port、dbname可以根据实际情况修改。

03创建用户映射关系(create user mapping),指定对端数据库的认证信息

注意,在做这一步之前,如果之前没有创建过针对usermapping的密码保护,则需要执行以下语句​​​​​​​

===本地数据库的操作系统用户下===gs_ssh -c "gs_guc generate -o usermapping -S default -D $GAUSSHOME/bin"

如果之前已经执行过同样操作,则可以略过。

创建用户映射关系:

create user mapping for public server testDBLink_mogdb1 options(user 'testdblink',password 'Enmotech@123');

这里的user ‘testdblink’,password 'Enmotech@123’对应远端数据库用户名密码。同时,为了简化,直接用了public,其实也可以改为特定的本地用户(for username),改了之后只有指定用户才能用这个用户密码连接到远程数据库

04开始使用

select * from testdata@testDBLink_mogdb1;

Oracle

00准备工作

在远端数据库创建用于数据库远程连接的用户,并创建数据库和表:​​​​​​​

=== 远端数据库 ==create user testdblink identified by 'Enmotech123';grant connect,resource to testdblink;conn testdblink/Enmotech123create table testdata (id int);

01安装和创建对应插件(create extension)

Oracle_fdw插件默认不包含在安装包中,因此需要单独安装。

首先要安装 Oracle 客户端,从 Oracle 官网下载 Oracle client 19(https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html)

上传到 MogDB 所在服务器,解压,并将instantclient的lib*.so.*拷到$GAUSSHOME/lib下:

cp instantclient_*/lib*so* $GAUSSHOME/lib

然后安装插件,如果能联网,且使用ptk ,则可以直接安装:

ptk cluster -n 集群名 install-plugin -P oracle_fdw

否则,需要到mogdb.io 里下载对应版本的Oracle_fdw插件,解压,make install,会把文件拷到合适的目录。

最后,登录到数据库,创建插件:​​​​​​​

===本地数据库===create extension oracle_fdw;

02创建远程数据库链接(create server),指定对端数据库的物理信息​​​​​​​

===本地数据库===create server testDBLink_ora1 foreign data wrapper oracle_fdw options(dbserver '192.168.56.101:1521/serol');

dbserver中的ip、port、sid可以根据实际情况修改。

03创建用户映射关系(create user mapping),指定对端数据库的认证信息

注意,在做这一步之前,如果之前没有创建过针对usermapping的密码保护,则需要执行以下语句:​​​​​​​

===本地数据库的操作系统用户下===gs_ssh -c "gs_guc generate -o usermapping -S default -D $GAUSSHOME/bin"

如果之前已经执行过同样操作,则可以略过。

创建用户映射关系:

create user mapping for public server testDBLink_ora1 options(user 'testdblink',password 'Enmotech@123');

这里的user ‘testdblink’,password 'Enmotech@123’对应远端数据库用户名密码。

04开始使用​​​​​​​

select * from testdata@testDBLink_mogdb1;insert into testdata@testDBLink_mogdb1 values(1);


http://www.ppmy.cn/devtools/128057.html

相关文章

Android Camera2在textureView中的预览和拍照

Camera2预览和拍照 1、Camera2相机模型2、Camera2的重要类3、Camera2调用流程4、Camera2调用实现 1)定义TextureView作为预览界面2)设置相机参数3)开启相机4)开启相机预览5)实现PreviewCallback6)拍照 1、Camera2相机模型 解释上诉示意图,假如想要同时拍摄两张不同…

文件处理新纪元:微信小程序的‘快递员’与‘整理师’

嗨,我是中二青年阿佑,今天阿佑将带领大家如何通过巧妙的文件处理功能,让用户体验从‘杂乱无章’到‘井井有条’的转变! 文章目录 微信小程序的文件处理文件上传:小程序的“快递服务”文件下载:小程序的“超…

WSL2 Linux子系统调整存储位置

WSL2 默认不支持修改Linux 安装路径,官方提供的方式,只有通过导出、导入的方式实现Linux子系统的迁移。 修改注册表的方式官方不推荐,没有尝试过,仅提供操作方式(自行评估风险,建议备份好数据) 1. 打开 **注册表编辑器…

源代码加密技术的一大新方向!

在当今这个信息爆炸的时代,企业所面临的数据安全挑战日益严峻。传统的文档加密方法已经无法满足日益复杂的安全需求。幸运的是,SDC沙盒加密系统以其革命性的安全理念和先进技术,为企业提供了一个更可靠、更高效的数据保护方案。 传统加密方案…

【学习笔记】网络设备(华为交换机)基础知识 9 —— 堆叠配置

提示:学习华为交换机堆叠配置,含堆叠的概念、功能、角色、ID和优先级;堆叠的建立过程以及注意事项;包含堆叠的配置命令,以及堆叠的配置案例 一、前期准备 1.已经可以正常访问交换机的命令行接口 Console口本地访问教…

D45【python 接口自动化学习】- python基础之类

day45 类与实例 学习日期:20241022 学习目标:类 -- 59 类与实例:如何使用面向对象的思想编写程序? 学习笔记: 定义一个类 类的实例化 类的属性 类的方法 # 定义一个类 class Coffee:water 0milk1# 类的方法def add…

技术经济学·技术经济分析指标体系与基本原则

第一节 经济效果的基本概念 一、经济效果的概念 1.什么是效果? 行为产生的结果。(如政治效果、军事效果、科技效果等。) 效果有好坏之分,具有双面刃性。 条件:投入——即要消耗一定的劳动(活的或物化的劳…

linux centos7系统ARM架构下安装最新版docker 27.3.1及docker-compose v2.3.4

卸载旧版本的docker 相关安装包 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine安装最新版docker,通过以下版本下载arm版本docker包 https://download.…