ヘッダーをスキップ
Oracle® R Enterpriseインストレーションおよび管理ガイド
リリース1.3.1 for Windows, Linux, Solaris, and AIX
E48234-02
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

6 管理タスク

正常にインストールできないときは、インストールのトラブルシューティングを実行します。

サーバーとクライアントをインストールしたら、少なくとも1人のユーザーを作成します。

ユーザーを作成したら、次のタスクを実行します。

システム管理者として、埋込みRが使用するメモリーの制御が可能です。

旧バージョンのOracle R Enterpriseがインストールされている場合は、Oracle R Enterpriseのアップグレードを行います。アップブレードはインストールの過程で行います。

必要に応じて、Oracle R Enterpriseをアンインストールできます。

インストールのトラブルシューティング

インストール・スクリプトによって、サーバーにログ・ファイルが作成されます。インストールが正常に終了したと報告された場合でも、必ず、各ログ・ファイルを確認してください。ログ・ファイルでERRORを検索します。

問題を解決できない場合は、OracleサポートまたはOracle R Enterpriseディスカッション・フォーラムに支援を求めてください。

Oracle R Enterpriseユーザー

少なくとも1人のOracle R Enterpriseユーザーを作成する必要があります。Oracle R Enterpriseのユーザーを作成するには、次の手順に従います。

  1. ユーザーの作成

  2. 必要な権限付与を行います。

ユーザーの作成

Oracle R Enterpriseユーザーを作成するには、次を使用します。

  • demo_user.sh(Linux、SolarisまたはAIXの場合)

  • demo_user.bat(Windowsの場合)

これらのスクリプトを実行するには、SQL*Plusを / as sysdbaで起動します。

これらのスクリプトによって、ORE (Oracle R Enterprise)ユーザーを作成するかどうかを尋ねられます。スクリプトによってOracle DatabaseとOracle R Enterpriseがインストール済であることがチェックされた後、1人のユーザーが作成されます。

ユーザーRQUSERを作成した後にパスワードの変更を行う必要があり、必要に応じて編集が可能です。

必要な権限付与

Oracle R Enterpriseの使用計画に応じて、追加の権限付与が必要な場合があります。

  • RQADMINロールはOracle R Enterpriseユーザーにデータベースの埋込みRエンジンを使用するRスクリプトの作成と削除を許可します。Oracle R Enterpriseインストールによって管理ロールRQADMINが作成されます。

    これらのスクリプトはすべてのユーザーが実行できます。特別な権限付与は必要ありません。


    注意:

    RQADMINは、これを必要とする(データベースの埋込みRエンジンを使用するRスクリプトを作成および削除する必要があるユーザー)に対してのみ付与します。

    RQADMINをRQUSERに付与するには、sysdbaとしてSQL*Plusを起動し、次のように入力します。

    GRANT RQADMIN to RQUSER
    
  • ore.create()でtable引数を使用する場合など、一時表を作成する関数の中には、CREATE TABLEを必要とするものがあります。

    CREATE TABLEをRQUSERに付与するには、sysdbaとしてSQL*Plusを起動し、次のように入力します。

    GRANT CREATE TABLE TO RQUSER;
    
  • ore.groupApply()では、CREATE PROCEDUREを必要とします。

    CREATE PROCEDUREをRQUSERに付与するには、sysdbaとしてSQL*Plusを起動し、次のように入力します。

    GRANT CREATE PROCEDURE TO RQUSER;
    
  • ore.create()でview引数を使用する場合やOREdmパッケージでは、CREATE VIEWが必要です。

    CREATE VIEWをRQUSERに付与するには、sysdbaとしてSQL*Plusを起動し、次のように入力します。

    GRANT CREATE VIEW TO RQUSER;
    
  • OREdmパッケージでは、CREATE MINING MODELを必要とします。

    CREATE MINING MODELをRQUSERに付与するには、sysdbaとしてSQL*Plusを起動し、次のように入力します。

    GRANT CREATE MINING MODEL TO RQUSER;
    

