DB/R/統計/データサイエンス/投資話についてつらつらと

世のため自分のためのアウトプット

Oracle R 解説記事

【Oracle R】Oracle R Enterpriseのインストール方法

投稿日:

Oracle R Enterpriseを検証環境にインストールしたので、備忘録を残します。

前書きが少し長いので、手順を見たい方は目次の3か4に飛んで下さい。

~目次~

1. Oracle R Enterpriseとは

2. インストールの前提条件

3. インストールの流れ

4. RとORDとOREのインストール手順

1. Oracle R Enterpriseについて

 Oracle R Enterpriseの概要

Oracle R Enterpriseとは、端的に言うとOracleDBのデータをRで扱う事になります。公式サイトでは以下のように説明されています。

Rのユーザーは、Oracle Databaseに格納されているデータに対してRコマンドやスクリプトを実行して、統計分析やグラフィカル分析ができます。また、Oracle Databaseのパラレル処理機能やスケーラビリティを活用するRスクリプトを開発、改良、デプロイして、データ分析を自動化することもできます。データ・アナリストやデータ・サイエンティストはRパッケージを実行したり、分析アプリケーション用のRスクリプトを簡単に開発して運用可能にしたりすることができ、SQLを習得する必要がありません。基本のRパッケージおよび利用頻度の高いRパッケージの関数をデータベース内で実行できるように、Oracle R Enterpriseが関数のプッシュダウンを実行します。

参考:https://www.oracle.com/technetwork/jp/database/database-technologies/r/r-enterprise/overview/index.html

まとめると、メリットとして以下のような内容があります。

  • OracleDBのデータをRコンソール上で扱うことができる
  • 逆にRコンソール上で作成したデータを、コマンド一つでOracleDB上で表やView形式で流し込める
  • SQLを使わずにOracleDBのデータを扱うことができる
  • Rの解析や一部のデータの抽出などの重い作業を、DBサーバ側のリソースで実行できる

参考リンク

有益だと思ったリンクを以下に貼っておきます。
なお、以下で説明するインストール手順は③を参考にしています。

①2019年時点で最新版(Release 1.5.1)のマニュアル(英語):
https://docs.oracle.com/cd/E83411_01/

