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を起動します。
# R
Oracle 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 procedure
OML4Rサーバーのコンポーネントは次のとおりです。
-
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_name
7.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