7 Oracle Machine Learning for Rの管理タスク
この章では、OML4Rの保守および最適化のための管理タスクについて説明します。
この章には次のトピックが含まれます:
- 非デフォルトのR_HOMEへのOracle R Distributionのインストール
 Oracle R Distribution RPMは、LinuxでのデフォルトのR_HOMEである/usr/lib64/R以外のディレクトリにもインストールできます。
- Oracle Machine Learning for Rのアップグレード
 OML4Rを再インストールすることで、以前のリリースから現在のリリースにアップグレードできます。
- Oracle Machine Learning for Rデータの移行
 OML4Rサーバーには、RQSYSスキーマおよびOML4Rユーザー・データをソース・データベースからターゲット・データベースに移行するために実行できる移行スクリプトが含まれています
- データベース・アップグレード後のOracle Machine Learning for Rの移行
 Oracle Databaseのアップグレード後、OML4Rサーバー・コンポーネントを新しいORACLE_HOMEに移行する必要があります。
- Oracle Machine Learning for Rのアンインストール
 OML4Rのアンインストール手順
- LinuxまたはUNIXへの追加のRパッケージのインストール
 LinuxおよびUNIXプラットフォームでは、OML4RサーバーのインストールにOREスクリプトが用意されており、これをオペレーティング・システムのプロンプトから実行して追加のRパッケージをインストールできます。
- Oracle Machine Learning for Rのデータベース・ユーザーの作成
 Database 18c以降では、rquser.sqlスクリプトが付属しており、$ORACLE_HOME/R/serverディレクトリにあります。このスクリプトによって新しいOML4Rユーザーが作成され、同じディレクトリ内のスクリプトrqgrant.sqlによって、必要な権限がその新しいユーザーに適用されます。Oracle Database 12c以前では、serverスクリプトのインストール・プロセスによって、OML4Rのユーザーが存在しない場合はそれが自動的に作成または構成されます。
- Windowsでの環境変数の作成および変更PATH、ORACLE_SIDおよびORACLE_HOME環境変数が存在しない場合は、作成する必要があります。
- Oracle Machine Learning for R接続のOracleウォレットの作成
 Oracleウォレットは、Oracle Databaseのセキュリティ資格証明書の格納に使用する、パスワードで保護されたコンテナです。
- 埋込みRが使用するメモリーの制御
 埋込みRの実行が使用するメモリーの制御方法。
7.1 非デフォルトのR_HOMEへのOracle R Distributionのインストール
Oracle R Distribution RPMは、LinuxでのデフォルトのR_HOMEである/usr/lib64/R以外のディレクトリにもインストールできます。
                  
次の例で示す手順では、Oracle R Distribution 3.6.1 RPMをデフォルト以外の場所にインストールします。この場合は、以前にユーザーがインストールしたバージョンであるR-3.3.0を引き続き起動できます。
この例では、RPMをディレクトリ/opt/R361にインストールします。次のRPMがインストールされます。
                     
R-3.6.1-1.el7.x86_64.rpm
R-core-3.6.1-1.el7.x86_64.rpm
R-devel-3.6.1-1.el7.x86_64.rpm
libRmath-3.6.1-1.el7.x86_64.rpm
libRmath-devel-3.6.1-1.el7.x86_64.rpm
libRmath-static-3.6.1-1.el7.x86_64.rpm- 
                           RPMを含むディレクトリから、Oracle R Distribution 3.6.1 RPMを、 --prefixフラグを使用して非デフォルトの場所にインストールします。# rpm -i *.rpm --prefix=/opt/R361
- 
                           R_HOMEをR-3.6.1の場所に設定し、$R_HOME/binをPATHに追加します。# export R_HOME=/opt/R361/lib64/R# export PATH=$R_HOME/bin:$PATH
- 
                           新しくインストールしたR-3.6.1を起動します。 # ROracle Distribution of R version 3.6.1 (--) -- "Shake and Throw" Copyright (C) The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu (64-bit)...