Oracle R Enterprise 1.1に対する2つの権限付与は必要なくなりました。詳細は、非推奨となった権限付与を参照してください。

非推奨となった権限付与

Oracle R Enterprise 1.1のすべてのユーザーに対してRQROLEロールが付与されていました。Oracle R Enterprise 1.3および1.3.1では、RQROLEは非推奨になりました。

次のGRANT EXECUTE:

grant EXECUTE on rqsys.rqGroupEvalImpl to rquser;

は、Oracle R Enterprise 1.3および1.3.1では非推奨ですが、Oracle R Enterprise 1.1では必要です。

Oracleウォレットの構成(オプション)

Oracleウォレットでは、ユーザーのパスワードとクライアント証明書を安全に格納できます。Oracleウォレットによって、埋込みRスクリプトへのパスワードの格納を安全に回避できます。

Oracle R EnterpriseでOracleウォレットを構成するには、次の手順に従ってください。

  1. Oracleウォレットを構成し、ユーザー名およびパスワードを格納します。詳細は、『Oracle Databaseセキュリティ・ガイド』のOracleウォレットに関する説明を参照してください。

  2. ウォレットのエントリ(たとえば、mydb112_test)の作成に使用した接続文字列を追加し、tnsnames.oraのDBインスタンス接続文字列にマップします(ホスト名をご使用のデータベース・マシン名に、SIDをご使用のデータベースのSIDに変更します。)

    mydb112_test =
          (DESCRIPTION =
             (ADDRESS =
                (PROTOCOL = TCP)
                (HOST = <host_name>)
                (PORT = 1521)
             )
             (CONNECT_DATA = (sid=<SID>))
          )
    

    この手順を完了したら、接続文字列を使用するだけで、データベースに接続できます。

     ore.connect(conn_string = "mydb112_test", all = TRUE)
    

    Oracleウォレットを使用した接続の詳細は、Rのヘルプでore.connect()を参照してください。

Oracle R Enterprise Clientの起動

サーバーとクライアントをインストールしたら、次の手順に従ってクライアントを起動します。

Microsoft Windows上でのOracle R Enterpriseクライアントの起動

サーバーをインストールすると、クライアントを起動できます。

R 2.15.1(または以前のリリースのR 2.13.2)の実行中セッションでOracle R Enterpriseクライアントを起動するには、R Consoleから次のRコードを実行します。このコードを実行する前に、Rサーバーがインストールされているデータベースの接続情報(usersidhostpasswordおよびport)を変更します。

# Load ORE packages and dependencies
# DBI, ROracle, OREbase, MASS, OREstats,
# OREgraphics, OREeda, ORExml, ORE
library(ORE)
 
# Connect to Oracle RDBMS
# Change the connection information below
ore.connect(user = "<USERNAME>",
            sid = "<SID>",
            host = "<HOST>",
            password = "<PASSWORD>",
            port = PORTNUMBER, 
            all = TRUE)

詳細は、Oracle Databaseへの接続を参照してください。

指定したOracle Databaseに接続できることをテストするには、次のように入力します。

ore.is.connected()

ore.is.connectedは、データベースに接続している場合はTRUEを返し、接続していない場合はFLASEを返します。

「Oracleウォレットの構成(オプション)」の説明に従って、Oracleウォレットを設定したら、次のように接続できます。

ore.connect(conn_string = "ore_wallet", all = TRUE)

ore_walletは、ウォレットに登録済の接続文字列です。

すべてのRコマンドと同様に、このコードは、Rセッションの初期化中に使用できます。

起動時のRの初期化順序の詳細は、R Consoleでhelp(Startup)と入力してください。

埋込みR関数にore.connectを指定します。そのようにしない場合、すべての埋込みRスクリプトが自動的に同じスキーマに接続します。

