oracle11g - 在不安装 oracle 的情况下安装 oracle_fdw - 可能吗?
问题描述
我想将数据从远程 oracle 数据库(版本 11.2)传输到 localhost postgres(版本 13)数据库(后来也传输到远程 Postgres db)。因此,我在自己的 Ubuntu 20.04.3 LTS 焦点上安装了 PostgreSQL 13,并尝试使用此指令安装 oracle_fdw 。因此,当尝试为 Linux x86-64 安装 Instant Client Installation(ZIP 包;据我所知,rpm 不适用于我的操作系统配置 - 20.04 ubuntu 焦点中没有 yum lib)我遵循所有步骤(除了最后一个 -启动您的应用程序 - 这是什么意思?)),当尝试在 oracle_fdw 目录中执行“make”时出现错误
致命错误:oci.h:没有这样的文件或目录
(我下载了oracle_fdw的最新开发版)。我找到了开发者 oracle_fdw 扩展的答案
“如果你没有oci.h,你没有安装oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm。”
但我已经解压缩了 Instantclient-basic-linux.x64-11.2.0.4.0.zip 和 Instantclient-sdk-linux.x64-11.2.0.4.0.zip ...(与远程 oracle db 版本 11.2 兼容)
当我试图find -name oci.h
得到./sdk/include/oci.h
我的问题是——我真的必须在我的机器上安装 ORACLE 吗?或者我必须安装哪些 oracle 依赖项才能使用 oracle_fdw 扩展?也许我的 oracle-instantclient 安装不正确(我如何测试 oracle-instantclient 的安装?或者安装 oracle-instantclient 的位置必须是特定的)。PS:我对甲骨文完全陌生。
谢谢!
解决方案
您只需要 Oracle Instant Client。
如果您的 Instant Client 安装不在 RPM 发行版的标准路径之一中,只需将环境变量设置ORACLE_HOME
为 Instant Client 目录(包含 的目录sdk/include
),那么make
应该会成功。
推荐阅读
- azure - 在哪里获取 Azure 存储授权:SharedKey?
- python-3.x - 以官方名称合并不同的国家替代名称
- cryptography - 在 vigenere 密码中查找密钥的长度
- excel - Excel VBA 正在查找每个其他单元格而不是方法中的每个单元格
- delphi - 从 Delphi 管理网络用户会话
- elasticsearch - 如何在 Elastic Search 中插入具有动态属性的嵌套对象?
- python - 尝试迭代数据框并添加列数据
- c# - 有没有办法从两侧以编程方式为按钮的宽度设置动画
- python - 为什么第二个装饰者在完成第一个装饰者的工作之前没有完成他的工作?
- python - pymysql.internal 错误(1403,错误握手)