以前のバージョンのRを引き続き使用する場合は、デフォルトのR実行可能ファイル/usr/bin/Rの名前を古いRバージョン(たとえば、/usr/bin/R-3.3.0)に変更します。
                     
# mv /usr/bin/R /usr/bin/R-3.3.0
これで、R 3.3.0を起動できます。
$ R-3.3.0
Oracle Distribution of R version 3.3.0 (--) -- "Action of the Toes"
Copyright (C) The R Foundation for Statistical Computing
Platform: x86_64-unknown-linux-gnu (64-bit)...7.2 Oracle Machine Learning for Rのアップグレード
OML4Rを再インストールすることで、以前のリリースから現在のリリースにアップグレードできます。
ノート:
OML4R 1.1からのアップグレードはIBM AIXでサポートされていません。IBM AIXでOracle R Enterprise 1.1をアップグレードするには、まずOracle R Enterprise 1.1を(Rを含めて)アンインストールした後、新しいバージョンをダウンロードしてインストールします。
OML4Rをアップグレードしてデータを移行するには:
- 
                           インストールするOML4Rのリリースで必要となるRのバージョンがあることを確認します。 Rの要件については、「オンプレミス・データベースの場合のOracle Machine Learning for Rのシステム要件」で構成要件およびサーバー・サポートの表を参照してください。 Rをアップグレードする必要がない場合は、ステップ2に進みます。 Rをアップグレードする必要がある場合は、次の手順を実行します。 - 
                                 OML4Rユーザー・スキーマ、データ・ストア・オブジェクト、RスクリプトおよびRQSYSスキーマをバックアップします。 
- 
                                 Oracle R Distribution RPMまたはオープン・ソースRコンポーネントを削除します。 
- 
                                 必要なRバージョンをインストールし、ステップ2に進みます。 
 
- 
                                 
- 
                           Oracle Databaseリリース12c以前のOML4Rサーバーをアップグレードするには、 server.shまたはserver.batスクリプトを実行してインストールを実行します。スクリプトによって旧バージョンのOML4Rサーバーが検出された場合は、アップグレードするかどうか確認を求められます。 Yesと入力して、アップグレードを開始します。(Noを入力すると、プロセスが中断されます。)詳細は、serverスクリプトについてを参照してください。 
- 
                           
                           Oracle Database 18c以降の場合にOML4Rサーバーをアップグレードするには、ソース・データベースに対応する rquncfg.sqlスクリプトを使用してOML4Rサーバーをアンインストールし、rqcfg.sqlを使用してOML4Rサーバーをターゲット・データベースに再インストールします。詳細は、「Oracle Database 19c以降の場合のOracle Machine Learning for Rサーバーのインストール」を参照してください。 
- 
                           OML4Rクライアントをアップグレードするには、OML4RパッケージおよびSupporting Packagesを再インストールします。新しいパッケージをインストールする前に現在のパッケージをアンインストールする必要はありません。 手順は、Oracle Machine Learning for Rクライアントのインストールを参照してください。 
7.3 Oracle Machine Learning for Rデータの移行
OML4Rサーバーには、RQSYSスキーマおよびOML4Rユーザー・データをソース・データベースからターゲット・データベースに移行するために実行できる移行スクリプトが含まれています
ソースおよびターゲットでは、同じバージョンのOracle DatabaseおよびOML4Rサーバーが必要です。
このスクリプトを見つけるには、serverディレクトリに移動してmigrationサブディレクトリに変更します。 
                     
/oreserver_install_dir/server/migration
migrationサブディレクトリには、READMEおよび次のサブディレクトリが含まれています。
                     
- 
                           exp— RQSYSスキーマおよびすべてのOML4Rユーザー・データをダンプ・ファイルにエクスポートするためのスクリプトore_srcexport.plが含まれています。
- 
                           imp— RQSYSスキーマおよびすべてのOML4Rユーザー・データをore_screxport.plで作成したダンプ・ファイルからインポートするためのスクリプトore_destimport.plが含まれています。