Linux、SolarisまたはAIX上でのOracle R Enterpriseクライアントの起動

サーバーをインストールすると、クライアントを起動できます。

Oracle R Enterpriseクライアントを起動する前に、次のパスをLIBPATH環境変数に追加します。

  1. Oracle Instant Clientライブラリがインストールされている場所のパス。そのようにしない場合、ROracleパッケージのロードに失敗します。

  2. R 2.15.1(または以前のリリースのR 2.13.2)のインストールからの、共有ライブラリlibR.solibRblas.soおよびlibRlapack.soのパス。

任意のシェルからR 2.15.1(または以前のリリースのR 2.13.2)を起動します。次に、ore.connectを使用して、サーバー上のOracle Databaseに接続します。

R Consoleから次のRコードを実行して、Oracle R Enterpriseクライアントを起動します。このコードを実行する前に、Rサーバーがインストールされているデータベースの接続情報(usersidhostpasswordおよびport)を変更します。

# Load ORE packages and dependencies
# DBI, ROracle, OREbase, MASS, OREstats,
# OREgraphics, OREeda, ORExml, ORE
library(ORE)
 
# Connect to Oracle RDBMS
# Change the connection information below
ore.connect(user = "<USERNAME>",
            sid = "<SID>",
            host = "<HOST>",
            password = "<PASSWORD>",
            port = PORTNUMBER
            all = TRUE)
 

USERNAME、SID、HOST、PASSWORDおよびPORTについては、Oracle Database管理者から適切な値を入手してください。これらの値によって、データベースの接続情報が指定されます。

詳細は、Oracle Databaseへの接続を参照してください。

「Oracleウォレットの構成(オプション)」の説明に従って、Oracleウォレットを設定したら、次のように接続できます。

ore.connect(conn_string = "ore_wallet", all = TRUE)

ore_walletは、ウォレットに登録済の接続文字列です。

すべてのRコマンドと同様に、このコードは、Rセッションの初期化中に使用できます。

起動時のRの初期化順序の詳細は、R Consoleでhelp(Startup)と入力してください。

Oracle Databaseへの接続

Oracle R Enterpriseには、Oracle Database表およびビューへの透過的アクセスを有効化する次のR関数が組み込まれています。

  • ore.connect(user = "", sid = "", host = "localhost", password = "", port = 1521, service_name = NULL, conn_string = NULL,all = FALSE, type = c("ORACLE", "HIVE"))によって、OREデータベースで実行されているOracle R Enterpriseサーバーへの接続が確立されます。

    コールore.connect()は、(ore.is.connected()を除く)他のORE機能へのすべてのコールに対して優先する必要があります。1つのORE接続のみをアクティブにできます。

    OREセッションは、ファンクションore.disconnect()へのコールを使用して任意に終了させることができます。OREは、Rセッションが終了すると暗黙的に終了されます。

    Oracle Databaseに接続するには、usersidhostpasswordおよびportを指定します。conn_stringは、Oracleウォレットの構成(オプション)の説明に従ってOracleウォレットを設定する場合に指定します。

    アクティブなORE接続がすでに存在するときにore.connect()をコールすると、新しいセッションを開始する前にそのアクティブなセッションが切断されます。

    ore.is.connected()がTRUEを返す場合はアクティブな接続が存在しています。

  • ore.attach(schema, pos = 2, warn.conflicts = TRUE)で、指定したOREスキーマのR環境をRの検索パスに追加します。Rの検索パスに追加されると、そのOREオブジェクトに名前で直接アクセスできるようになります。

    schemaを指定しないと、デフォルトのスキーマ(OREデータベースへの接続に使用したもの)が使用されます。

    デフォルトでは、OREデータベースはR検索パスの2番目の位置(ユーザーのワークスペースの直後で以前アタッチされたすべてのパッケージおよび環境の前)にアタッチされます。pos引数を使用して、検索パスの異なる位置にOREスキーマをアタッチできますが、pos = 1ではアタッチできません。

    データベースにアタッチするときにore.connectallパラメータを使用すると、ore.attachが自動的に実行されます。

    schemaからデタッチするにはore.detach(schema)を使用します。

  • ore.sync(schema, table, use.keys = TRUE)によって、OREスキーマ環境内のore.frameオブジェクト(データベース表とビューを示す)をスキーマごとに同期化します。

    Oracle R Enterpriseは、データベース・スキーマ内の表またはビューに対応するプロキシ・オブジェクトをRで作成します。これらのプロキシ・オブジェクトには、透過層の機能を実現するためにOracle R Enterpriseが内部的に使用するメタデータが含まれます。デフォルトでは、ore.sync()ore.connect()で指定されたスキーマを使用します。schema引数を使用すると、ユーザーが適切なアクセス権を持つ別のスキーマを選択できます。ore.syncファンクション・コールでtableが指定されていない場合、$を含まずSYS_で始まらない名前のすべての表とビューが選択されます。データベース・スキーマのすべての表のSELECTはコストが高いため、OREスキーマ環境で指定される表およびビューの数をtableを使用して制限する方法をお薦めします。

  • ore.ls(schema, all.names = FALSE, pattern)によって、指定したschema内で正規表現patternに一致する名前を持つすべてのオブジェクトが一覧表示されます。all.names = FALSEは、内部関数やオブジェクトなどの.(ピリオド)で始まらない名前を一覧表示します。

    ore.ls()は現在のOREスキーマ環境で使用可能なオブジェクトを返します。

