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

news/2024/10/20 13:11:50/

概述

早期的 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/news/1540525.html

相关文章

android:launchMode=“singleInstancePerTask“

android:launchMode"singleInstancePerTask" 是 Android 12(API Level 31) 引入的新启动模式,它是对现有的 singleInstance 模式的扩展。相比 singleInstance 模式,它为 Activity 提供了更多的灵活性,同时仍然保证了任务栈的独立性…

sqli-labs less-26 空格绕过

空格绕过 过滤空格 用Tab代替空格%20 %09 %0a %0b %0c %0d %a0 //() 绕过空格注释符绕过//–%20//#–- -;%00; 空白字符绕过SQLite3 —— 0A,0D,0c,09,20 MYSQL 09,0A,0B,0B,0D,A0,20 PosgressSQL 0A,0D,0C,09,20 Oracle_11g 00,0A,0D,0C,09,20 MSSQL 01,02,03,04,05,06,07,…

如何通过API接口提升业务效率:一个实战案例分析

在这个信息爆炸的时代,API接口已经成为获取实时数据的利器。无论是天气预报、股市动态还是社交媒体更新,API都能提供即时且准确的信息。本文将通过一个简单的实战案例,展示如何使用天气API接口在你的网页上显示实时天气信息。 背景介绍 假设…

隐秘而又复杂的恶意软件:SSLoad

SSLoad 是一种隐秘的恶意软件,主要通过钓鱼邮件打开突破口,收集各种信息再回传给攻击者。近期,研究人员发现 SSLoad 通过诱饵 Word 文档投递恶意 DLL 文件,最终部署 Cobalt Strike。另一种攻击方式是利用钓鱼邮件诱导受害者到 Azu…

TypeScript 和 JavaScript的区别

一、类型系统 TypeScript: 是一种静态类型语言,它在编译时进行类型检查。开发者可以在编写代码时指定变量、函数参数和返回值的类型,从而在代码运行之前发现类型错误。提供了类型注解、接口、枚举等特性,使得代码更加结构化和易于…

贵州师范大学2025考研初复试资料清单一览

[冲刺]2025年贵州师范大学040105学前教育学《311教育学专业基础综合之教育概论》考研学霸狂刷380题[单项选择填空名词解释简答分析论述题]2天前[强化]2025年贵州师范大学030104刑法学《714法学综合一[法理学、宪法学]之法理学》考研强化检测5套卷2天前[冲刺]2025年贵州师范大学…

数控机械制造工厂ERP适用范围有哪些

在当今制造业高速发展的背景下,企业资源计划(ERP)系统已成为提升工厂管理效率、实现生产自动化与信息化的关键工具。特别是对于数控机械制造工厂而言,一个合适的ERP系统能够帮助其优化生产流程、提高产品质量、降低生产成本并增强市场竞争力。 1. 生产计…

2023年“网络建设与运维”广西省赛试题复盘

2023年“网络搭建与应用”省赛试题复盘 第一部分:网络搭建及安全部署项目 (500分) 一、竞赛内容分布 “网络搭建与应用”竞赛共分二个部分,其中: 第一部分:网络搭建及安全部署项目 第二部分:服…