この章では、Oracle R Enterpriseの保守及び最適化のための管理タスクについて説明します。この章の内容は次のとおりです。
Oracle R Enterpriseをアップグレードしてデータを移行するには、次の手順を実行します。
新しいバージョンのOracle R Enterpriseに必要なバージョンのRがインストールされていることを確認します。
Rの要件については、表1-2を参照してください。
Oracle R Enterprise Serverをアップグレードするために、次のようにserverスクリプトを実行してインストールを実行します。
./server.sh --install
スクリプトによって旧バージョンのOracle R Enterprise Serverが検出された場合は、アップグレードするかどうか確認を求められます。Yesと入力して、アップグレードを開始します。(Noを入力すると、プロセスが中断されます。)
詳細は、SERVERスクリプトについてを参照してください。
.
Oracle R Enterprise Clientをアップグレードするために、Oracle R EnterpriseパッケージおよびSupporting Packagesを再インストールします。新しいパッケージをインストールする前に現在のパッケージをアンインストールする必要はありません。
手順については、Oracle R Enterprise Clientのインストールを参照してください。
Oracle R Enterprise Serverには、rqsysスキーマおよびOracle R Enterpriseユーザー・データをソース・データベースからターゲット・データベースに移行するために実行できる移行スクリプトが含まれています。ソースおよびターゲットでは、同じバージョンのデータベースおよびOracle R Enterprise Serverが必要です。
このスクリプトを見つけるには、serverディレクトリに移動してmigrationサブディレクトリに変更します。
/oreserver_install_dir/server/migration
migrationサブディレクトリには、READMEおよび次のサブディレクトリが含まれています。
exp: rqsysおよびすべてのOracle R Enterpriseユーザー・データをダンプ・ファイルにエクスポートするためのスクリプトore_srcexport.plが含まれています。
imp: rqsysおよびすべてのOracle R Enterpriseユーザー・データをore_screxport.plで作成したダンプ・ファイルからインポートするためのスクリプトore_destimport.plが含まれています。
oreuser: 特定のOracle R Enterpriseユーザーのデータをエクスポートおよびインポートするためのスクリプトが含まれています。
移行スクリプトの実行手順は、READMEに記載されています。
このトピックには次の項が含まれます:
部分アンインストールでは、rqsysメタデータおよびPL/SQLパッケージがデータベースから削除されますが、Oracle R Enterprise ServerをサポートするライブラリおよびRパッケージはOracleホーム内に残ります。Oracle R Enterprise Serverのサポートが複数のデータベース・インスタンスで同一のOracleホームにインストールされている場合、またはプラガブル・データベース(PDB)にインストールされている場合、部分アンインストールでは、指定したデータベースからOracle R Enterprise Serverサポートが削除され、他のデータベースに影響はありません。デフォルトでは、serverスクリプトにより部分アンインストールが実行されます。
注意:
Oracle R Enterprise Serverのサポートを共有するインスタンスまたはPDBの1つに対して誤って完全アンインストールを実行した場合、他の共有インスタンスまたはPDBでもOracle R Enterprise Serverがサポートされなくなります。serverスクリプトを再実行して、共有インスタンスまたはPDBの1つでインストールを実行すると、Oracleホーム内のOracle R Enterprise Serverサポートを簡単にリストアできます。
-uオプションを指定してserverスクリプトを実行すると、部分アンインストールが実行されます。--keepオプションを指定すると、部分アンインストールを明示的にリクエストできます。次のコマンドはすべて、Oracle R Enterprise Serverの部分アンインストールを実行します。
./server.sh --uninstall ./server.sh -u ./server.sh -u --keep ./server.sh --uninstall --keep
完全アンインストールでは、rqsysメタデータおよびPL/SQLコードがデータベースから削除され、すべてのOracle R Enterprise ServerライブラリおよびRパッケージがOracleホームから削除されます。
次のコマンドはどちらも、Oracle R Enterprise Serverの完全アンインストールを実行します。
./server.sh --uninstall --full ./server.sh -u -full
注意:
共有Oracleホームで誤って完全アンインストールを実行した場合は、serverスクリプトを再実行して、Oracle R Enterprise Serverサポートを再インストールしてください。詳細は、「部分アンインストールの実行」を参照してください。
Oracle R EnterpriseパッケージおよびSupporting Packagesをアンインストールするには、Rを起動し、例7-1に示すコマンドを入力します。
例7-1 Oracle R Enterpriseパッケージのアンインストール用のRコマンド
remove.packages("ORE")
remove.packages("ORExml")
remove.packages("OREeda")
remove.packages("OREcommon")
remove.packages("OREembed")
remove.packages("OREgraphics")
remove.packages("OREstats")
remove.packages("OREbase")
remove.packages("ROracle")
remove.packages("DBI")
remove.packages("Cairo")
remove.packages("png")
remove.packages("OREdm")
remove.packages("OREpredict")
remove.packages("arules")
remove.packages("statmod")
remove.packages("randomForest")
LinuxおよびUNIXプラットフォームでは、Oracle R Enterprise ServerのインストールにOREスクリプトが用意されており、これをオペレーティング・システムのプロンプトから実行して追加のRパッケージをインストールできます。OREスクリプトは、Rのインストール・コマンド、R CMD INSTALLのラッパーです。
デフォルトでは、Rパッケージは/usr/lib64/R/libraryにインストールされます。ただし、OREスクリプトでは、Rパッケージが$ORACLE_HOME/R/libraryのサブディレクトリにインストールされます。
スクリプトを実行するには、次のコマンドを入力します。
ORE CMD INSTALL R_package_name
例7-2 Oracle R Enterpriseユーザーの作成
./server.sh . . Choosing ORE user ORE user to use [list]:
[Enter]を押すと、使用可能なユーザーのリストが表示されます。
BI
HR
IX
OE
SCOTT
SH
ORE user to use [list]: ruser2
.
.
存在するユーザーを選択すると、Oracle R Enterpriseをサポートするようにそのユーザーが構成されます。存在しないユーザーを指定すると、ユーザーが作成されます。
例7-3 SQL*PlusでのOracle R Enterpriseユーザーの作成
SQL*PlusでOracle R Enterpriseユーザーを作成するには、次の手順を実行します。
システム権限でログインします。
SQLPLUS / AS SYSDBA
次のような文を実行して、ユーザーを作成します。
CREATE USER ore_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 ore_username;
関連項目:
ユーザーへの権限付与の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。
serverスクリプトのインストール・プロセスでは、rqadminという名前のデータベース・ロールが作成されます。Oracle R Enterpriseユーザーにrqadminロールが付与されると、そのユーザーは埋込みRの実行用のRスクリプトを作成および削除できます。デフォルトでは、serverスクリプトによりOracle R Enterpriseユーザーにrqadminロールは付与されません。
注意:
すべてのOracle R Enterpriseユーザーは埋込みRを実行できますが、Rスクリプトを作成および削除できるのはrqadminロールを持つOracle R Enterpriseユーザーのみです。
バッチ・モードでのユーザー構成に示したように、--adminオプションを指定してserverスクリプトを実行すると、rqadminロールがOracle R Enterpriseユーザーに付与されます。--adminオプションは、スクリプトをバッチ・モードで実行する場合にのみ使用できます。
SQL*Plusでrqadminロールを付与する場合は、システム権限でログインし、次のような文を実行します。
SQLPLUS / AS SYSDBA
GRANT RQADMIN TO ore_username;
注意:
rqadminロールを付与する場合は注意が必要です。Oracle R Enterpriseの管理権限を必要とするユーザーのみ、このロールを持つべきです。
環境変数PATH、ORACLE_SIDおよびORACLE_HOMEが存在しない場合は、それらを作成して表7-2に指定されている値を割り当てる必要があります。Windowsシステムでは、環境変数を作成または変更するには管理者である必要があります。
次の手順に従って、Windowsで環境変数を作成または変更します。
「コンピューター」アイコンを右クリックして「プロパティ」を選択するか、Windowsの「コントロール パネル」で「システム」を選択します。
「システムの詳細設定」を選択します。
「詳細設定」タブで、「環境変数」をクリックします。
「新規」をクリックして、新しい環境変数を作成します。「編集」をクリックして、既存の環境変数を変更します。
注意:
環境変数を作成するグラフィカル・ユーザー・インタフェースは、Windowsのバージョンによってわずかに異なる場合があります。
Oracleウォレットは、Oracle Databaseのセキュリティ資格証明書の格納に使用する、パスワードで保護されたコンテナです。ウォレットを使用することで、埋込みRスクリプトで接続の詳細を指定するためのセキュアなメカニズムが得られます。
Oracle R Enterprise接続のウォレットを作成するには、次の手順を実行します。
Oracle Wallet Managerを起動します。
(LinuxおよびUNIXの場合)コマンド・ラインでowmと入力します。
(Windowsの場合)「スタート」→「プログラム」→「Oracle - HOME_NAME」→「Integrated Management Tools」→「Wallet Manager」の順に選択します。
ご使用のOracle Databaseのドキュメントの手順に従って、ウォレットを作成します。
Oracle Database 12.1の場合は、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』のOracle Wallet Managerの使用に関する項を参照してください。
http://www.oracle.com/pls/topic/lookup?ctx=db121&id=DBIMI160
Oracle Database 11.2の場合は、『Oracle Database Advanced Security管理者ガイド』のOracle Wallet Managerの使用に関する項を参照してください。
http://www.oracle.com/pls/topic/lookup?ctx=db112&id=ASOAG160
tnsnames.oraで、Oracle R Enterprise用の接続文字列を探します。例:
mydb_test =
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = server23)
(PORT = 1521)
)
(CONNECT_DATA = (sid=ORCL))
)
ウォレットに接続情報を指定します。手順2で参照されている、Oracle Databaseのセキュリティに関するドキュメントの手順に従います。
ウォレットを構成した後は、接続識別子を指定するだけで、Oracle R Enterprise Serverのデータベースに接続できます。例:
ore.connect(conn_string = "mydb_test", all = TRUE)
ore.connectの詳細を確認するには、次のようにRヘルプ・コマンドを使用します。
help(ore.connect)
Rのgcメカニズムで自動的に管理されるヒープ・メモリー(R用語でのベクトルとコンス)を制限することによって、埋込みRの実行で使用されるメモリーを制御できます。データベースでヒープ・メモリーのサイズを制限するには、sys.rqconfigsetユーティリティを使用します。sys.rqconfigsetのキーワード引数を次の表に示します。
表7-1 SYS.RQCONFIGSETのキーワード引数
| キーワード | デフォルト値 | 説明 |
|---|---|---|
|
|
最小のRベクター・ヒープ・メモリー |
|
|
最大のRベクター・ヒープ・メモリー |
|
|
Rコンス・セルの最小値 |
|
|
Rコンス・セルの最大値 |
例7-4 埋込み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と呼ばれる構成表で設定を編集します。Oracle R Enterpriseの様々な環境設定を確認するためにこの表の内容を表示できます。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 MIN_VSIZE 32M MAX_VSIZE 4G MIN_NSIZE 2M MAX_NSIZE 20M