- 
                           oreuser— 特定のOML4Rユーザーのデータをエクスポートおよびインポートするためのスクリプトが含まれています。
移行スクリプトの実行手順は、READMEに記載されています。
7.4 データベース・アップグレード後のOracle Machine Learning for Rの移行
Oracle Databaseのアップグレード後、OML4Rサーバー・コンポーネントを新しいORACLE_HOMEに移行する必要があります。
                  
ORACLE_HOMEに移行しない場合、OML4Rの埋込みRの実行を使用してR関数を実行すると、次のようなエラーが発生します。ORA-28578: protocol error during callback from an external procedureOML4Rサーバーのコンポーネントは次のとおりです。
- 
                           Oracle DatabaseスキーマRQSYSおよびスキーマ関連オブジェクト 
- 
                           OML4RクライアントをサポートするOracle Database共有ライブラリ 
- 
                           Oracle DatabaseサーバーにインストールされているOML4RパッケージおよびSupporting Packages 
データベースのアップグレード後、RQSYSスキーマおよび依存データベース・コンポーネントを新しいORACLE_HOMEに移行する必要があります。また、OML4Rパッケージも新しいデータベースの場所にインストールする必要があります。
                     
これは、新しいORACLE_HOMEに対してOML4Rサーバーのインストール・スクリプトを実行することで簡単に行えます。これにより、OML4RメタデータにORACLE_HOMEへの新しいパスが作成されます。
                     
次のステップは、Linuxシステムの初期データベース・インストールからデータベース・アップグレード後の新しいデータベースへのOML4R 1.5.1の移行を示しています。Oracle Databaseがリリース12.1.0.2からリリース12.2.0.1にアップグレードされました。Oracle R DistributionおよびOML4Rはアップグレードされず、新しいORACLE_HOMEへの移行のみが行われます。
警告:
Oracle Databaseリリース18c以降のデータベース・インスタンスに移行する場合は、rqcfg.sqlスクリプトを使用します。server.shまたはserver.batスクリプトは使用しないでください。 
                     7.5 Oracle Machine Learning for Rのアンインストール
OML4Rのアンインストールの手順
このトピックには次の項が含まれます:
- Oracle Database 18c以降からのOML4Rサーバーのアンインストール
 Oracle Databaseリリース18c以降からOML4Rをアンインストールする方法。
- Oracle Database 12c以前からのOML4Rサーバーのアンインストール
 OML4Rサーバーをアンインストールするには、--uninstallオプションを指定してserverスクリプトを実行します。
- OML4Rクライアントのアンインストール
 OML4Rクライアントのアンインストールの手順。
7.5.1 Oracle Database 18c以降からのOML4Rサーバーのアンインストール
Oracle Databaseリリース18c以降からOML4Rをアンインストールする方法。
rquncfg.sqlスクリプトは、OML4Rに関連付けられたデータベース関数およびプロシージャをアンインストールします。$ORACLE_HOME/libのOML4RライブラリはOracle Databaseに付属しているため、削除されません。$ORACLE_HOME/R/libraryのOML4Rパッケージも削除されません。
                        
OML4Rサーバー・コンポーネントをアンインストールするには、rquncfg.sqlスクリプトを実行します。
                        
7.5.2 Oracle Database 12c以前からのOML4Rサーバーのアンインストール
OML4Rサーバーをアンインストールするには、--uninstallオプションを指定してserverスクリプトを実行します。
                     
完全アンインストールまたは部分アンインストールのいずれも実行できます。デフォルトでは、部分アンインストールが実行されます。
警告:
Oracle Machine Learning for RコンポーネントをOracle Databaseリリース18cまたはリリース19cからアンインストールするためにserver.shスクリプトを使用しないでください。これを行うと、重要なファイルがデータベースから削除されます。18c以降のデータベースでは、かわりにrquncfg.sqlスクリプトを使用します。
                        このトピックは次の項で構成されています。