②日本語のOracle R Enterpriseのマニュアル(ver 1.4.1 日本語のUser's Guideのマニュアルはこれ以降のものは見つからず):
https://docs.oracle.com/cd/E59151_01/index.htm

③インストールの参考手順(SlideShare):

④OREの使い方の参考(SlideShare):

⑤OracleDBとRとOREのコンパチについて(!重要!)
https://docs.oracle.com/cd/E83411_01/OREAD/ORE-system-requirements.htm#OREAD120

2. インストールの前提条件

以下の3点は押さえておいて下さい。

  • Oracle DBはEnterprise Editionで導入する必要があります。
    (今回の手順では、DBのインストールとインスタンスの作成は飛ばします)
  • リスナーを使った簡易接続はできるようにしておいて下さい(OREはリスナー経由で接続します)
  • OracleDBとRとOREのバージョンはかなり融通が効かないので、事前に必ずチェックが必要。
    (特に最新のRではインストールに失敗する可能性が高い)

DBのインストールについては、以下とかが参考になるかと思います。

Oracle Database 12c Release 2 (12.2.0.1) 単一インスタンス・データベース・インストレーション・ガイド Linux x86-64 版https://www.oracle.com/technetwork/jp/database/enterprise-edition/documentation/sidb12201-inst-linux-x64-ja-v10-3627443-ja.pdf

Oracle VM VirtualBox を用いた Oracle Database 11g Release 2 環境の構築:
https://www.oracle.com/technetwork/jp/content/otn-db11202-coretech-installupgrade-254837-ja.pdf

 

バージョンについては念のため転載しておきます。

Oracle R Enterprise Version Open Source R or Oracle R Distribution Oracle Database Release
1.5.1 3.3.0 11.2.0.4, 12.1.0.1, 12.1.0.2, 12.2.0.1
1.5 3.2.0 11.2.0.4, 12.1.0.1, 12.1.0.2
1.4.1 3.0.1, 3.1.1 11.2.0.3, 11.2.0.4, 12.1.0.1, 12.1.0.2
1.4 2.15.2, 2.15.3, 3.0.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.3 2.15.1 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.1 2.13.2 11.2.0.3, 11.2.0.4, 12.1.0.1
1 2.13.2 11.2.0.3, 11.2.0.4, 12.1.0.1

〜R Enterprise Installation and Administration Guide〜
Table 1-3 Oracle R Enterprise Configuration Requirements and Server Support Matrix
https://docs.oracle.com/cd/E83411_01/OREAD/ORE-system-requirements.htm#OREAD120

ちなみに、今回インストールした環境は以下になります。VirtualBox上に作成しています。

OS : Oracle Linux6
Oracle DB : 12.2
R : 3.3
ORE:1.5.1

3. Oracle R Enterpriseインストールの流れ

インストールの流れは以下。

  1. DBインストール
  2. インスタンス作成
  3. Rのインストール
    →ここでRを使えるようになります
  4. Oracle R Distribution(ORD)のインストール
  5. OREのインストール(server sctipt実行)
  6. OREとOracleDBとの接続

次章では3,4について、次々章で5について記載します。

4. RとORDとOREのインストール手順

この章ではR、ORD、OREのインストール手順について順番に説明します。

LinuxへのRのインストール

この手順を完遂すると、とりあえずRを使えるようになります。

yumの設定ファイルの編集

yumでORDを入手するために以下の設定ファイルを編集します。
addonsのenabledを1(デフォルトは0)に変更して下さい。

[root@oracle ~]# vi /etc/yum.repos.d/public-yum-ol6.repo

[public_ol6_addons]
name=Oracle Linux $releasever Add ons ($basearch)
baseurl=https://yum.oracle.com/repo/OracleLinux/OL6/addons/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1 ###0を1にする

yumによるORDの入手

以下のyumコマンドによりORDをインストールして下さい。

# yum install R
# yum install R-core-3.3.0-2.el6.x86_64
# yum install R-devel-3.3.0-2.el6.x86_64

この時、以下のコマンドにするとRの最新版がインストールされてしまい、バージョンが合わなくなるため、上記に記載したバージョンのものを探してインストールして下さい。

# yum install R-core
# yum install R-devel

誤って最新版をインストールしてしまった場合は、下記を参考に再インストールを実施して下さい。

【yum】Linux Rのアンインストール/ダウングレード【Oracle R】

インストールの確認

正常にインストールが完了すれば、Rを起動することができます。

[oracle@oracle ~]$ R --version
Oracle Distribution of R version 3.3.0  (--) -- "Supposedly Educational"
Copyright (C)  The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under the terms of the
GNU General Public License versions 2 or 3.
For more information about these matters see
http://www.gnu.org/licenses/.

[oracle@oracle ~]$ R

Oracle Distribution of R version 3.3.0  (--) -- "Supposedly Educational"
Copyright (C)  The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R は、自由なソフトウェアであり、「完全に無保証」です。 
一定の条件に従えば、自由にこれを再配布することができます。 
配布条件の詳細に関しては、'license()' あるいは 'licence()' と入力してください。 

R は多くの貢献者による共同プロジェクトです。 
詳しくは 'contributors()' と入力してください。 
また、R や R のパッケージを出版物で引用する際の形式については 
'citation()' と入力してください。 

'demo()' と入力すればデモをみることができます。 
'help()' とすればオンラインヘルプが出ます。 
'help.start()' で HTML ブラウザによるヘルプがみられます。 
'q()' と入力すれば R を終了します。 

You are using Oracle's distribution of R. Please contact
Oracle Support for any problems you encounter with this
distribution.

 [以前にセーブされたワークスペースを復帰します] 

> x <- c(1:4)
> x*2
[1] 2 4 6 8

 ORD(Oracle R Distribution)のインストール

rpmbuildのインストール

以下のコマンドでrpmbuildをインストールして下さい(既にインストール済みの場合は不要)

# yum install rpm-build

rpmパッケージの入手

以下からrpmパッケージを入手して下さい。

今回はRHEL 6 の R3.3を使用するため"R-3.3.0-2.el6.src.rpm"をダウンロードしました。

RHEL 6 http://public-yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/index_src.html

RHEL 7 http://public-yum.oracle.com/repo/OracleLinux/OL7/addons/x86_64/index_src.html

rpmbuildの実行

以下によりrpmbuildを実行して下さい。

# 適当な場所にrpmbuild用のディレクトリを作成
$ sudo mkdir -p /root/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
#ダウンロードしたrpmファイルをSRPMSディレクトリへ移動
$ sudo mv R-3.3.0-2.el6.src.rpm /root/rpmbuild/SRPMS/
#rpmbuildを実行します
$ sudo rpmbuild --rebuild /root/rpmbuild/SRPMS/R-3.3.0-2.el6.src.rpm

なお、自分の環境では以下のエラーが出たため、パッケージを追加でインストールしました。

[root@oracle ~]# rpmbuild --rebuild rpmbuild/SRPMS/R-3.3.0-2.el6.src.rpm
Installing rpmbuild/SRPMS/R-3.3.0-2.el6.src.rpm
error: Failed build dependencies:
	blas >= 3.0 is needed by R-3.3.0-2.el6.x86_64
	lapack-devel is needed by R-3.3.0-2.el6.x86_64
	libtiff-devel is needed by R-3.3.0-2.el6.x86_64
	gcc-objc is needed by R-3.3.0-2.el6.x86_64
##追加でインストール
[root@oracle ~]# yum install lapack-devel
[root@oracle ~]# yum install gcc-objc
[root@oracle ~]# yum install libtiff-devel

その後、rpm -i にてパッケージを追加します。

マニュアルには以下の記載があります。

rpm -i rpmbuild/RPMS/x86_64/R-3.2.0-2.el7.x86_64.rpm
rpm -i rpmbuild/RPMS/x86_64/R-core-3.2.0-2.el7.x86_64.rpm
rpm -i rpmbuild/RPMS/x86_64/libRmath-3.2.0-2.el7.x86_64.rpm
rpm -i rpmbuild/RPMS/x86_64/libRmath-devel-3.2.0-2.el7.x86_64.rpm
rpm -i rpmbuild/RPMS/x86_64/libRmath-static-3.2.0-2.el7.x86_64.rpm
rpm -i rpmbuild/RPMS/x86_64/R-debuginfo-3.2.0-2.el7.x86_64.rpm
rpm -i rpmbuild/RPMS/x86_64/R-devel-3.2.0-2.el7.x86_64.rpm

ただし、自分の環境では、1行目はエラーで失敗したため、2行目以降を実施しました。
2行目以降もいくつか跳ね返ってきたためスキップ(最終的にOREのインストールがうまくいったので問題ないと思います)

##R-3.2.0-2.el6.x86_64.rpmは以下で失敗
[root@oracle x86_64]# rpm -i R-3.2.0-2.el6.x86_64.rpm
    error: Failed dependencies:
    	R-devel = 3.2.0-2.el6 is needed by R-3.2.0-2.el6.x86_64
    	libRmath-devel = 3.2.0-2.el6 is needed by R-3.2.0-2.el6.x86_64
##エラーメッセージでインストールしろと言われたので実施 
[root@oracle x86_64]# yum install libRmath-devel
#R-coreは成功
[root@oracle x86_64]# rpm -i R-core-3.2.0-2.el6.x86_64.rpm
  package R-core-3.5.1-1.el6.x86_64 (which is newer than R-core-3.2.0-2.el6.x86_64) is already installed
[以下略]

ORDのインストールは以上で完了です。

ORE(Oracle R Enterprise)のインストール

準備

以下の確認をします。

①oracleユーザかそれに類する(DBA権限を持つ)ユーザであること

②以下のRとOracleDBのパスが通っていること。

  • PATH
  • ORACLE_SID
  • ORACLE_HOME
  • Rのパス(シェル上でRが起動できる)

③ORE用のユーザ及び表領域を作成(必須ではありません)

今回は以下を実行しました。(権限は面倒なのでDBAを付与しています)

[oracle@oracle orcl]$ sqlplus / as sysdba << 'EOF'
> CREATE TABLESPACE oretbs DATAFILE '/u01/app/oracle/oradata/orcl/oretbs.dbf' SI 
ZE 1024M;
> CREATE USER oreuser IDENTIFIED BY **** DEFAULT TABLESPACE oretbs TEMPORARY  
TABLESPACE temp;
> GRANT DBA to presser

 OREソフトウェアの入手

以下から必要なバージョンのOREのソフトウェアを入手します。
今回はServerとSupporting(任意)をダウンロードします。

http://www.oracle.com/technetwork/database/database-technologies/r/r-enterprise/downloads/index.html

その後、適当なディレクトリに解凍します。解凍すると以下のようになります。

[oracle@oracle oreserver]$ ls
server.sh  ore-server-linux-x86-64-1  server      supporting

serverスクリプトの実行

上記のserver.shを実行します。対話型で適宜ore用のユーザ等を指定していきます。

これでOREのインストールは完了です。

以下のようにOREを起動できることを確認します。

[oracle@oracle oreserver]$ ORE

Oracle Distribution of R version 3.3.0  (--) -- "Supposedly Educational"
Copyright (C)  The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R は、自由なソフトウェアであり、「完全に無保証」です。 
一定の条件に従えば、自由にこれを再配布することができます。 
配布条件の詳細に関しては、'license()' あるいは 'licence()' と入力してください。 

R は多くの貢献者による共同プロジェクトです。 
詳しくは 'contributors()' と入力してください。 
また、R や R のパッケージを出版物で引用する際の形式については 
'citation()' と入力してください。 

'demo()' と入力すればデモをみることができます。 
'help()' とすればオンラインヘルプが出ます。 
'help.start()' で HTML ブラウザによるヘルプがみられます。 
'q()' と入力すれば R を終了します。 

You are using Oracle's distribution of R. Please contact
Oracle Support for any problems you encounter with this
distribution.

 [以前にセーブされたワークスペースを復帰します] 

> x <- c(1:5);x*2
[1]  2  4  6  8 10

基本的な使い方は以下を参考ください。

【Oracle R】使い方と基本的なコマンド

以上です。

-Oracle, R, 解説記事

Copyright© 世のため自分のためのアウトプット , 2020 All Rights Reserved Powered by STINGER.