安装的Oracle R Enterprise版本需与R的版本对应,具体查看下图
本教程基于Oracle 19.3.0,安装Oracle R Enterprise 1.5.1 和 R 3.3.0
本文不讲述如何安装Oracle服务,请自行查找教程完成安装

version.png


1.R-3.3.0

R-3.3.0 源码方式安装

源码下载

https://mirrors.tuna.tsinghua.edu.cn/CRAN/src/base/R-3/

检查是否存在java

java -version

编译R-3.3.0

[root@RedHat]# cd /home/oracle/
[root@RedHat]# tar zxvf R-3.3.0.tar.gz 
[root@RedHat]# cd R-3.3.0
[root@RedHat]# yum install gcc
[root@RedHat]# yum install gcc-gfortran
[root@RedHat]# yum install gcc-c++
[root@RedHat]# yum install readline-devel
[root@RedHat]# yum install libXt-devel
[root@RedHat]# ./configure --prefix=/opt/R-3.3.0   --enable-R-shlib
[root@RedHat]# make
[root@RedHat]# make install
[root@RedHat]# chown -R oracle:oinstall /opt/R-3.3.0
若编译失败,则删除/home/oracle/R-3.3.0 和 /opt/R-3.3.0 目录重新操作

R-3.3.0 RPM方式安装

Oracle R Distribution 3.3.0 RPMs for Oracle Linux 7:

http://public-yum.oracle.com/repo/OracleLinux/OL7/addons/x86_64/getPackage/R-3.3.0-2.el7.x86_64.rpm
http://public-yum.oracle.com/repo/OracleLinux/OL7/addons/x86_64/getPackage/Rcore-3.3.0-2.el7.x86_64.rpm
http://public-yum.oracle.com/repo/OracleLinux/OL7/addons/x86_64/getPackage/R-coreextra-3.3.0-22.el7.x86_64.rpm
http://public-yum.oracle.com/repo/OracleLinux/OL7/addons/x86_64/getPackage/Rdevel-3.3.0-2.el7.x86_64.rpm
http://public-yum.oracle.com/repo/OracleLinux/OL7/addons/x86_64/getPackage/libRmath-3.3.0-2.el7.x86_64.rpm
http://public-yum.oracle.com/repo/OracleLinux/OL7/addons/x86_64/getPackage/libRmathdevel-3.3.0-2.el7.x86_64.rpm
http://public-yum.oracle.com/repo/OracleLinux/OL7/addons/x86_64/getPackage/libRmathstatic-3.3.0-2.el7.x86_64.rpm

Oracle R Distribution 3.3.0 RPMs for Oracle Linux 6:

http://public-yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/getPackage/R-3.3.0-2.el6.x86_64.rpm
http://public-yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/getPackage/Rcore-3.3.0-2.el6.x86_64.rpm
http://public-yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/getPackage/R-coreextra-3.3.0-2.el6.x86_64.rpm
http://public-yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/getPackage/Rdevel-3.3.0-2.el6.x86_64.rpm
http://public-yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/getPackage/libRmath-3.3.0-2.el6.x86_64.rpm
http://public-yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/getPackage/libRmathdevel-3.3.0-2.el6.x86_64.rpm
http://public-yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/getPackage/libRmathstatic-3.3.0-2.el6.x86_64.rpm

执行安装

rpm -Uvh *.rpm --prefix=/opt/R-3.3.0

2.Oracle R Enterprise Server

初始化环境变量

[root@RedHat]# vim /etc/profile.d/ore.sh
#!/bin/bash
export ORACLE_HOME=/u01/app/oracle/product/19.3.0
export ORACLE_SID=ORCL
export R_HOME=/opt/R-3.3.0
export R_LIBS_USER=$ORACLE_HOME/R/library
export PATH=$PATH:$R_HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:$RHOME_lib:$R_HOME/port/Linux-X64/lib
[root@RedHat]# source /etc/profile.d/ore.sh
环境变量调整后source生效,并重新链接ssh

RQSYS Schema

[oracle@RedHat]# sqlplus / as sysdba
SQL> select file_name,file_id,tablespace_name from dba_data_files;  --查询现有数据库文件路径
SQL> create tablespace rqsys datafile '/u01/oradata/OORDB421/datafile/rqsys01.dbf' size 2000m;
SQL> exit
rqsys是Oracle数据库中Oracle R Enterprise的系统帐户。
它包含元数据、PL/SQL包和其他使用的可执行代码内部由Oracle R Enterprise Server提供。
Oracle R Enterprise Server安装过程将rqsys创建为锁定帐户,密码已过期。
rqsys用户没有CREATE SESSION 特权

开始安装R Enterprise Server

[oracle@RedHat]# unzip ore-server-platform-arch-1.5.1.zip 
[oracle@RedHat]# ./server.sh
Oracle R Enterprise 1.5.1 Server.
 
Copyright (c) 2012, 2017 Oracle and/or its affiliates. All rights reserved.
 
Checking platform .................. Pass
Checking R ......................... Pass
Checking R libraries ............... Pass
Checking ORACLE_HOME ............... Pass
Checking ORACLE_SID ................ Pass
Checking sqlplus ................... Pass
Checking ORACLE instance ........... Pass
Checking CDB/PDB ................... Pass
Checking ORE ....................... Pass
 
Choosing RQSYS tablespaces
  PERMANENT tablespace to use for RQSYS [list]: RQSYS
  TEMPORARY tablespace to use for RQSYS [list]: TEMP
 