- 部分アンインストールの実行
 部分アンインストールでは、RQSYSメタデータおよびPL/SQLパッケージがデータベースから削除されますが、OML4RサーバーをサポートするライブラリおよびRパッケージはOracleホーム内に残ります。
- 完全アンインストールの実行
 完全アンインストールでは、RQSYSスキーマ・メタデータとPL/SQLコードがデータベースから削除され、すべてのOML4Rサーバー・ライブラリとRパッケージがOracleホームから削除されます。
7.5.2.1 部分アンインストールの実行
部分アンインストールでは、RQSYSメタデータおよびPL/SQLパッケージがデータベースから削除されますが、OML4RサーバーをサポートするライブラリおよびRパッケージはOracleホーム内に残ります。
OML4Rサーバーのサポートが複数のデータベース・インスタンスで同一のOracleホームにインストールされている場合、またはプラガブル・データベース(PDB)にインストールされている場合、部分アンインストールでは、指定したデータベースからOML4Rサーバー・サポートが削除され、他のデータベースに影響はありません。デフォルトでは、serverスクリプトにより部分アンインストールが実行されます。
                           
ノート:
OML4Rサーバーのサポートを共有するインスタンスまたはPDBの1つに対して誤って完全アンインストールを実行した場合、他の共有インスタンスまたはPDBでもOML4Rサーバーがサポートされなくなります。serverスクリプトを再実行して、共有インスタンスまたはPDBの1つでインストールを実行すると、Oracleホーム内のOML4Rサーバー・サポートを簡単にリストアできます。
                              
-uオプションを指定してserverスクリプトを実行すると、部分アンインストールが実行されます。--keepオプションを指定すると、部分アンインストールを明示的にリクエストできます。次のコマンドはすべて、OML4Rサーバーの部分アンインストールを実行します。
                           
./server.sh --uninstall ./server.sh -u ./server.sh -u --keep ./server.sh --uninstall --keep
7.5.2.2 完全アンインストールの実行
完全アンインストールでは、RQSYSスキーマ・メタデータとPL/SQLコードがデータベースから削除され、すべてのOML4Rサーバー・ライブラリとRパッケージがOracleホームから削除されます。
次のコマンドはそれぞれ、OML4Rサーバーの完全アンインストールを実行します。
./server.sh --uninstall --full ./server.sh -u -full
ノート:
共有Oracleホームで誤って完全アンインストールを実行した場合は、serverスクリプトを再実行して、OML4Rサーバー・サポートを再インストールしてください。詳細は、「部分アンインストールの実行」を参照してください。 
                              
7.5.3 OML4Rクライアントのアンインストール
OML4Rクライアントのアンインストールの手順。
OML4RパッケージおよびSupporting Packagesをアンインストールするには、Rを起動し、次の例に示すコマンドを入力します。
例7-1 OML4Rパッケージのアンインストール用のRコマンド
remove.packages("arules")
remove.packages("DBI")
remove.packages("Cairo")
remove.packages("ORE")
remove.packages("OREbase")
remove.packages("OREcommon")
remove.packages("OREdm")
remove.packages("OREdplyr")
remove.packages("OREds")
remove.packages("OREeda")
remove.packages("OREembed")
remove.packages("OREgraphics")
remove.packages("OREmodels")
remove.packages("OREpredict")
remove.packages("OREstats")
remove.packages("ORExml")
remove.packages("png")
remove.packages("randomForest")
remove.packages("ROracle")
remove.packages("statmod")7.6 LinuxまたはUNIXへの追加のRパッケージのインストール
LinuxおよびUNIXプラットフォームでは、OML4RサーバーのインストールにOREスクリプトが用意されており、これをオペレーティング・システムのプロンプトから実行して追加のRパッケージをインストールできます。
                  
OREスクリプトは、Rのインストール・コマンド、R CMD INSTALLのラッパーです。
                     
