win下安装oracle_fdw:从PostgreSQL中访问Oracle数据库

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介: 目的介绍现在项目开发遇到一个问题,就是需要从PostgreSQL中访问Oracle数据库身为渣渣猿一脸懵逼。于是乎请教了公司的数据库方面的大牛韩工。告诉我用oracle_fdw 可以实现,但是在实现安装的过程中,还是各种问题,又麻烦韩工帮我看了好久。

目的介绍

现在项目开发遇到一个问题,就是需要从PostgreSQL中访问Oracle数据库

身为渣渣猿一脸懵逼。于是乎请教了公司的数据库方面的大牛韩工。告诉我用oracle_fdw 可以实现,但是在实现安装的过程中,还是各种问题,又麻烦韩工帮我看了好久。很不好意思,现在 针对这次安装的过程进行记录下,因为部署的时候还要用到

安装oracle_fdw

1.下载oracle_fdw

点击github下载。注意,你要下载和你postgresql版本项目的安装包。我就是下载的不一样的导致这里找了好久。
image

2.将文件移动到pg安装路径下

下载完成将zip包解压,把【lib】文件夹的oracle_fdw.dll和【share/extension】目录下的三个文件分别复制到PostgreSQL安装目录下的【lib】文件夹和【share/extension】目录里去。

-- 创建oracle_fdw
create extension oracle_fdw;
-- 语句能查询到oracle_fdw extension,如下图
 select * from pg_available_extensions;
 

image

3.通过oracle_fdw访问oracle

--创建访问oracle的连接
create server oracle foreign data wrapper oracle_fdw options(dbserver '127.0.0.1:1521/orcl');
--授予zhazha用户访问权限
grant usage on foreign server oracle to zhazha;
--创建到oracle的映射
create user mapping for zhazha server oracle options(user 'SCOTT',password 'tiger');
--创建需要访问的oracle中对应表的结构
create foreign table emptest(
EMPNO NUMBER(4),
ENAME VARCHAR(10),
JOB VARCHAR(9),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7,2),
COMM NUMBER(7,2),
DEPTNO NUMBER(2)
) server oracle options(schema 'SCOTT',table 'EMP');
--在pg中访问oracle的表
select * from emptest;

下面粘贴我查询出的

image

4.其他操作

-- 查询已创建的到oracle的连接

SELECT * from pg_user_mappings;

-- 删除创建的对象

drop foreign table emptest;
drop user mapping for highgo server oracle;
drop server oracle;

参考:
[1]:https://blog.csdn.net/ljinxin/article/details/77772587
[2]:https://blog.csdn.net/pg_hgdb/article/details/81700898

学习不是要么0分,要么100分的。80分是收获;60分是收获;20分也是收获。有收获最重要。但是因为着眼于自己的不完美,最终放弃了,那就是彻底的0分了。
相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
8天前
|
SQL Oracle 关系型数据库
【Oracle】玩转Oracle数据库(一):装上去,飞起来!
【Oracle】玩转Oracle数据库(一):装上去,飞起来!
44 7
|
17天前
|
存储 NoSQL Java
Java数据库编程指南:实现高效数据存储与访问
【4月更文挑战第2天】Java开发者必须掌握数据库编程,尤其是JDBC,它是连接数据库的标准接口。使用Spring JDBC或JPA能简化操作。选择合适的JDBC驱动,如MySQL Connector/J,对性能至关重要。最佳实践包括事务管理、防SQL注入、优化索引和数据库设计。NoSQL数据库如MongoDB也日益重要,Java有对应的驱动支持。理解这些概念和技术是构建高效数据库应用的基础。
Java数据库编程指南:实现高效数据存储与访问
|
25天前
|
Oracle 关系型数据库 数据库
Oracle数据库基本概念理解(3)
Oracle数据库基本概念理解(3)
18 2
|
8天前
|
SQL Oracle 关系型数据库
【Oracle】玩转Oracle数据库(七):RMAN恢复管理器
【Oracle】玩转Oracle数据库(七):RMAN恢复管理器
35 5
|
23天前
|
Ubuntu 关系型数据库 MySQL
Ubuntu 中apt 安装MySQL数据库
Ubuntu 中apt 安装MySQL数据库
66 0
|
25天前
|
Oracle 关系型数据库 数据库
Oracle数据库基本概念理解(2)
Oracle数据库基本概念理解(2)
13 1
|
3天前
|
SQL 缓存 Java
Java数据库连接池:优化数据库访问性能
【4月更文挑战第16天】本文探讨了Java数据库连接池的重要性和优势,它能减少延迟、提高效率并增强系统的可伸缩性和稳定性。通过选择如Apache DBCP、C3P0或HikariCP等连接池技术,并进行正确配置和集成,开发者可以优化数据库访问性能。此外,批处理、缓存、索引优化和SQL调整也是提升性能的有效手段。掌握数据库连接池的使用是优化Java企业级应用的关键。
|
8天前
|
存储 SQL Oracle
【Oracle】玩转Oracle数据库(二):体系结构、存储结构与各类参数
【Oracle】玩转Oracle数据库(二):体系结构、存储结构与各类参数
32 7
|
9天前
|
关系型数据库 PostgreSQL
postgresql安装
postgresql安装
26 8
|
22天前
|
存储 监控 Java
InfluxDB时序数据库安装和使用
InfluxDB时序数据库安装和使用
41 2

推荐镜像

更多