【问题标题】:ROracle not working in R studioROracle 不在 R 工作室工作
【发布时间】:2015-03-17 12:49:14
【问题描述】:

我正在尝试在 unix 机器上安装 ROracle 包。 该软件包已正确安装。但是库(ROracle)无法正常工作并出现错误

library(ROracle)
Error in dyn.load(file, DLLpath = DLLpath, ...) : 
unable to load shared object '/u01/group1/home/oracle/R/x86_64-redhat-linux-gnu-library/3.1/ROracle/libs/ROracle.so':
libclntsh.so.11.1: cannot open shared object file: No such file or directory
Error: package or namespace load failed for ‘ROracle’

该软件包可以从命令行正常安装,但无法在 R studio 中运行。我在论坛中浏览了很多线程,其中很多人建议导出 LD_LIBRARY_PATH 并重置它。事实上,我继续将所有 R 系统变量从命令行复制到 R Studio 中。 但是还是不行。

我还注意到的一件事是,每次我重新启动 R Studio 时,R 系统变量都会发生变化。会不会是 R studio 没有正确获取路径值的问题。

【问题讨论】:

  • 它在 RStudio 中不起作用,但它在控制台中的 vanilla R 中起作用?
  • 是的,罗马。你是对的
  • 我有另一个想法。为什么这被标记为 rstudio-server?你是通过服务器还是直接访问 R?
  • 我遇到了同样的问题。你能让它在 Rstudio 上运行吗?
  • 我在 CentOS 中遇到了完全相同的问题 - 所有“通常的怀疑”环境变量在 RStudio 中看起来都是正确的(LD_LIBRARY_PATH、ORACLE_HOME、ORACLE_SID)

标签: r rstudio rstudio-server roracle


【解决方案1】:

似乎问题是由于 $LD_LIBRARY_PATH 环境变量没有以系统范围的方式设置的。与其他环境变量不同,$LD_LIBRARY_PATH 需要特殊处理(参见Ubuntu Help page 并搜索ld.so.conf.d

我可以通过按照comment 15 设置 $LD_LIBRARY_PATH 来解决这个问题:

echo "/usr/lib/oracle/11.2/client64/lib" | sudo tee /etc/ld.so.conf.d/oracle.conf

将 echo 语句更改为存储 Oracle Instant Client 库的位置。 (可以通过运行echo $OCI_LIB 找到我的。

然后更新缓存:

sudo ldconfig -v

然后打开 RStudio,执行library("ROracle"),它应该可以工作了。

【讨论】:

  • Josh Gilfillan,我发现您的回答很有帮助。对于管理与 Oracle 交互的基于 Debian 的系统的人,我强烈建议阅读以下有关 shared libraries 的文档。
  • @Zerodf,很高兴它有帮助。有机会投票吗? :)
【解决方案2】:

我遇到了完全相同的问题,感谢与一些非常友善且乐于助人的 Oracle 人员的一次会议,我刚刚解决了这个问题。

我们需要在/etc/rstudio/rserver.conf 文件(其中by default is empty)中包含以下行:

rsession-ld-library-path=/usr/lib64/R/lib:/u01/app/oracle/product/12.1.0.2/dbhome_1/lib

即R & Oracle 主目录:

$ echo $R_HOME
/usr/lib64/R
$ echo $ORACLE_HOME
/u01/app/oracle/product/12.1.0.2/dbhome_1

修改配置文件后需要重启RStudio服务器。

我只用 RStudio 服务器检查过这个,所以不确定 RStudio Desktop 是否也需要...

详情请见here(虽然指的是Oracle R Enterprise,但也适用于vanilla R)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-04
    • 2019-06-12
    • 2020-07-02
    相关资源
    最近更新 更多