この章では、エンリッチ・データ・エクスポート・ファシリティで使用する代替Oracleデータベース・インスタンスの設定方法を説明します。このファシリティの使用方法の詳細は、『Oracle Real User Experience Insightユーザーズ・ガイド』を参照してください。
注意: 代替データベースの構成を進める前に、構成のバックアップを作成することをお薦めします。構成、システム、メンテナンス、バックアップおよびリストアの順に選択します。 |
デフォルトでは、エンリッチ・データ・エクスポート・ファシリティを利用すると、データがレポータが使用しているのと同じデータベース・インスタンスにエクスポートされます。しかし以下の理由により、エンリッチ・データ・エクスポート用に別なデータベース・インスタンスを構成することを強くお薦めします。
エクスポートしたデータにアクセスするためのSQLクエリーによって、データベースに多大なパフォーマンス・オーバーヘッドがかかってしまいます。大量のデータ処理や複雑なSQLクエリーの実行が必要な場合、またはエクスポートしたデータに対して5分以内に何度かクエリーを実行しなければならない場合は、別なデータベースを使用することで、パフォーマンスが大幅に向上します。
別なエクスポート・データベース・インスタンスを使用することで、RUEIデプロイメントへの影響を最小限に抑え、管理も簡単になります。特にデータベースのサイズ設定やバックアップが簡単になります。
代替エクスポート・データベースを使用する場合は、Oracleデータベース・バージョン11gR1または11gR2でなければなりません。また、この章の以降で説明している設定手順を実行する前に、Oracleデータベース・ソフトウェアのインストールを完了しておく必要があります。Oracleデータベース管理の高度な知識があることを前提としています。
この章で説明している設定手順は、いくかの設定を示しています(RUEI_DB_TNSNAME_BIなど)。これについては、表2-2で説明しています。
代替エンリッチ・データ・エクスポート・データベースへの移行
エンリッチ・データ・エクスポートを1つのデータベースから別なデータベースに移行する場合、前のデータベースに保存されている最新のエクスポート・データは新しいデータベースに移行されない点に注意してください。定義されているデータ保存ポリシーは前のデータベースでは有効ではなくなくなるため、履歴データは前のデータベースに残ります。適宜必要なテーブルを前のデータベースから手動でパージする必要があります。
エクスポート・データへのアクセス
エクスポート・データベース内のデータへのアクセスは、SQLを使用して行うことができます。エクスポートしたデータにアクセスするためのSQLクエリーによって、エクスポート・データベースに多大なパフォーマンス・オーバーヘッドがかかることがあります。したがって、SQLクエリーの設計を慎重に確認して、オーバーヘッドを最小限にすることをお薦めします。特に、戻されたデータから、外部分析に不要なテーブルの列を除外しておく必要があります。さらに、5分間に実行するSQLクエリー数を最小化する必要があります。特に、同じデータを複数回問い合わせないようにしてください。
次の説明では、Oracleデータベース・インスタンスをコマンド行で作成することを想定しています。ただし、適切なユーティリティを使用して、必要なパラメータを指定できます。
root
ユーザーとしてエクスポート・データベースにログオンして、次のコマンドを発行します。
dbca -silent -createDatabase -gdbNameEXPORT_DATABASE_NAME
\ -sidEXPORT_DATABASE_NAME
-characterSet AL32UTF8 \ -templateName Data_Warehouse.dbc -databaseType DATA_WAREHOUSING \ -redoLogFileSize 500 -initParams recyclebin=off -initParams audit_trail=none
ここで、
EXPORT_DATABASE_NAME
は、エクスポート・データベース・インスタンスのリテラル名です。
パフォーマンス上の理由から、recyclebin
およびaudit_trail
機能は無効にしておくことをお薦めします。
文字セット・インスタンスは、ALT32UTF8
として指定する必要があります。
パフォーマンス上の理由から、圧縮テーブルスペースを使用することを強くお薦めします。
システム管理者として次のSQLコマンドを発行し、USERSテーブルスペースの圧縮を有効にします。
alter tablespace USERS default compress;
デフォルトでは、USERSテーブルスペースに1つの32GBデータファイルが作成されます。ほとんどのデプロイメントでは、次のSQLコマンドを使用して増やす必要があるでしょう。
alter tablespace USERS add datafile 'user02.dbf' size 5M autoextend on;
上記のコマンドでは、デフォルトのデータファイルの場所が指定されている点に注意してください。別な場所を任意に指定できます。
デフォルトでは、Oracleデータベースの保守タスクは22:00に実行するように設定されています。これはデータベース全体のパフォーマンスに大きな影響を及ぼすことがあります。したがって、監視する環境内でのトラフィック量と、エクスポート・データベース・テーブルの読取りスケジュールのプロセスによっては、トラフィック/ロード量の少ない時間帯(たとえば03:00)に、この種の保守タスクのスケジュールを変更する必要があるかもしれません。予定された保守タスクのスケジュール変更方法については、次の場所にある『Oracle Database管理者ガイド』をを参照してください。
http://download.oracle.com/docs/cd/B28359_01/server.111/b28310/memory003.htm#ADMIN11200
代替データベースにアクセスするには、正式な権限を持つユーザーを作成する必要があります。
次のコマンドを発行して、必要な最小限の権限を持つRUEIデータベース・ユーザーを作成します。
create userRUEI_DB_USER_BI
identified by "password
" default tablespace USERS temporary tablespace TEMP profile DEFAULT quota 50G on USERS; alter profile DEFAULT limit PASSWORD_LIFE_TIME unlimited; grant create session, create table toRUEI_DB_USER_BI
;
ここで、
RUEI_DB_USER_BI
は、エクスポート・データベース・ユーザー名を示します。
password
は、必要なパスワード変数を示します。
代替Oracleデータベースを定義したら、接続データの設定が必要です。これには、レポータ・システム上のRUEIホーム・ディレクトリ(RUEI_USER)のRUEIデータ・ファイル・ディレクトリ(RUEI_DATA)内に、sqlnet.ora
およびtnsnames.ora
という2つのファイルが必要です。
sqlnet.ora
ファイルに次が含まれていることを確認します。
NAMES.DIRECTORY_PATH = (TNSNAMES) SQLNET.WALLET_OVERRIDE = TRUE WALLET_LOCATION = (SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/var/opt/ruei))) DIAG_SIGHANDLER_ENABLED = FALSE
DIRECTORY設定が、/etc/ruei.conf
ファイルで指定されたRUEIデータ・ファイル(RUEI_DATA)を示していることを確認してください。
tnsnames.ora
ファイルを作成します。このファイルには次を含む必要があります。
RUEI_DB_TNSNAME_BI
=(DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain) (PORT=1521))) (CONNECT_DATA=(SERVICE_NAME=RUEI_DB_INST_BI
)(SERVER=POOLED)))
ここで、
RUEI_DB_TNSNAME_BI
はエクスポート・データベース文字列を示します。
RUEI_DB_INST_BI
は、エクスポート・データベース・インスタンス名を示します。
HOST
設定がご使用のデータベースを示していることを確認します。ホスト名を使用する場合は、/etc/hosts
の設定でも指定されていることを確認してください。ただしIPアドレスも指定できます。
パフォーマンス上の理由により、データベースのすべての接続用の共有プールを使用できます。
Oracle Database Resident Connection Pooling (DRCP)内では、次のコマンドを使用して、共有プールを有効にします。
exec dbms_connection_pool.start_pool; exec dbms_connection_pool.configure_pool(inactivity_timeout=>3600, max_think_time=>3600);
RUEIの処理部分では、Oracleデータベースへの非対話式のアクセスが必要です。このために、Oracleオートログイン・ウォレットを使用してパスワードを安全に保存します。レポータ・データベースに接続するために、ウォレットが存在していなければなりません。
次のコマンドを使用して、ewallet.p12
およびcwallet.sso
ファイルの一時コピーをRUEI_DATAディレクトリに作成し、ウォレットに新しいデータベースの資格証明を追加します。
mkstore -wrl /dev/shm -createCredentialRUEI_DB_TNSNAME_BI
RUEI_DB_USER_BI
ここで、
RUEI_DB_TNSNAME_BI
はエクスポート・データベース文字列を示します。
RUEI_DB_USER_BI
は、リモート・データベースのユーザーを示します。
ウォレット・パスワードと、RUEI_DB_USER_BIのデータベース・パスワードの入力を求められます。
ewallet.p12
およびcwallet.sso
ファイルをRUEI_DATAディレクトリに戻します。これらのファイルの権限が正しく設定されていることを確認します。両方のファイルに、RUEI_USERおよびRUEI_GROUPの所有権が設定されている必要があります。RUEI_USERはewallet.p12
ファイルの取りだけが可能で、RUEI_GROUPは両方のファイルの読取りが可能でなければなりません。
データベース・インスタンスが正しく設定されると、パスワードを入力しなくてもエクスポート・データベースにアクセスできるようになるはずです。レポータ・システム上のRUEI_USERは、次のようにデータベース・インスタンスにアクセスできます。
sqlplus /@RUEI_DB_TNSNAME_BI
この手順が失敗する場合は、ここまでで説明した手順を慎重に確認してから次に進んでください。
エンリッチ・データのエクスポートを行うレポータ・システム上の/etc/ruei.conf
構成ファイルを編集します。
RUEI_DB_TNSNAME_BI設定を使用して、エンリッチ・データ・エクスポート・ファシリティで使用するデータベース接続文字列を指定します。
重要: 上記の変更以外は、ruei.conf ファイルは変更しないでください。 |
レポータ内で、システム、メンテナンス、システム・リセットの順に選択して、最新の構成を再適用ラジオ・ボタンをクリックします。準備ができたら、次へをクリックします。要求されたら、再適用を確認します。
これによって、ruei.conf
ファイルの再ロードが強制され、設定中に行った変更が反映されます。『Oracle Real User Experience Insightユーザーズ・ガイド』の付録Rで説明したテーブルが作成され、代替データベース内に移入されます。
RUEI_DB_TNSNAME_BIの設定後、ruei.conf
ファイルを再ロードするまでの間に、イベント・ログにメッセージが表示されることがあります。このメッセージがruei.conf
ファイルの再ロード後消えた場合は、無視できます。