Mac 系统下 Rstudio连接虚拟机(远程)oracle数据库

因为之前做的一个项目需要在mac系统上用Rstudio远程访问Oracle数据库,以对获得的数据进行进一步的分析~但是在网上找了很多都是关于windows系统的相关操作介绍,没有针对Mac系统的。工作需要,同时也是为了沉淀知识,丰富生态,在此分享:

首先明确需要下载的东西(Rtools、R包、Oracle官网的instantclient),这些对于Windows系统和Mac系统都是一样的。
网站如下:
Rtools:https://cran.r-project.org/bin/,进入网站后的页面如下:
根据不同的系统,以及R语言的版本,进行选择。
DBI包:https://cran.r-project.org/web/packages/DBI/,好像也可以直接在R环境中install.packages(“DBI”)进行安装;
ROracle包:https://cran.r-project.org/web/packages/ROracle/,这个包要最后安装,注意linux和windows的区别。在windows中安装要到网站https://www.oracle.com/database/technologies/appdev/roracle.html中去下载相应的zip版本。
几个需要的oracle-instantclient,我主要用了basic、sdk、jdbc、sqlplus~这些在oracle官网都能找到https://www.oracle.com/technetwork/topics/intel-macsoft-096467.html。或者 https://www.oracle.com/database/technologies/instant-client/downloads.html。
oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm (必须的)
oracle-instantclient12.1-odbc-12.1.0.2.0-1.x86_64.rpm
oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm
oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
oracle-instantclient12.1-jdbc-12.1.0.2.0-1.x86_64.rpm

具体流程如下:(本贴主要介绍mac系统下)
在正式介绍之前,首先提一个重要的网页:https://www.ecourse.org/news.asp?which=3233和一个家喻户晓的网站Stack Overflow。

安装Rtools。

安装instant client

  1. 下载并解压四个instantclient文件,并将解压后的文件放到一个instantclient_12文件夹内
    instantclient-basic-macosx-12.1.zip
    instantclient-sqlplus-macosx-12.1.zip
    instantclient-sdk-macosx-12.1…zip
    instantclient-jdbc-macosx-12.1.zip
    我是直接将解压后的文件作为独立文件放在文件夹instantclient_12中的,并没有对解压后的文件路径做处理~

  2. 创建两个符号连接
    cd instantclient_12
    ln -s libclntsh.dylib.12.1 libclntsh.dylib
    ln -s libocci.dylib.12.1 libocci.dylib
    cd …

  3. 创建路径 /usr/local/oracle并将instantclient_12转移过去~
    sudo mkdir /usr/local/oracle
    sudo mv /users/dadao/Downloads/instantclient_12 /usr/local/oracle/instantclient12

  4. 打开文件 /etc/profile,配置环境变量

sudo pico /etc/profile

在/etc/profile 的最后添加:
ORACLE_HOME="/usr/local/oracle/instantclient12"
export ORACLE_HOME
DYLD_LIBRARY_PATH=ORACLEHOME:ORACLE_HOME:ORACLEH​OME:DYLD_LIBRARY_PATH
export DYLD_LIBRARY_PATH
PATH=ORACLEHOME:ORACLE_HOME:ORACLEH​OME:PATH
export PATH

保存~
然后运行source /etc/profile,使刚才的配置生效~

下面的测试我没有进行,有兴趣的小伙伴,可以自己试一下~一般没有问题,不用测试
 Test it out with the sqlplus command line app.

sqlplus [username][/password]@//[hostname][:port][/serviceName]

If you can connect with that, then you’re good to go.
        
5. (optional) Create network/admin folder inside instantclient12 and copy tnsnames.ora file into the folder:

sudo mkdir /usr/local/oracle/instantclient12/network

sudo mkdir /usr/local/oracle/instantclient12/network/admin

sudo mv tnanames.ora /usr/local/oracle/instantclient12/network/admin

chmod 755 /usr/local/oracle/instantclient12/network/admin/tnsnames.ora
Now we can use server alias such as cba11g to make connections.

安装ROracle

  1. Open terminal and run the following commands to copy Oracle’s library files

sudo cp /usr/local/oracle/instantclient12/.dylib.12.1 /usr/local/lib
sudo cp /usr/local/oracle/instantclient12/
.dylib /usr/local/lib

sudo cp /usr/local/oracle/instantclient12/.dylib.12.1 /Library/Frameworks/R.framework/Resources/lib
sudo cp /usr/local/oracle/instantclient12/
.dylib /Library/Frameworks/R.framework/Resources/lib

  1. Download ROracle package file ROracle_1.2.2.tar.gz,版本随时都会有更新 from https://cran.r-project.org/web/packages/ROracle/index.html and save it anywhere, say /users/xyz/Documents

  2. Open R, and run command: install.packages(“DBI”),这一步有很多种实现方式~

  3. Go back to terminal, run the following commands to install ROracle

sudo R CMD INSTALL --configure-args=’–with-oci-lib=/usr/local/oracle/instantclient12 --with-oci-inc=/usr/local/oracle/instantclient12/sdk/include’ /users/xyz/Documents/ROracle_1.2-2.tar.gz

我在做的时候是用的下面的命令,因为sdk存储路径的不同导致~
sudo R CMD INSTALL --configure-args=’–with-oci-lib=/usr/local/oracle/instantclient18/ --with-oci-inc=/usr/local/oracle/instantclient18/instantclient_18_1_sdk/sdk/include’ /users/wangdeying/Downloads/ROracle_1.3-1.tar.gz

  1. Now go to R and run command: library(ROracle)
    library(ROracle)

