This presentation shows how to install and configure Oracle R Enterprise Server on Oracle 11G Linux OEL6.
Architecture
Following picture shows general architecture of Oracle R. This article will focus only on installation of Server parts.
Installation steps for Server parts
NOTE – this article shows installation on Oracle Enterprise Linux 6 – OEL6 with Oracle Database Enterprise Edition 11G.
Installation consists of three steps:
- Install Oracle Database Enterprise Edition (not presented in this article just look for installation of 11G on OEL6 on my blog)
- Install Oracle R Distribution (presented in this article) or Open Source R
- Install Oracle R Enterprise Server
Software to install
Following table shows software certification matrix 64-bit Red Hat Enterprise Linux Release 5 update 6 through Red Hat Enterprise Linux 6
Oracle R Enterprise | Open source R or Oracle R Distribution | Oracle Database (see Note) |
---|---|---|
1.0 | 2.13.2 | 11.2.0.3, 11.2.0.4, 12.1.0.1 |
1.1 | 2.13.2 | 11.2.0.3, 11.2.0.4, 12.1.0.1 |
1.2 | 2.15.1 | 11.2.0.3, 11.2.0.4, 12.1.0.1 |
1.3 | 2.15.1 | 11.2.0.3, 11.2.0.4, 12.1.0.1 |
1.3.1 | 2.15.1, 2.15.2, 2.15.3 | 11.2.0.3, 11.2.0.4, 12.1.0.1 |
1.4 | 3.0.1, 3.1.1 | 11.2.0.3, 11.2.0.4, 12.1.0.1 |
1.4.1 | 3.0.1, 3.1.1 | 11.2.0.3, 11.2.0.4, 12.1.0.1 |
In this installation I use following software:
- Oracle R Enterprise 1.4.1 – later referenced as ORE 1.4.1
Packages to download ORE 1.4.1are here:
http://www.oracle.com/technetwork/database/database-technologies/r/r-enterprise/downloads/index.html
You need to download “supporting” and “server” for Linux 64-bit.
ore-server-linux-x86-64-1.4.1.zip ore-supporting-linux-x86-64-1.4.1.zip
copy them to some directory of user oracle (/home/oracle/oinstall) and change owner and group(oracle:oinstall)
[root@oel6 ~]# cp ore* /home/oracle/install [root@oel6 ~]# cd /home/oracle/install [root@oel6 ~]# chown oracle:oinstall ore*
- Oracle R Distribution 3.1.1
To download it first ensure Oracle addons are available
cd /etc/yum.repos.d/
vi public-yum-ol6.repo
[public_ol6_latest] name=Oracle Linux $releasever Latest ($basearch) baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/latest/$basearch/ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle gpgcheck=1 enabled=1 [public_ol6_addons] name=Oracle Linux $releasever Add ons ($basearch) baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/addons/$basearch/ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle gpgcheck=1 enabled=1
Install Oracle R Distribution
Install as user root
yum install R.x86_64 <- don’t do that it tries to install latest version 3.1.X. it’s not yet supported on 11G. It will install bunch of dependent rpm.
yum install R-3.1.1
Install Oracle R Enterprise Server
As user Oracle unizp software. Make sure owner of the files is oracle
cd /home/oracle/install [oracle@oel6 install]$ chown oracle:oinstall ore*
[oracle@oel6 install]$ unzip ore-server-linux-x86-64-1.4.1.zip unzip ore-supporting-linux-x86-64-1.4.1.zip
Start installation
As user Oracle
set ORACLE_SID before installation for your database
EXPORT ORACLE_SID=ORA11G
Then run server.sh script
You will be asked to provide (I just put examples):
- permanent tablespace for user RQSYS – USERS
- temporary tablespace for user RQSYS – TEMP
- password for user RQSYS – oracle11g
- choosing ORE user name – ORE
- permanent tablespace for user ORE – USERS
- temporary tablespace for user ORE – TEMP
- password for user RQSYS – oracle11g
[oracle@oel6 install]$ ./server.sh Oracle R Enterprise 1.4.1 Server. Copyright (c) 2012, 2014 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]: USERS TEMPORARY tablespace to use for RQSYS [list]: TEMP Choosing RQSYS password Password to use for RQSYS: Choosing ORE user ORE user to use [list]: ORE Choosing ORE tablespaces PERMANENT tablespace to use for ORE [list]: USERS TEMPORARY tablespace to use for ORE [list]: TEMP Choosing ORE password Password to use for ORE: Current configuration R Version ........................ Oracle Distribution of R version 3.1.1 (--) R_HOME ........................... /usr/lib64/R R_LIBS_USER ...................... /ora01/app/oracle/product/11.2.0/db_1/R/library ORACLE_HOME ...................... /ora01/app/oracle/product/11.2.0/db_1 ORACLE_SID ....................... ORA11G Existing R Version ............... None Existing R_HOME .................. None Existing ORE data ................ None Existing ORE code ................ None Existing ORE libraries ........... None RQSYS PERMANENT tablespace ....... USERS RQSYS TEMPORARY tablespace ....... TEMP ORE user type .................... New ORE user name .................... ORE ORE user PERMANENT tablespace .... USERS ORE user TEMPORARY tablespace .... TEMP Grant RQADMIN role ............... No Operation ........................ Install/Upgrade/Setup Proceed? [yes] Removing R libraries ............... Pass Installing R libraries ............. Pass Installing ORE libraries ........... Pass Installing RQSYS data .............. Pass Configuring ORE .................... Pass Installing RQSYS code .............. Pass Installing ORE packages ............ Pass Creating ORE script ................ Pass Installing migration scripts ....... Pass Installing supporting packages ..... Pass Creating ORE user .................. Pass Granting ORE privileges ............ Pass Done [oracle@oel6 install]$
Installation verification
As user Oracle connect to database using $ORACLE_HOME/bin/ORE. You should see prompt “>”
$ORACLE_HOME/bin/ORE >
once you connected via ORE load oracle library. It’s required for next steps
library(ORE)
establish connection to database
ore.connect(user="ORE", sid="ORA11G", host="oel6.dbaora.com",password="oracle11g", port=1521, all=TRUE)
I had problem to execute it, so I needed to set timezone
> ore.connect(user="ORE", sid="ORA11G", host="oel6.dbaora.com",password="r14", port=1521, all=TRUE) Loading required package: ROracle Loading required package: DBI Error in if (timezone != "") try(.ore.dbGetQuery(sprintf("alter session set time_zone = '%s'", : missing value where TRUE/FALSE needed > Sys.setenv(TZ = "EDT")
check connection. It should return TRUE. List of tables should be empty.
## Is the ORE client connected to the ORE server? ## The output of this command should be TRUE. ore.is.connected() ## List the available database tables ore.ls()
list demos available for test
demo(package="ORE")
Run some sample demos
demo("aggregate", package="ORE") demo("row_apply", package="ORE")
Have a fun 🙂
Tomasz