Oracle R Enterpriseを検証環境にインストールしたので、備忘録を残します。
前書きが少し長いので、手順を見たい方は目次の3か4に飛んで下さい。
~目次~
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上に作成しています。
Oracle DB : 12.2
R : 3.3
ORE:1.5.1
3. Oracle R Enterpriseインストールの流れ
インストールの流れは以下。
- DBインストール
- インスタンス作成
- Rのインストール
→ここでRを使えるようになります - Oracle R Distribution(ORD)のインストール
- OREのインストール(server sctipt実行)
- 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-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
基本的な使い方は以下を参考ください。
以上です。