drv <- dbDriver(“Oracle”)

connect_str <-("(DESCRIPTION=(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST =10.102.1.1)(PORT = 1521))) (CONNECT_DATA = (SERVER =DEDICATED)(SERVICE_NAME = orcl)))")

conn <- dbConnect(drv,username =“corphy”,password = “corphy”,dbname = connect_str)

sql <- “select ID_ from table1”
mdata <- dbSendQuery(conn,sql)
d<-fetch(mdata)
dbDisconnect(conn)

Mac 系统下 Rstudio连接虚拟机(远程)oracle数据库相关推荐

  1. oracle数据库看开销,【Database】AIX系统下跟踪开销大的Oracle数据库进程

    Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE本文介绍AIX系统下跟踪开销大的Oracle数据库进程的具体运行语句等信息的方法. 方法一 ...

  2. Mac上通过Navicat连接虚拟机的Oracle(附带虚拟机安装Oracle教程及Oracle安装包)

    首先介绍一下我的安装环境: macos10.13.5.Navicat Premium14.Parallels Desktop及其中安装的Windows7.Oracle11g 1. 在虚拟机中安装Ora ...

  3. 主机连接虚拟机的oracle数据库

    在虚拟机中安装了oracle数据库以后,在虚拟机中可以正常访问数据库,但是在主机中就连接不上. 主要过程如下: 安装虚拟机 设置共享文件夹: 删除快照: 2.安装oracle数据库: 安装文件路径: ...

  4. 远程无法连接到oracle数据库服务器,无法连接到远程Oracle数据库(11g)

    我正在尝试连接一台内置oracle数据库11gr2的linux机器.将PL / SQL开发人员与任何用户连接都没有问题.不幸的是,使用我的简单java应用程序,无法连接到数据库. 这是我的java代码 ...

  5. mac系统下easyconnect连接公司网络,53端口占用问题

    1.使用lsof命令查看占用53端口的进程:sudo lsof -i :53 2.找到进程id对应的执行程序:sudo lsof -p 1640 3.停掉dnsmasq:sudo brew servi ...

  6. parallels安装linux命令行,mac系统下虚拟机parallels安装ubuntu 14.04

    mac系统很棒,mac下的开发环境也很棒,但有时你还得需要ubuntu开发环境,比如进行嵌入式Linux交叉编译,使用Linaro toolchain- 其实mac系统下使用parallels虚拟机安 ...

  7. Mac系统下连接阿里云并运行java程序

    文章目录 Mac系统下连接阿里云并运行java程序 第一步:连接服务器并查看当前服务器中java的版本 第二步:自行安装jdk环境 第三步:安装上传的jdk,并配置环境变量 第四步:创建.java程序 ...

  8. win7 php oracle数据库,Win764位系统下PHP连接Oracle数据库,win7oracle_PHP教程

    Win7 64位系统下PHP连接Oracle数据库,win7oracle 下面讲下配置过程 一.下载oracle instantclient 下载地址:http://www.oracle.com/te ...

  9. 网络工程师必备知识:苹果MAC系统下使用USB转console线配置交换机的连接方法

    现在用苹果操作系统的人越来越多,作为网络工程师的使用工具之一USB转串口线的转接头,如果在苹果系统下使用呢? 1.首先自然是先安装转接头光盘自带的驱动程序了.也可以到使用的品牌的官网上去下载. 2.安 ...

最新文章

  1. php简单分词,php版简易中文分词实现 – mysql版本
  2. Java序列化和反序列化小记
  3. ssm访问html页面,SSM实现未登录无法访问页面
  4. 前端学习(3169):react-hello-react之删除一个todoList
  5. 博士读了12年,一篇文章没有
  6. 性能高1倍,价格低3/4!数据库实时同步新选择!
  7. Error和Exception(异常)
  8. 2020笔记本性价比之王_2020轻薄本性价比之王_2020轻薄本哪款好
  9. 影响力-你为什么说是
  10. IOS组件绑定无效错误
  11. python定时任务框架_Python定时任务框架APScheduler
  12. bat 等待输入_深蓝词库转换 - 简单的输入法词库转换工具
  13. [转]什么是lib文件,lib和dll的关系如何
  14. 斗鱼password加密参数调试生成案例
  15. Shopify!Shopify!Shopify!
  16. 计算机类教学期刊,热门大学计算机教学论文参考文献 大学计算机教学核心期刊参考文献哪里找...
  17. 【iOS】崩溃收集和解析
  18. springboot发送短信验证码
  19. 安装包百度云网盘链接
  20. 小程序审核出现的虚拟支付审核失败

热门文章

  1. 【JS组件系列】——表格组件神器:bootstrap table(二:父子表和行列调序)
  2. 1.25 Tic-tac-toe
  3. java实现gdal栅格矢量化_gdal栅格矢量化 - osc_lfs4vsih的个人空间 - OSCHINA - 中文开源技术交流社区...
  4. 7-32 哥尼斯堡的“七桥问题” c语言
  5. 什么是Python中的Pip?
  6. Microsoft server2008的sql server身份验证出现18456错误
  7. Eclipse Neon EGit Integration gives Exception 401 Authorization Required
  8. 【论文阅读】水下机器人控制视觉伺服部分
  9. CodeLite 15.0.0+ Clang 编译器 build失败
  10. 联想微型计算机c365,联想C365一体机如何用u盘重装系统