この付録では、Oracle Linux 5.xまたはRedHat Enterprise Linux 5.x以外のプラットフォーム上で実行しているRUEIレポータで使用するOracleデータベース・インスタンスの設定方法を説明します。RUEIはOracleデータベースのバージョン11gR1および11gR2をサポートしています。
この付録では、詳細な手順の説明ではなく、汎用データベース・インスタンスで必要な手順を説明しています。したがって、Oracleデータベースの実践的な知識が必要です。
プラットフォームのサポート
リモート・データベースのデプロイメント用に各種のプラットフォームがサポートされていますが、比較的少数ユーザーによる大量クエリー用に設計された高性能なシングル・スレッド・プラットフォームを使用すれば、最適なデプロイメント・ソリューションを実現できます。
完了後、次のパラメータと設定を新しいOracleデータベース・インスタンス用に指定する必要があります。
RUEI_DB_INST: 新しいデータベース・インスタンス名(/etc/ruei.conf
ファイルで指定されている)。詳細は、「RUEI構成ファイル」を参照してください。
インスタンスは、Data_Warehouse.dbc
テンプレートに基づきます。
インスタンス文字セットは、AL32UTF8
に設定する必要があります。
パフォーマンス上の理由から、recyclebin
およびaudit_trail
機能は無効にしておく必要があります。
redolog
ファイル・サイズを監視し、必要に応じてサイズを調整します。
次の各項では、これらの要件ごとに詳細を説明します。
次の説明では、Oracleデータベース・インスタンスをコマンド行で作成することを想定しています。ただし、適切なユーティリティを使用して、必要なパラメータを指定できます。次の内容と一致している必要があります。
dbca -silent -createDatabase -gdbNameRUEI_DB_INST
-sidRUEI_DB_INST
\ -characterSet AL32UTF8 -templateName Data_Warehouse.dbc -databaseType DATA_WAREHOUSING \ -redoLogFileSize 500 -initParams recyclebin=off -initParams audit_trail=none
パフォーマンス上の理由から、圧縮テーブルスペースを使用することを強くお薦めします。次のコマンド行の指示を使用して、USERS
テーブルスペースでの圧縮を有効にできます。
alter tablespace USERS default compress;
必要なデータベース・サイズは200GB(以上)です。必要なディスク領域は、指定されたレポータ・データ保存ポリシーによって異なります(構成、一般、次に詳細設定、そしてレポータ・データ保存ポリシーを選択)。
ほとんどのRUEIデプロイメントでは、USERS
テーブルスペースに複数のデータファイルが必要になります。デフォルトのデータファイル場所が使用されますが、データファイルに別な場所を指定できる点に注意してください。次のコマンドを使用して、追加のデータファイルを追加します。
alter tablespace USERS add datafile 'user02.dbf' size 5M autoextend on;
USERS
テーブルスペース以外に、RUEIレポータ・システムには3つの追加テーブルスペースを作成する必要があります。
UXCONF
: RUEI構成情報を含みます。通常は1GB未満のサイズです。UXSTAT
: 内部用のRUEI統計情報を含みます。通常は2~3GBのサイズです。UXTEMP
: RUEIの一時テーブルを含みます。通常は数GBのサイズです。
これら3つのテーブルスペースの名前は固定されており、変更できない点に注意してください。必要なテーブルスペースは次のコマンドを使用して作成できます。
create tablespace UXCONF datafile 'uxconf01.dbf' size 5M reuse autoextend on default compress; create tablespace UXSTAT datafile 'uxstat01.dbf' size 5M reuse autoextend on default compress; create tablespace UXTEMP datafile 'uxtemp01.dbf' size 5M reuse autoextend on default compress;
パフォーマンス上の理由から、データベースへのすべての接続に共有プールを使用することを強くお薦めします。次の例はデータベースの共有プールの起動方法を示しています。
exec dbms_connection_pool.start_pool; exec dbms_connection_pool.configure_pool(inactivity_timeout=>3600, max_think_time=>3600);
デフォルトでは、Oracleデータベースの保守タスクは22:00に実行するように設定されています。これはデータベース全体のパフォーマンスに大きな影響を及ぼすことがあります。したがって、監視する環境内でのトラフィック量によっては、トラフィック/ロード量の少ない時間帯(たとえば03:00)に、この種の保守タスクのスケジュールを変更する必要があるかもしれません。予定された保守タスクのスケジュール変更方法については、次の場所にある『Oracle Database管理者ガイド』をを参照してください。
http://download.oracle.com/docs/cd/B28359_01/server.111/b28310/memory003.htm#ADMIN11200
この項では、RUEIデータベース・ユーザーの作成と割り当てる必要がある権限について説明します。RUEIデータベース・ユーザーは、RUEI_DB_USERの設定(/etc/ruei.conf
ファイル内)で指定され、最小限の権限が与えられます。ただし、dbms_crypto
権限は、コレクタが使用しているSSLプライベート・キーの暗号化に必要な点に注意してください。さらに、RUEIは通常無人の7x24環境で稼動するので、PASSWORD_LIFE_TIME
権限を無限に設定しておく必要があります。次の例は、RUEIデータベース・ユーザーを最小限の権限で作成できる様子を示したものです。
create userRUEI_DB_USER
identified by PASSWORD default tablespace USERS temporary tablespace TEMP profile DEFAULT quota 200G on USERS; alter userRUEI_DB_USER
quota unlimited on UXCONF quota unlimited on UXSTAT quota unlimited on UXTEMP; alter profile DEFAULT limit PASSWORD_LIFE_TIME unlimited; grant create session, create sequence, create table, create trigger to RUEI_DB_USER; grant execute on dbms_crypto toRUEI_DB_USER
;
Oracleデータベースを定義したら、接続データの設定が必要です。これには、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
ファイルの内容を示しています。
uxinsight=(DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521))) (CONNECT_DATA=(SERVICE_NAME=ruei)(SERVER=POOLED)))
上記の例では、uxinsight
が/etc/ruei.conf
ファイルで指定されたデータベースの別名(RUEI_DB_TNSNAME)です。HOST
設定がご使用のデータベースを示していることを確認してください。ホスト名を指定する場合は、/etc/hosts
の設定でも指定されていることを確認してください。ただしIPアドレスも指定できます。
RUEIの処理部分では、Oracleデータベースへの非対話式のアクセスが必要です。このために、Oracle autologin
ウォレットを使用してパスワードを安全に保存します。
次のコマンドを使用して、データベース・システム上にOracleウォレットを作成します。
mkstore -wrl /dev/shm -create
ウォレット・パスワードの入力を求められます。
(空の)ウォレットを作成したら、次のコマンドを使用して、RUEI_DB_TNSNAMEおよびRUEI_DB_USERの資格証明をOracleウォレットに追加する必要があります。
mkstore -wrl /dev/shm -createCredentialRUEI_DB_TNSNAME
RUEI_DB_USER
ewallet.p12
およびcwallet.sso
という2つのウォレットをレポータ・システム上のRUEI_DATAディレクトリに移動する必要があります。両方のファイルがRUEI_USERとRUEI_GROUPの所有権を持っている必要があります。ewallet.p12
はRUEI_USERだけに読取り可能で、cwallet.sso
はRUEI_USERとRUEI_GROUPの両方で読取り可能な必要があります。Linuxでは、次のコマンドを発行することでこれが可能です。
chownRUEI_USER
:RUEI_GROUP
*wallet* chmod 600 ewallet.p12 chmod 640 cwallet.sso
Oracleデータベース・インスタンスが正しく設定されると、パスワードを入力しなくてもデータベースに入れるようになるはずです。レポータ・システム上のRUEI_USERは、次のようにデータベース・インスタンスにアクセスできます。
sqlplus /@RUEI_DB_TNSNAME
この手順が失敗する場合は、この付録に記載した情報を慎重に確認してからRUEIのデプロイメントに進んでください。