循序渐进丨MogDB 对 Oracle DBLink兼容性增强


云和恩墨
云和恩墨 2024-03-27 09:58:47 52801
分类专栏: 资讯
本特性自 MogDB 5.0.0版本开始引入,支持 Oracle DBLink语法,可以使用@符号访问 Oracle 数据库中的表。
示  例
01
环境准备
图片
MogDB 环境
图片
  • 已安装 MogDB 数据库。
  • 已安装oracle_fdw插件,具体安装方法参见oracle_fdw安装文档

    https://docs.mogdb.io/zh/mogdb/v5.0/1-oracle_fdw(复制链接至浏览器查阅)

图片
Oracle 环境
图片
创建测试表:
  •  
  •  
  •  
  •  
  •  
CREATE TABLE scott.EMPLOYEE (ID INT PRIMARY KEY,NAME VARCHAR2(50) NOT NULL,SALARY NUMBER(10,2));
插入测试数据:
  •  
  •  
INSERT INTO scott.EMPLOYEE (ID, NAME, SALARY) VALUES (1001, 'Mike', 5000);INSERT INTO scott.EMPLOYEE (ID, NAME, SALARY) VALUES (1002, 'JACK', 6000);
02
验证步骤
图片
① 登录 MogDB 数据库
图片
以数据库postgres,端口号26000为例:
  •  
  •  
  •  
  •  
  •  
  •  
[omm@master01 ~]$ gsql -d postgres -p 26000 -rgsql ((MogDB 5.0.4 build 070c88a0) compiled at 2023-11-25 12:57:09 commit 0 last mr 1804 )Non-SSL connection (SSL connection is recommended when requiring high-security)Type "help" for help.
MogDB=#
图片
② 创建用户
图片

赋予用户sysadmin权限,以用户名test为例:

  •  
  •  
  •  
  •  
  •  
MogDB=# create user test identified by 'Enmo@123';NOTICE:  The encrypted password contains MD5 ciphertext, which is not secure.CREATE ROLEMogDB=# alter user test sysadmin;ALTER ROLE
图片
③ 用户创建用户映射密钥文件
图片
  •  
  •  
  •  
[omm@master01**粗体** oracle_file]$ gs_guc generate -S 'xxxx@123' -D $GAUSSHOME/bin -o usermapping -U testThe gs_guc run with the following arguments: [gs_guc -S ******** -D /data/mogdb500/app/bin -o usermapping -U test generate ].gs_guc generate -S *** -U ***

-S 表示自定义密钥,例如xxxx@123

图片
④ 以test用户登录 MogDB 数据库
图片
  •  
  •  
  •  
  •  
  •  
  •  
[omm@master01 ~]$ gsql -d postgres -p 26000 -r -U test -W 'Enmo@123'gsql ((MogDB 5.0.4 build 070c88a0) compiled at 2023-11-25 12:57:09 commit 0 last mr 1804 )Non-SSL connection (SSL connection is recommended when requiring high-security)Type "help" for help
MogDB=>
图片
⑤ 创建 MogDB 数据库到 Oracle 数据库的DBLink连接
图片

以IP地址10.211.55.21,端口号1521,数据库名orcl为例:

  •  
  •  
MogDB=> CREATE SERVER dblink_to_orcl FOREIGN DATA WRAPPER oracle_fdw OPTIONS(dbserver '10.211.55.21:1521/orcl');CREATE SERVER
图片
⑥ 创建用户映射
图片

为 MogDB 数据库用户test和 Oracle 数据库用户scott建立映射关系:

  •  
  •  
MogDB=> create user mapping for test server dblink_to_orcl options(user 'scott',password 'xxx123');CREATE USER MAPPING
图片
⑦ 通过DBLink在 MogDB 数据库中查询 Oracle 表
图片
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
MogDB=> SELECT * FROM scott.EMPLOYEE@dblink_to_orcl;  id  | name | salary------+------+--------- 1001 | Mike | 5000.00 1002 | JACK | 6000.00(2 rows)
MogDB=> SELECT * FROM scott.EMPLOYEE@dblink_to_orcl WHERE SALARY > 400; id | name | salary------+------+--------- 1001 | Mike | 5000.00 1002 | JACK | 6000.00(2 rows)
图片
⑧ 通过DBLink操作数据
图片