デフォルトでは、Rパッケージは/usr/lib64/R/libraryにインストールされます。OML4Rサーバーのインストールでは、OREスクリプトが提供されます。Rパッケージをインストールするには、また、Rを起動するには、このスクリプトをオペレーティング・システムのシェルから実行します。OREスクリプトは、デフォルトのRスクリプトのラッパー、R実行可能ファイルのシェル・ラッパーです。これを使用して、Rを起動し、バッチ・スクリプトを実行し、Rパッケージを構築またはインストールできます。デフォルトのRスクリプトとは異なり、OREスクリプトでは、oracleユーザーが書込み可能ですべてのOML4Rユーザーがアクセス可能な場所($ORACLE_HOME/R/library)にパッケージがインストールされます。OREスクリプトでインストールされるすべてのRパッケージは、この場所にインストールされます。
                     
スクリプトを実行するには:
ORE CMD INSTALL R_package_name7.7 Oracle Machine Learning for Rのデータベース・ユーザーの作成
 Database 18c以降では、rquser.sqlスクリプトが付属しており、$ORACLE_HOME/R/serverディレクトリにあります。このスクリプトによって新しいOML4Rユーザーが作成され、同じディレクトリ内のスクリプトrqgrant.sqlによって、必要な権限がその新しいユーザーに適用されます。Oracle Database 12c以前では、serverスクリプトのインストール・プロセスによって、OML4Rのユーザーが存在しない場合はそれが自動的に作成または構成されます。
                  
例7-2 OML4Rユーザーの作成
./server.sh . . Choosing ORE user ORE user to use [list]:
[Enter]を押すと、使用可能なユーザーのリストが表示されます。
BI
HR
IX
OE
SCOTT
SH
  ORE user to use [list]: ruser2
.
.
存在するユーザーを選択すると、OML4Rをサポートするようにそのユーザーが構成されます。存在しないユーザーを指定すると、ユーザーが作成されます。
例7-3 SQL*PlusでのOML4Rユーザーの作成
SQL*PlusでOML4Rユーザーを作成するには、次のステップを実行します。
- 
                           システム権限でログインします。 SQLPLUS / AS SYSDBA 
- 
                           次のような文を実行して、ユーザーを作成します。 CREATE USER oml_username IDENTIFIED BY password DEFAULT TABLESPACE default_tablepace_name TEMPORARY TABLESPACE temp_tablespace_name QUOTA UNLIMITED ON default_tablespace_name; 関連項目: ユーザーの作成の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。 
- 
                           必要な権限を付与します。 GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE PROCEDURE, CREATE MINING MODEL TO oml_username;関連項目: ユーザーへの権限付与の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。 
- RQADMINロールについてserverスクリプトのインストール・プロセスでは、RQADMINという名前のデータベース・ロールが作成されます。
7.7.1 RQADMINロールについて
serverスクリプトのインストール・プロセスでは、RQADMINという名前のデータベース・ロールが作成されます。
                     
OML4RユーザーにRQADMINロールが付与されると、そのユーザーは埋込みRの実行用のRスクリプトを作成および削除できます。デフォルトでは、serverスクリプトによりOML4RユーザーにRQADMINロールは付与されません。
                     
ノート:
すべてのOML4Rユーザーは埋込みRを実行できますが、Rスクリプトを作成および削除できるのはRQADMINロールを持つOML4Rユーザーのみです。
SQL*PlusでRQADMINロールを付与する場合は、システム権限でログインし、次のような文を実行します。
SQLPLUS / AS SYSDBA
GRANT RQADMIN TO oml_username;注意:
RQADMINロールを付与する場合は注意が必要です。このロールは、OML4R管理権限を必要とするユーザーにのみ付与してください。
7.8 Windowsでの環境変数の作成および変更
PATH、ORACLE_SIDおよびORACLE_HOME環境変数が存在しない場合は、作成する必要があります。
                  
図7-2に示されている値を割り当てます。Windowsシステムでは、環境変数を作成または変更するには管理者である必要があります。
Windowsで環境変数を作成または変更するには 10:
- 
                           
                           - 
                                 
                                 Windowsタスクバーで、「Windows」アイコンを右クリックして「システム」を選択します。 