Choosing ORE user
  ORE user to use [list]: RQSYS
Choosing RQSYS tablespaces
  PERMANENT tablespace to use for RQSYS [list]: RQSYS
  TEMPORARY tablespace to use for RQSYS [list]: TEMP
Choosing RQSYS password
  Password to use for RQSYS:  
 
Current configuration
  R Version ........................ R version 3.3.0 (2019-07-05)
  R_HOME ........................... /opt/R-3.3.0/lib64/R
  R_LIBS_USER ...................... /u01/app/oracle/product/19.3.0/R/library
  ORACLE_HOME ...................... /u01/app/oracle/product/19.3.0
  ORACLE_SID ....................... ORCL
 
  Existing R Version ............... R version 3.3.0 (2019-07-05)
  Existing R_HOME .................. /opt/R-3.3.0/lib64/R
  Existing ORE data ................ None
  Existing ORE code ................ None
  Existing ORE libraries ........... 1.5.1
 
  RQSYS PERMANENT tablespace ....... RQSYS
  RQSYS TEMPORARY tablespace ....... TEMP
 
  ORE user type .................... New
  ORE user name .................... RQSYS
  ORE user PERMANENT tablespace .... RQSYS
  ORE user TEMPORARY tablespace .... TEMP
  Grant RQADMIN role ............... No
 
  Operation ........................ Install/Upgrade/Setup
 
Proceed? [yes]  yes
 
Removing R libraries ............... Pass
Installing R libraries ............. Pass
Configuring ORE .................... Pass
Removing ORE script ................ Pass
Creating ORE script ................ Pass
Installing supporting packages ..... Pass
Granting ORE privileges ............ Pass
 
Done
[oracle@RedHat]# 

3.Oracle R Enterprise Client

安装ore-client

[oracle@RedHat]# unzip ore-client-platform-arch-1.5.1.zip
[oracle@RedHat]# cd /client 
[oracle@RedHat]# R CMD INSTALL ORE_1.5.1_R_x86_64-unknown-linux-gnu.tar.gz
[oracle@RedHat]# R CMD INSTALL OREbase_1.5.1_R_x86_64-unknown-linux-gnu.tar.gz
[oracle@RedHat]# R CMD INSTALL OREcommon_1.5.1_R_x86_64-unknown-linux-gnu.tar.gz
[oracle@RedHat]# R CMD INSTALL OREdm_1.5.1_R_x86_64-unknown-linux-gnu.tar.gz
[oracle@RedHat]# R CMD INSTALL OREdplyr_1.5.1_R_x86_64-unknown-linux-gnu.tar.gz
[oracle@RedHat]# R CMD INSTALL OREeda_1.5.1_R_x86_64-unknown-linux-gnu.tar.gz
[oracle@RedHat]# R CMD INSTALL OREembed_1.5.1_R_x86_64-unknown-linux-gnu.tar.gz
[oracle@RedHat]# R CMD INSTALL OREgraphics_1.5.1_R_x86_64-unknown-linux-gnu.tar.gz
[oracle@RedHat]# R CMD INSTALL OREmodels_1.5.1_R_x86_64-unknown-linux-gnu.tar.gz
[oracle@RedHat]# R CMD INSTALL OREpredict_1.5.1_R_x86_64-unknown-linux-gnu.tar.gz
[oracle@RedHat]# R CMD INSTALL OREstats_1.5.1_R_x86_64-unknown-linux-gnu.tar.gz
[oracle@RedHat]# R CMD INSTALL ORExml_1.5.1_R_x86_64-unknown-linux-gnu.tar.gz

4.Oracle R Enterprise Supporting

安装R-supporting

[oracle@RedHat]# unzip ore-supporting-platform-arch-1.5.1.zip
[oracle@RedHat]# cd /supporting 
[oracle@RedHat]# R CMD INSTALL DBI_0.6-1_R_x86_64-unknown-linux-gnu.tar.gz
[oracle@RedHat]# R CMD INSTALL png_0.1-7_R_x86_64-unknown-linux-gnu.tar.gz
[oracle@RedHat]# R CMD INSTALL ROracle_1.3-2_R_x86_64-unknown-linux-gnu.tar.gz

5.验证

连接R验证

[oracle@RedHat]# R
> library(ORE)
Loading required package: OREbase
Loading required package: OREcommon

Attaching package: ‘OREbase’

The following objects are masked from ‘package:base’:

    cbind, data.frame, eval, interaction, order, paste, pmax, pmin,
    rbind, table

Loading required package: OREembed
Loading required package: OREstats
Loading required package: OREgraphics

Attaching package: ‘OREgraphics’

The following object is masked from ‘package:grDevices’:

    xy.coords

Loading required package: OREeda
Loading required package: OREmodels
Loading required package: OREdm
Loading required package: OREpredict
Loading required package: ORExml
> ore.connect("RQUSER", password="RQUSERpsw", conn_string="", all=TRUE)
> ore.is.connected()
TRUE
> 

使用PLSQL创建R脚本

BEGIN
  sys.rqscriptDROP('TEST_SCRIPT');
  sys.rqscriptcreate('TEST_SCRIPT','function(x,param)
  {
    paramA <- as.numeric(as.matrix(x))
    resultOfAll <- data.frame(paramB=paramA,stringsAsFactors=F)
    resultOfAll 
  }');
END;


查询创建的脚本

SELECT * FROM sys.Rq$script;


详细安装步骤,可查看附件Oracle R Enterprise Installation.pdf