Oracle R Enterpriseによって作成されたオブジェクトは、ore接頭辞で識別されます。ore.ls()から返された任意のオブジェクトを選択し、class(OBJECTNAME)またはclass(OBJECTNAME$COLUMN_NAME)と入力します。

次に例を示します。

R> class(NARROW)
[1] "ore.frame"
attr(,"package")
[1] "OREbase"

接頭辞oreが、そのクラス名に適用されます。これは、そのオブジェクトが、Oracle Database内の対応するオブジェクトのメタデータ(コメントではなく)を保持するOracle R Enterpriseによって作成されたオブジェクトであることを示しています。

Oracle R Enterpriseのインストールの検証

検証の目的は、現在Oracle R Enterpriseで有効化されているデータベースにRから接続でき、正常にOracle R Enterpriseを使用できることを確認することです。

サーバーのインストールとクライアントのインストールは、同じ手順で検証できます。

インストールが完了したら、次の手順に従ってそれを検証します。

  1. Oracle R Enterpriseサーバーで、.libPaths()を設定し、Rが認識し、パッケージの検索に使用するライブラリ・ツリーを指定する必要があります。

    Rパッケージは$ORACLE_HOME/R/libraryにあります。

    .libPaths()を設定するには、Rを起動した後にサーバーでのみ次のコマンドを実行します。

    R> .libPaths(<path/to/$ORACLE_HOME/R/library>)
    

    このコマンドを実行すると、OREライブラリを起動できます。

  2. クライアント上でRを起動します。次のように、Oracle R Enterpriseパッケージをロードします。

    R> ORE
    
  3. サーバー上のOracle Databaseに接続します。正確なコマンドは、接続しているデータベースの詳細に応じて異なります。

    R> ore.connect(user = "rquser", sid = "orcl", host = "localhost", password = "rquser", port = 1521, all = TRUE)
    

    このコマンドに、ご使用のデータベースに適したusersidhostpasswordおよびportの値を指定します。データベースをインストールしなかった場合は、これらの値についてDBAにお問い合せください。

    また、データベースが同じマシン上にない場合は、次のようにしてore.connectを使用します。

    ore.connect("scott", password="tiger", conn_string="", all=TRUE)
    
  4. いくつかのOracle R Enterpriseデモを実行します。次のコマンドによって、使用可能なデモのリストが提供されます。

    R> demo(package = "ORE")
    

    次のコマンドは、特定のデモの実行方法を示しています。

    # Test the transparency layer
    R> demo("aggregate", package = "ORE")
    
    # Test embedded R:
    R> demo("row_apply", package = "ORE")
    