- 
                                 
                                 「設定」ウィンドウの「関連設定」で、「システムの詳細設定」をクリックします。 
- 
                                 
                                 「詳細設定」タブで、「環境変数」をクリックします。 
- 
                                 
                                 「新規」をクリックして、新しい環境変数を作成します。「編集」をクリックして、既存の環境変数を変更します。ノート: 新規をクリックして、ユーザー変数またはシステム変数を変更します。Windowsサーバーにアクセスしているユーザーが、同じバージョンのRまたはOracle Database(あるいはその両方)を使用する場合は、システム変数を変更します。Windowsサーバーにアクセスしているユーザーが、異なるバージョンのRまたはOracle Database(あるいはその両方)を使用する場合は、ユーザー変数を変更します。
- 環境変数を作成または変更した後、「適用」をクリックし、「OK」をクリックして変更を有効にします。
 
- 
                                 
                                 
ノート:
環境変数を作成するグラフィカル・ユーザー・インタフェースは、Windowsのバージョンによってわずかに異なる場合があります。
7.9 Oracle Machine Learning for R接続のOracleウォレットの作成
Oracleウォレットは、Oracle Databaseのセキュリティ資格証明書の格納に使用する、パスワードで保護されたコンテナです。
ウォレットを使用することで、埋込みRスクリプトで接続の詳細を指定するためのセキュアなメカニズムが得られます。
OML4R接続のウォレットを作成するには:
- 
                           
                           Oracle Wallet Managerを起動します。 - 
                                 
                                 (LinuxおよびUNIXの場合)コマンド・ラインで owmと入力します。
- 
                                 
                                 (Windowsの場合)「スタート」→「プログラム」→「Oracle-HOME_NAME」→「統合管理ツール」→「Wallet Manager」の順に選択します。 
 
- 
                                 
                                 
- 
                           
                           ウォレットを作成するには、ご使用のサポートされているOracle Databaseのドキュメントの手順に従います。 - Oracle Database 12c以降の場合は、Oracle Help CenterのOracle Database Documentationページにアクセスしてください。
- Oracle Databaseのバージョンを選択します。
- 「Topics」セクションで、「Security」を選択します。
- 「Centralized User Management」セクションで、Oracle Database Enterprise User Security Administrator's Guideを選択します。
- Oracle Wallet Managerの使用方法の章を参照してください。
 Oracle Database 11c、リリース11.2.0.4の場合は、Oracle Database Advanced Securityガイドの Oracle Wallet Managerの使用方法を参照してください。
- 
                           
                           tnsnames.oraで、OML4Rデータベース用の接続文字列を探します。次に例を示します。mydb_test = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = myserver) (PORT = 1521) ) (CONNECT_DATA = (sid=ORCL)) )
- 
                           
                           ウォレットに接続情報を指定します。ステップ2で参照されている、Oracle Databaseのセキュリティに関するドキュメントのステップに従います。 
- 
                           
                           ウォレットを構成した後は、接続識別子を指定するだけで、OML4Rサーバーのデータベースに接続できます。次に例を示します。 ore.connect(conn_string = "mydb_test", all = TRUE) ore.connectについてさらに学習するには、次のようにRヘルプ・コマンドを使用します。help(ore.connect) 
外部プロシージャで使用するOracle Walletを構成するには
- ウォレット・ストアを作成します。$ mkstore -create -wrl /home/oracle/walletプロンプトが表示されたら、ユーザー名とパスワードを割り当てます。この例では、データベース・ユーザーOML_USERとパスワード apasswordおよびPDB ORCLを使用します。
- ウォレット資格証明を割り当てます。$ mkstore -wrl /home/oracle/wallet -createCredential ORCL oml_user apassword
- SQL*Plusで、ウォレットを使用してOML_USERとしてログインします。$ sqlplus /@ORCL
- ユーザーを表示します。SQL> show user; USER is "OML_USER"
例7-4 ウォレット接続のテスト
この例では、OML4Rセッションのウォレット接続で埋込みRの実行を使用してテストします。この例では、R Distributionに含まれているdatasetsパッケージにあるirisデータセットを使用します。
                     
