2 Oracle Machine Learning for R向けデータベースのインストールおよび構成

この章では、OML4RサーバーをサポートするOracle Databaseのインストールおよび構成方法について説明します。

この章には次のトピックが含まれます:

2.1 Oracle Machine Learning for R向けOracle Databaseのインストール

Oracle Databaseのインストール手順。

OML4Rには、64ビット・バージョンのOracle Database Enterprise EditionまたはStandard Edition 2が必要です。サポートされているプラットフォームについては、「オンプレミス・データベースの場合のOracle Machine Learning for Rのシステム要件」を参照してください。

Oracle Databaseをインストールするには、ご使用のサポート対象プラットフォームのインストール手順に従ってください。

  1. Oracle Help CenterのOracle Database Documentationページに移動します。
  2. インストールするOracle Databaseのバージョンを選択します。
  3. 「Topics」セクションで、「Install and Upgrade」を選択します。
  4. ご使用のオペレーティング・システムのセクションで、適切なインストレーション・ガイドを選択します。

ノート:

OML4Rサーバーは、マルチテナント・コンテナ・データベース(CDB)内のプラガブル・データベース(PDB)にインストールできます。このデータベースは、マルチテナント環境ではルート・データベースにインストールされていない場合があります。

マルチテナント環境の管理の詳細は、『Oracle Database管理者ガイド』を参照してください。

2.2 埋込みRの実行でのEXTPROCの使用

Oracle Databaseでは、外部プロシージャをサポートするためにextprocという外部プロシージャ・エージェントが使用されます。

外部プロシージャは、異なる言語で書かれたプログラムから起動されるプロシージャです。OML4Rでは、埋込みRの実行をサポートするためにextprocが使用されます。

2.2.1 EXTPROCについて

アプリケーションから外部プロシージャが起動されると、Oracle Databaseによってextprocエージェントが起動されます。

アプリケーションからは、Oracle Databaseによって確立されたネットワーク接続を使用して、プロシージャを実行するための指示がエージェントに送られます。エージェントでは、DLLや共有ライブラリがロードされ、外部プロシージャが実行され、外部プロシージャから戻された値がアプリケーションに戻されます。

2.2.2 OML4RのEXTPROC構成について

OML4Rでは、extprocのデフォルト構成が使用されます。

extprocエージェントはOracle Databaseによって直接生成され、listener.oratnsnames.oraも構成を変更する必要はありません。extprocをデータベース・リスナーに構成すると、デフォルト設定がオーバーライドされます。

extprocエージェントはOracle Databaseによって直接生成されます。listener.oratnsnames.oraについては構成変更は必要はありません。extprocをデータベース・リスナーに対して構成すると、それがデフォルト設定より優先され、OML4R外部プロシージャが機能しなくなります。

デフォルトでは、使用されるライブラリが$ORACLE_HOME/binまたは$ORACLE_HOME/libにある場合、extprocは外部プロシージャ・コールをサポートします。

LinuxまたはUNIXシステムでは、次の文によって、OML4R用の外部プロシージャのみが実行されるようにEXTPROC_DLLSが設定されます。

SET EXTPROC_DLLS=ONLY:$ORACLE_HOME/lib/ore.so

extprocにあらゆる外部プロシージャの処理を許可するには、EXTPROC_DLLSANYに設定するか、または単に空白のまま(デフォルト)にします。

次の手順を実行して、extprocトレースを有効にします。

  1. /extproc.oraファイルに、次の文を追加します。
    SET TRACE_LEVEL=ON
  2. データベースを再起動します。

    すべてのextproc操作のトレースが$ORACLE_HOME/hs/logディレクトリのログ・ファイルに記録されるようになりました。

関連項目:

詳細は、『Oracle Database Net Services管理者ガイド』の外部プロシージャのデフォルト構成に関する説明を参照してください。

2.2.3 EXTPROCのトラブルシューティング

データベース構成に問題が存在する場合、OML4R埋込みR関数のコールでエラーが発生する可能性があります。

OML4R埋込みR関数のコールの試みで、次のエラーが発生した場合、外部プロシージャが成功していません。

ORA-28575: unable to open RPC connection to external procedure agent.

このエラーは、データベース構成の問題で発生することがよくあります。この原因として、次のいずれかが考えられます。

  • OML4RユーザーにRQADMINロールが付与されていません。

  • Oracleリスナー構成が正しくありません。デフォルトの外部プロシージャ構成(使用をお薦めします)を使用しない場合に発生します。

  • ネットワーク層の制限または問題が存在します。

  • 外部プロシージャの制限が強制的にコールされました。