埋込みRが使用するメモリーの制御

システム管理者として、Rとシステムで実行中の他のプロセスとの間でメモリー・リソースを制御することができます。たとえば最小メモリーの下限を適切に設定すると、Rの実行を妥当な時間内にすることができ、最大メモリーの上限を適切に設定すると、不必要に多くのメモリーを確保して他のプロセスのスタベーションを発生させることがなくなります。

この機能によって、Rのgcメカニズムで自動的に管理される、Rのヒープ・メモリー(R用語でのベクトルとコンス)の量を制限します。Calloc、Realloc、calloc、mallocによって割り当てられるCタイプのメモリーは、この機能では制御できません。そのようなCタイプのメモリーは、主にCで実装されるRの関数内の計算を実行するための中間の値や一時的な値を保存するために作成されます。関数によって明示的に割り当てられ、解放されるCタイプのメモリーは、この機能では制御できません。通常、そのようなメモリーの量にはサイズ制限があるため、Rの使用方法によって著しく影響を受けることはありません。

Oracle R Enterprise 1.3および1.3.1では、SQLプロシージャsys.rqconfigsetを使用して最小ベクトル・ヒープ、最大ベクトル・ヒープ、最小コンス・セル、最大コンス・セルを指定することによって、DBAがRのメモリー使用量を制御することができます。

次のコマンドを使用して最小ベクトル・ヒープ、最大ベクトル・ヒープ、最小コンス・セル、最大コンス・セルを指定します。

  • sys.rqconfigset('MIN_VSIZE', '20M')は、最小Rベクトル・ヒープ・メモリーを20MBに設定します。デフォルトは32MBです。

  • sys.rqconfigset('MAX_VSIZE', '100M')は最大Rベクトル・ヒープ・メモリーを100MBに設定します。デフォルトは4GBです。

  • sys.rqconfigset('MIN_NSIZE', '500K')はRの最小コンス・セル数を500x1024に設定します。デフォルトは1Mです。

  • sys.rqconfigset('MAX_NSIZE', '10M')はRの最大コンス・セル数を10x1024x1024に設定します。デフォルトは20Mです。

最大ベクトル・ヒープ・メモリーと最大コンス・セルの設定を無制限にするには、次のようにします。

exec sys.rqconfigset('MAX_VSIZE', NULL); exec sys.rqconfigset('MAX_NSIZE', NULL)

Oracle R Enterpriseのアップグレード

製品を再インストールすることによって、どのバージョンのOracle R Enterpriseからでも最新バージョンにアップグレードできます。

旧バージョンのOracle R Enterpriseがインストールされている場合は、次のようにしてアップグレードできます。

  • アップグレードする前に、新しいバージョンのOracle R Enterpriseに対して適切なバージョンのRがインストールされていることを確認します。

    たとえばOracle R Enterprise 1.1からOracle R Enterprise 1.3.1にアップグレードする場合は、次の手順に従います。

    1. R 2.13.2をアンインストールします。

    2. Rの要件に示すようにR 2.15.1をインストールします。

  • クライアントをアップグレードするには、パッケージを再インストールします。Microsoft WindowsへのクライアントのインストールまたはLinuxへのクライアントのインストールを参照してください。再インストールの前にクライアント・パッケージをアンインストールする必要はありません。

  • サーバーをアップグレードするには、サーバーのインストールの手順に従ってください。install.shが以前のバージョンのOracle R Enterpriseを検出すると、アップグレードが必要かどうかを尋ねられます。Noを選択するとプロセスが終了し、Yesを選択するとアップグレードが開始されます。

    Oracle R Enterprise Client Supporting Packagesのインストールも含めて、すべてのアップグレード手順に従います。