ore.doEval(function(){print("TEST")})
TEST_WALLET_DF
 function() {
                 return(as.data.frame(length(iris)))
            }
ore.scriptLoad("TEST_WALLET_DF")
ore.doEval(FUN.NAME="TEST_WALLET_DF")
   length(iris)この例のリスト
> ore.doEval(function(){print("TEST")})
[1] "TEST"
> 
> TEST_WALLET_DF
  function() {
                 return(as.data.frame(length(iris)))
             }
> 
> ore.scriptLoad("TEST_WALLET_DF")
> 
> ore.doEval(FUN.NAME="TEST_WALLET_DF")
>    length(iris)
1 5ノート:
Oracle Databaseは再帰的な外部プロシージャをサポートしていないため、埋込みRの実行では、データベース接続を作成するR関数は失敗します。埋込みRの実行関数をデータベースに接続するには、ore.connectという特別な制御引数を使用します。
                     7.10 埋込みRが使用するメモリーの制御
埋込みRの実行が使用するメモリーの制御方法。
Rのgcメカニズムで自動的に管理されるヒープ・メモリー(R用語でのベクトルとコンス)を制限することによって、埋込みRの実行で使用されるメモリーを制御できます。データベースでヒープ・メモリーのサイズを制限するには、sys.rqconfigsetユーティリティを使用します。sys.rqconfigsetのキーワード引数を次の表に示します。
                     
表7-1 SYS.RQCONFIGSETのキーワード引数
| キーワード | デフォルト | 説明 | 
|---|---|---|
| 
 | 
 | 最小のRベクター・ヒープ・メモリー | 
| 
 | 
 | 最大のRベクター・ヒープ・メモリー | 
| 
 | 
 | Rコンス・セルの最小値 | 
| 
 | 
 | Rコンス・セルの最大値 | 
例7-5 埋込みRが使用するメモリーの制御用のSQLコマンド
-- Set the minimum R vector heap memory to 20M
EXEC sys.rqconfigset('MIN_VSIZE', '20M');
-- Set the maximum R vector heap memory to 100M
EXEC sys.rqconfigset('MAX_VSIZE', '100M')
-- Set the minimum number of R cons cells to 500x1024
EXEC sys.rqconfigset('MIN_NSIZE', '500K');
-- Set the maximum number of R cons cells to 10x10x1024
EXEC sys.rqconfigset('MAX_NSIZE', '10M');
-- Set maximum vector heap memory and maximum cons cells to unlimited
EXEC sys.rqconfigset('MAX_VSIZE', NULL); 
EXEC sys.rqconfigset('MAX_NSIZE', NULL);ノート:
sys.rqconfigsetプロシージャでは、Calloc、Realloc、callocまたはmallocによって割り当てられる場合のあるCタイプのメモリーを制御できません。Cタイプのメモリーは、Cで実装されるRの関数により使用される、一時的な値を保存するために作成されます。通常、Cタイプのメモリーのサイズは限定的であるため、Rのメモリー使用量に著しく影響することはありません。
                        
sys.rqconfigsetプロシージャは、sys.rq_configと呼ばれる構成表で設定を編集します。OML4Rの様々な環境設定を確認するためにこの表の内容を参照できます。sys.rq_configに格納された設定で、埋込みRのメモリーが制限されます。必要な場合はこれらのメモリー制限を変更できますが、ほとんどの場合、sys.rq_configの値は変更しないでください。 
                     
次の問合せは、sys.rq_configに格納されているサンプルの値を示します。
                     
SQL> SELECT * FROM sys.rq_config; NAME VALUE ------------------------- ----------------------------------------------------- R_HOME /usr/lib64/R R_LIBS_USER /dbhome_1/R/library VERSION 1.5.1 MIN_VSIZE 32M MAX_VSIZE 4G MIN_NSIZE 2M MAX_NSIZE 20M

