4 Oracle Machine Learning for Rサーバーのインストール
この章では、OML4Rサーバーのインストール方法および管理方法について説明します。この章の内容は、次のとおりです。
- Oracle Machine Learning for Rサーバーについて
OML4Rには、OML4RクライアントとOML4Rサーバーとの相互作用を可能にするOracle Databaseサーバー上のコンポーネントが含まれています。 - Oracle Machine Learning for Rサーバーの要件
OML4Rサーバーをインストールする前に、システム環境を確認し、ユーザーIDに正しい権限があることを確認してください。 - Oracle Database 19c以降の場合のOracle Machine Learning for Rサーバーのインストール
Oracle Database 19c以降の場合のOML4Rサーバーのインストール手順です。 - OML4Rサーバーのインストールの検証
server.sh
スクリプトを使用して、OML4RサーバーがOracle Databaseに対して正常にインストールされたことを検証するには、ログ・ファイルを表示します。 - マルチテナント環境へのOML4Rサーバーのインストール
マルチテナント環境へのOML4Rサーバーのインストールに関する情報。
4.1 Oracle Machine Learning for Rサーバーについて
OML4Rには、OML4RクライアントとOML4Rサーバーとの相互作用を可能にするOracle Databaseサーバー上のコンポーネントが含まれています。
ノート:
OML4Rのバージョンは、サーバーと各クライアント・コンピュータで同じである必要があります。また、Rのバージョンは、サーバーと各クライアント・コンピュータで同じである必要があります。次のコンポーネントがあります。
-
OML4Rサーバー
-
RQSYSスキーマ
-
sys
内のメタデータおよび実行可能コード -
$ORACLE_HOME/lib
内のOML4Rサーバー・ライブラリ -
$ORACLE_HOME/R/library
内のOML4R RパッケージサーバーのOML4RパッケージおよびSupporting Packagesでは、埋込みRの実行がサポートされています。これと同じパッケージを各クライアント・コンピュータに個別にインストールする必要があります(OML4Rパッケージについてを参照してください)。
-
詳細は、次のトピックを参照してください。
関連項目:
- RQSYSスキーマについて
RQSYSスキーマは、Oracle DatabaseでのOracle Machine Learning for Rのシステム・アカウントです。 - OML4Rのセキュリティのベスト・プラクティス
Oracle DatabaseでOML4Rサーバーのセキュリティを損なうリスクを最小化するために、次のセキュリティのベスト・プラクティスをお薦めします。
4.1.1 RQSYSスキーマについて
RQSYSスキーマは、Oracle DatabaseでのOracle Machine Learning for Rのシステム・アカウントです。
これには、メタデータ、PL/SQLパッケージ、およびOML4Rサーバーの内部で使用される他の実行可能コードが含まれています。
OML4Rサーバー・インストール・プロセスでは、パスワードが期限切れになってロックされたアカウントとしてRQSYSが作成されます。rqsys
ユーザーにはCREATE SESSION
権限がありません。
4.1.2 OML4Rのセキュリティのベスト・プラクティス
Oracle DatabaseでOML4Rサーバーのセキュリティを損なうリスクを最小化するために、次のセキュリティのベスト・プラクティスをお薦めします。
Oracle DatabaseインスタンスのOML4Rサーバー・コンポーネントには、ロックされてパスワードが期限切れになったRQSYSスキーマ(OML4Rメタデータを格納および管理する)が含まれます。ユーザーは、データベースの接続資格証明を使用してOML4Rサーバーに接続します。RQADMINロールによって、ユーザーに、OML4R Rスクリプト・リポジトリ内でR関数をスクリプトとして作成する権限が付与されます。これらのスクリプトは、OML4Rの埋込みRの実行を使用して実行できます。
次のセキュリティのベスト・プラクティスをお薦めします。
-
RQSYSスキーマをロック解除したり、ログインを有効にしないでください。
-
RQADMINロールは、Rスクリプト・リポジトリを作成および管理するデータベース・ユーザーにのみ付与します。
-
プライベートRスクリプトを作成し、必要に応じて他のユーザーにアクセス権を付与します。グローバルRスクリプトは、すべてのOML4Rユーザーが表示でき、実行できます。
-
パラメータまたはOML4Rデータストアを使用して、埋込みRの実行スクリプトとOracle Databaseの間でデータを転送します。Rスクリプトは、サーバーのファイル・システムやネットワークとやり取りしないでください。
-
Oracle Databaseサーバーのリソースおよび使用パターンに基づいて、OML4Rの埋込みRの実行メモリー制限を適切に設定します。デフォルト値は、1接続当たり2 GBです。
-
埋込みRの実行を使用するRスクリプトでOracle Databaseサーバーに接続する際に、明示的なデータベース資格証明を指定するかわりに、自動接続機能(
connect=TRUE
)を使用します。 -
承認されていないRパッケージまたはCライブラリを、埋込みRの実行で使用するためにOracle Databaseサーバーにロードすることを許可しないでください。
-
依存する共有ライブラリを
$ORACLE_HOME/lib
ディレクトリからロードして、承認されていないライブラリの使用を防ぎます。
4.2 Oracle Machine Learning for Rサーバーの要件
OML4Rサーバーをインストールする前に、システム環境を確認し、ユーザーIDに正しい権限があることを確認してください。
OML4Rサーバーの前提条件として、Oracle Databaseと、Oracle R Distributionまたはオープン・ソースRがインストールされている必要があります。
- システム要件
OML4Rサーバーのシステム要件を示します。 - 環境変数
OML4Rサーバーに必要な環境変数を示します。 - ユーザー要件
OML4Rサーバーをインストールするオペレーティング・システム・ユーザーの要件を示します。
関連項目
4.2.1 システム要件
OML4Rサーバーのシステム要件を示します。
-
オペレーティング・システムが、「オンプレミス・データベースの場合のOracle Machine Learning for Rのシステム要件」で示されている要件に準拠している必要があります。
-
Oracle Databaseは、Oracle Machine Learning for R向けデータベースのインストールおよび構成の説明に従ってインストールおよび構成される必要があります。
ノート:
OML4Rサーバーは、マルチテナント環境のプラガブル・データベース(PDB)にインストールできます。Oracle Database管理者ガイドを参照してください。
-
Rは、「オンプレミスのOracle DatabaseへのOracle Machine Learning for RのRのインストール」の説明に従ってインストールする必要があります。
4.2.2 環境変数
OML4Rサーバーに必要な環境変数を示します。
表4-1 Oracle Machine Learning for Rサーバーの環境変数要件
プラットフォーム | 環境変数要件 |
---|---|
Linux |
|
4.2.3 ユーザー要件
OML4Rサーバーをインストールするオペレーティング・システム・ユーザーの要件を示します。
表4-2 OML4Rサーバーのインストーラのユーザー要件
プラットフォーム | ユーザー要件 |
---|---|
Linux |
|
詳細は、次のトピックを参照してください。
- オペレーティング・システム認証について
OML4Rサーバーで使用されるオペレーティング・システム認証について説明します。 - ユーザーIDのグループ・メンバーシップの確認
OML4Rサーバーに必要なグループ・メンバーシップを決定する方法について説明します。
4.2.3.1 オペレーティング・システム認証について
OML4Rサーバーで使用されるオペレーティング・システム認証について説明します。
OML4Rサーバーのインストール・スクリプトでは、ORACLE_HOME
およびORACLE_SID
によって識別されるデータベースへの接続にシステム認証が使用されます。システム認証は、データベース資格証明書ではなくユーザーのオペレーティング・システム資格証明書に基づいています。
たとえば、Linuxシステムでは、OML4Rのインストール・スクリプトで、次の文を使用してパスワードなしでSQL*Plusが起動されます。
$ORACLE_HOME/bin/sqlplus / as sysdba
特別なオペレーティング・システム・グループのメンバーシップによって、Oracle Databaseのシステム認証が行われます。このオペレーティング・システム・グループは、データベースのインストール時に作成され、インストール実行者のIDがグループに自動的に割り当てられます。グループの一般的な名前はOSDBAです。LinuxおよびUNIXでは、OSDBAの名称はdba
です。Windowsでは、OSDBAの名称はora_dba
です。
OML4RサーバーをインストールするユーザーはOSDBAに属している必要があります。
関連項目:
-
『Oracle Database管理者ガイド』のオペレーティング・システム認証の使用に関する説明を参照してください。
-
『Oracle Databaseプラットフォーム・ガイドfor Microsoft Windows』のインストール時に使用可能になるオペレーティング・システム認証の概要に関する説明を参照してください。
親トピック: ユーザー要件
4.2.3.2 ユーザーIDのグループ・メンバーシップの確認
OML4Rサーバーに必要なグループ・メンバーシップを決定する方法について説明します。
オペレーティング・システム認証についてで説明しているように、OML4Rサーバーのインストール・スクリプトを実行するLinuxまたはUNIXユーザーIDは、dba
グループに属している必要があります。サーバー上でその他のOML4Rスクリプトを実行するには、dba
グループのメンバーシップも必要です。
ご使用のLinuxまたはUNIXのユーザーIDのグループ・メンバーシップを確認するには、次のコマンドを入力します。
% groups
dba othergroup
親トピック: ユーザー要件
4.3 Oracle Database 19c以降の場合のOracle Machine Learning for Rサーバーのインストール
Oracle Database 19c以降のOML4Rサーバーのインストール手順。
rqcfg.sql
スクリプトは、データベースの一部であるOML4R Serverコンポーネントを有効にし、サーバーのいくつかの側面を構成し、一部のOML4Rデータベース・オブジェクトをインストールします。
OML4Rサーバーをインストールする前に、「オンプレミスのOracle DatabaseへのOracle Machine Learning for RのRのインストール」の説明に従ってRをインストールします。
R-4.0.5と使用する場合、OML4Rサーバー・パッケージは、個別の各Rバージョンに基づいて構築されています。OML4RをR-4.0.5と使用するには、それらのOML4Rサーバー・パッケージをダウンロードしインストールする必要があります。
- R-4.0.5でOML4Rサーバーを使用するための準備
R-4.0.5でビルドされたOML4Rサーバー・パッケージをダウンロードしてインストールするための手順。 - rqcfg.sqlを使用したOML4Rサーバーのインストール
Oracle Database 19c以降のOML4Rサーバーのインストール手順。
4.3.1 R-4.0.5でOML4Rサーバーを使用するための準備
R-4.0.5でビルドされたOML4Rサーバー・パッケージをダウンロードしてインストールするための手順。
OML4R Serverパッケージは、$ORACLE_HOME/R/library/
ディレクトリにあります。R-4.0.5で使用する場合は、そのディレクトリ内のOML4Rパッケージの名前を変更するか、削除できます。その後、R-4.0.5と互換性のあるOML4Rサーバー・パッケージをダウンロードしてインストールします。
rqcfg.sql
スクリプトを実行します。すでにOML4Rサーバーをインストールしていて、Rバージョンをアップグレードする場合、rqcfg.sql
スクリプトを実行する必要はなく、実行しないでください。
4.3.2 rqcfg.sqlを使用したOML4Rサーバーのインストール
Oracle Database 19c以降のOML4Rサーバーのインストール手順。
Rをインストールした後、 /oml4rserver_install_dir/server/rqcfg.sql
スクリプトを実行し、次の表にある引数の値を指定することで、OML4Rサーバーをインストールします。
表4-3 rqcfg.sqlインストール・スクリプトへの引数
引数 | 説明 |
---|---|
|
RQSYSスキーマの永続表領域を指定します。 |
|
一時表領域を指定します。 |
|
|
|
|
4.4 OML4Rサーバーのインストールの検証
server.sh
スクリプトを使用して、OML4RサーバーがOracle Databaseに対して正常にインストールされたことを検証するには、ログ・ファイルを表示します。
例4-1 サーバーのインストールを検証する実行例
まず、これらのコマンドをデータベース・サーバー上でRインスタンスから直接実行し、次にOML4Rクライアントから実行します。
ORE
スクリプトを使用してRを起動し、ORE
ライブラリをロードします。
$ ORE
> library(ORE)
サーバーに接続します。この例では、ユーザーOMLUSERとして接続します。
ore.connect("OMLUSER", password="OMLUSERpsw", conn_string="", all=TRUE)
一部の関数を実行します。
## Is the OML4R client connected to the OML4R server?
## The output of this function should be TRUE.
ore.is.connected()
## List the available database tables.
ore.ls()
## Push an R dataframe to a database table.
df <- data.frame(a="abc",
b=1.456,
c=TRUE,
d=as.integer(1))
of <- ore.push(df)
## Run the self-contained example code in the help files associated with the following functions.
## The examples should not return any errors.
example("ore.glm") ## Builds an OML4R generalized linear model.
example("ore.stepwise") ## Builds an OML4R stepwise least squares regression model.
example("ore.odmAI") ## Builds an OML4SQL attribute importance model.
example("ore.doEval") ## Runs an embedded R execution function.
4.5 マルチテナント環境へのOML4Rサーバーのインストール
マルチテナント環境へのOML4Rサーバーのインストールに関する情報。
OML4Rサーバーは、マルチテナント環境内の1つ以上のプラガブル・データベース(PDB)にインストールできます。OML4Rサーバーは、ルート・データベースではなくプラガブル・データベースにインストールする必要があります。
OML4Rサーバーの複数のインスタンスをマルチテナント・コンテナ・データベース(CDB)にインストールした場合に、1つのインスタンスをアンインストールしてその他を保持するには、部分アンインストールの実行で説明する部分アンインストールを実行できます。
関連項目:
-
プラガブル・データベースへの接続の詳細は、『Oracle Machine Learning for Rユーザーズ・ガイド』を参照してください。
-
マルチテナント・アーキテクチャの概要については、『Oracle Database概要』を参照してください。
-
マルチテナント環境の管理の詳細は、『Oracle Database管理者ガイド』を参照してください。