在 MogDB 数据库中对 Oracle 数据库表执行更新、插入、删除、查询操作:

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
MogDB=> UPDATE scott.EMPLOYEE@dblink_to_orcl SET SALARY = 5500 WHERE ID = 1001;UPDATE 1
MogDB=> insert into scott.EMPLOYEE@dblink_to_orcl values (1003, 'JANE', 7000);INSERT 0 1
MogDB=> DELETE FROM scott.EMPLOYEE@dblink_to_orcl WHERE SALARY =6000;DELETE 1
MogDB=> select * from scott.EMPLOYEE@dblink_to_orcl; id | name | salary------+------+--------- 1003 | JANE | 7000.00 1001 | MIKE | 5500.00(2 rows)
图片
⑨ 查看执行计划
图片
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
MogDB=> explain select * from scott.EMPLOYEE@dblink_to_orcl;                                                    QUERY PLAN
------------------------------------------------------------------------------------------------------------------ Foreign Scan on "scott.employee@dblink_to_orcl" employee (cost=10000.00..20000.00 rows=1000 width=78) Oracle query: SELECT /*66abc20a4a7895b75898e391381f9de8*/ r1."ID",r1."NAME",r1."SALARY" FROM scott.employee r1(2 rows)

 

关于作者

许玉晨,云和恩墨 MogDB 技术支持工程师,有超过10年的金融、保险、政府、地税、运营商等业务关键型系统的运维经验,曾担任公司异常恢复东区接口人,负责紧急异常恢复工作,目前负责 MogDB 数据库的技术推广工作。

图片

数据驱动,成就未来,云和恩墨,不负所托!


云和恩墨:智能的数据技术提供商,创立于2011年,总部位于中国北京,在国内外35个地区设有本地办公室并开展业务。

我们以“数据驱动,成就未来”为使命,致力于将创新的数据技术产品和解决方案带给全球的企业和组织,帮助客户构建起安全、高效、敏捷且经济的数据环境,并增强客户在数据洞察和决策上的竞争优势,实现数据驱动的业务创新和升级发展。

自成立以来,我们始终专注于数据技术领域,根据不断变化的市场需求和技术进步,创新研发了系列软件产品,涵盖数据库、数据库存储、数据库云化管理和数据智能分析等领域。这些产品已经在集团型、大中型、高成长型客户以及行业云场景中得到广泛应用,证明了我们的技术和商业竞争力,展现了我们在数据技术端到端解决方案方面的优势。

在云化、数字化和智能化的时代背景下,我们始终以正和多赢为目标,感恩每一位客户和合作伙伴的信任与支持,“利他先行”,坚持长期投入于数据技术核心能力的理念,为构建智能的数字世界而不懈努力。

图片
MogDB · 目录
上一篇循序渐进丨openGauss / MogDB 列存表vacuum DELTAMERGE过程申请的锁
 

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=52613
赞同 2
评论 0 条
云和恩墨L3
粉丝 0 发表 25 + 关注 私信
上周热门
如何使用 StarRocks 管理和优化数据湖中的数据?  2959
【软件正版化】软件正版化工作要点  2878
统信UOS试玩黑神话:悟空  2843
信刻光盘安全隔离与信息交换系统  2737
镜舟科技与中启乘数科技达成战略合作,共筑数据服务新生态  1270
grub引导程序无法找到指定设备和分区  1235
华为全联接大会2024丨软通动力分论坛精彩议程抢先看!  165
点击报名 | 京东2025校招进校行程预告  164
2024海洋能源产业融合发展论坛暨博览会同期活动-海洋能源与数字化智能化论坛成功举办  163
华为纯血鸿蒙正式版9月底见!但Mate 70的内情还得接着挖...  159
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

加入交流群

请使用微信扫一扫!