AIXでサーバーをアップグレードまたはクライアントをアップグレードする場合の特別な考慮事項については、AIXでのOracle R Enterpriseのアップグレードを参照してください。

AIXでのOracle R Enterpriseのアップグレード

Oracle R Enterprise 1.1からのアップグレードはAIXでサポートされていません。AIXインストールをアップグレードするには、Oracle R Enterpriseのアンインストールの説明のとおり、最初にOracle R Enterprise 1.1(Oracle R Distributionを含む)をアンインストールした後で新しいバージョンをインストールします。

Oracle R Enterpriseのアンインストール

Oracle R Enterpriseクライアントのアンインストールの説明のとおり、Oracle R Enterpriseクライアントをアンインストールします。

Oracle R Enterpriseサーバーのアンインストールの説明のとおり、Oracle R Enterpriseサーバーをアンインストールします。

RとOracle R Distributionのアンインストール方法は、Rのアンインストールの説明のとおりです。

Oracle R Enterpriseクライアントのアンインストール

Oracle R Enterpriseクライアントをアンインストールするには、次の手順に従ってください。

Oracle R Enterpriseパッケージを削除するには、Rを起動し、次のコマンドを入力します。

remove.packages("ORE")
remove.packages("ORExml")
remove.packages("OREeda")
remove.packages("OREgraphics")
remove.packages("OREstats")
remove.packages("OREbase")
remove.packages("ROracle")
remove.packages("DBI")
remove.packages("png")
remove.packages("OREdm")
remove.packages("OREpredict")

Oracle R Enterpriseサーバーのアンインストール

Oracle R Enterpriseサーバーをアンインストールするには、次のように実行します。

  • uninstall.sh (Linux、Solaris、AIXの場合)

  • uninstall.bat(Windows)

どちらのスクリプトも、$ORACLE_HOME/libにインストールされているライブラリを削除し、インストールされているSQLオブジェクトをすべて削除します。

Rのアンインストール

Oracle R Enterpriseをインストールする前に、オープン・ソースの(Windowsの場合)またはOracle R Distribution(Linux、AIX、Solarisの場合)をインストールします。この項の内容は次のとおりです。

Windowsでのアンインストール

Windowsのコントロール パネル「プログラムの追加と削除」を使用して、他のWindowsプログラムのアンインストールと同様にオープン・ソースのRをアンインストールします。

LinuxでのすべてのOracle R Distributionのアンインストール

R 2.13.2のOracle R DistributionをLinuxからアンインストールするには、rootでログインし、次のコマンドを示された順序どおりに実行します。

  1. rpm -e R-2.13.2-5.el5.x86_64

  2. rpm -e R-devel

  3. rpm -e R-core

R2.15.1のOracle R DistributionをLinuxからアンインストールするには、rootでログインし、次のコマンドを示された順序どおりに実行します。

  1. rpm -e R-2.15.1-1.el5.x86_64

  2. rpm -e R-devel

  3. rpm -e R-core

SolarisでのOracle R Distributionのアンインストール

Oracle R DistributionをSolarisからアンインストールするには、Solaris Oracle R Distribution README(http://adc2100203.us.oracle.com:8080/software/ORD2.15.1/Solaris-SPARC64/u10/README)の説明のとおりに、uninstall.shを実行します。

AIXでのOracle R Distributionのアンインストール

Oracle R DistributionをAIXからアンインストールするには、AIX Oracle R Distribution READMEの説明のとおり、installpコマンドでuninstall (-u)オプションを使用します。

すべてのファイルセットをアンインストールするには:

$ su # installp -u ORD                    # uninstall all filesets

ファイルセットを単独でアンインストールするには:

# installp -u ORD.devel                  # uninstall only ORD.devel
# installp -u ORD.core                   # uninstall only ORD.core