ROracle不在R工作室工作

use*_*465 4 r rstudio rstudio-server roracle

我正在尝试在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’
Run Code Online (Sandbox Code Playgroud)

该软件包从命令行安装正常,但在R studio中无法正常工作.我在论坛中经历了很多线程,很多人建议导出LD_LIBRARY_PATH并重置它.事实上我继续将所有R系统变量从命令行复制到R Studio中.但它仍然没有成功.

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

Jos*_*lan 8

似乎问题是由$ LD_LIBRARY_PATH环境变量未以系统范围的方式设置引起的.与其他环境变量不同,$ LD_LIBRARY_PATH需要特殊处理(请参阅Ubuntu帮助页面并搜索ld.so.conf.d)

我能够通过根据注释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")它应该工作.


des*_*aut 3

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

我们需要在/etc/rstudio/rserver.conf文件中包含以下行(默认情况下为空):

rsession-ld-library-path=/usr/lib64/R/lib:/u01/app/oracle/product/12.1.0.2/dbhome_1/lib
Run Code Online (Sandbox Code Playgroud)

即 R 和 Oracle 主目录:

$ echo $R_HOME
/usr/lib64/R
$ echo $ORACLE_HOME
/u01/app/oracle/product/12.1.0.2/dbhome_1
Run Code Online (Sandbox Code Playgroud)

修改配置文件后必须重新启动RStudio服务器。

我只在 RStudio 服务器上检查过这一点,所以不确定 RStudio 桌面是否也有必要......

请参阅此处了解更多详细信息(虽然它指的是 Oracle R Enterprise,但它也适用于 vanilla R)。