データベースを作成します。作成後に全てのノードでデータベースを正常に起動できることを必ず確認してください。
データベースの作成と設定を行います。
データベースの配置
データベースは共用ディスク上に作成します。共用ディスクが参照できる状態で行う必要があります。
各資源の配置は以下に示します。
項目 | 場所 | 備考 | |
初期化パラメータ・ファイル(PFILE) | 任意 | 各ノードのローカルディスクに配置することを推奨します。 | |
サーバー・パラメータ・ファイル(SPFILE) | 共用 | 下記「パラメータ・ファイル」項を参照してください。 | |
パスワード・ファイル | 共用 |
| |
制御ファイル | 共用 |
| |
データファイル | 共用 |
| |
REDO ログファイル | 共用 |
| |
アーカイブ REDO ログ | 任意 | 共用ディスクとローカルディスクとで多重化しておくことを推奨します。 | |
フラッシュ・リカバリ領域 | 共用 |
| |
ログファイル | audit_file_dest | ローカル | トラブル調査時に確実に採取できるよう、各ノードのローカルディスクに配置してください。 |
background_dump_dest | ローカル | ||
core_dump_dest | ローカル | ||
user_dump_dest | ローカル | ||
diagnostic_dest | ローカル |
注意
アーカイブ REDO ログを共用ディスクに配置する場合、ディスクの容量の枯渇に注意してください。アーカイブログ領域不足に陥ると、監視用 SQL によるデータ更新処理がハングアップし、リソース異常となる場合があります。また、userApplication のフェイルオーバにも失敗し、業務が停止する場合があります。
参考
データベース作成前に、共用ディスクに Oracle ユーザーの書き込み権限があることを確認してください。
Oracle 10g以降 で ASM (Automatic Storage Management) を使用する場合、ASM を RMS リソースとして登録する必要があります。“2.5.2 ASM(Automatic Storage Management)を使用する場合” を参照してください。
Oracle9i RAC スケーラブル運用におけるデータベースの作成と設定
データベースの作成は任意の1ノードからのみ行い、その他のノードでは、作成した共用ディスク上のデータベースを動作させる設定のみ行います。
参照
データベースの作成は、RACのマニュアルを参照してください。
スタンバイ運用におけるデータベースの作成と設定
運用ノード
データベースの作成は運用ノード上からのみ行い、待機ノードでは、運用ノードから作成した共用ディスク上のデータベースを動作させる設定のみ行います。
参照
データベースの作成は、Oracle のマニュアルを参照してください。
待機ノード
データベースを作成した運用側と同一の構成になるように、ディレクトリの作成やファイルのコピー、リンクの設定を行ってください。
<$ORACLE_HOME>/dbs 配下
<$ORACLE_BASE>/admin/$ORACLE_SID 配下
<$ORACLE_BASE>/diag 配下 (Oracle 11g の場合)
<$ORACLE_HOME>/network/admin 配下
上記で作成したディレクトリとファイルのパーミッションを運用系と同一にしてください。
アーカイブログ出力先等の設定を運用ノードで行った場合は、待機ノードでも同一の設定を行ってください。
参照
/opt/FJSVclora/sbin/cloracpy コマンドを使って、運用ノードの必要なファイルをtar形式にバックアップすることができます。 “4.4 cloracpy - Oracle設定ツール(待機ノード用)” を参照してください。
例
相互待機や N:1運用待機構成の場合も、1:1 運用待機と同様にデータベースの作成は、それぞれの運用ノードから行い、待機ノードでは、運用ノードから作成した共用ディスク上のデータベースを動作させる設定のみ行います。その他の運用形態も同様です。
相互待機
2:1 運用待機
パラメータ・ファイル
初期化パラメータ LOCAL_LISTENER の設定が、listener.ora、tnsnames.ora の設定と整合性が保たれている必要があります。Oracle のネットワークの設定を行う場合も、注意してください。
Oracle のサーバー・パラメータ・ファイル (永続初期化パラメータ・ファイル) を使用する場合、サーバー・パラメータ・ファイルは共用ディスク上に配置してください。共用ディスク上に配置しない場合、運用、待機ノードで同一の設定で動作できなくなります。
サーバー・パラメータ・ファイルを共用ディスクに置いた後、共用ディスク上のファイルを参照するための設定を運用・待機両ノードにて実施してください。以下のいずれかの方法で設定してください。
例
共用ディスク上のサーバー・パラメータ・ファイルへのシンボリックリンク・ファイルを作成する方法
$ ln -s <共用ディスク上の格納先>/spfile<$ORACLE_SID>.ora <$ORACLE_HOME>/dbs/spfile<$ORACLE_SID>.ora
初期化パラメータ・ファイルにサーバー・パラメータ・ファイルの配置先を指定する方法
(<初期化パラメータ・ファイル: $ORACLE_HOME>/dbs/init<$ORACLE_SID>.ora)
spfile = <共用ディスク上の格納先>/spfile<$ORACLE_SID>.ora
注意
Oracle 10g以降の環境で DBCA (Database Configuration Assistant) を使用してデータベースを作成する場合、サーバー・パラメータ・ファイルの格納先を指定できない場合があります。(例:データベース作成先がファイルシステムの場合など)
このような場合、以下の例を参考にして、データベース作成後にサーバー・パラメータ・ファイルを共用ディスク上に移動してください。
共用ディスクがマウントされていなければ、マウントする。
“2.2.3 userApplication およびリソースの構成” で作成した userApplication を起動してください。
サーバー・パラメータ・ファイルを共用ディスク上に移動する。
# mv <$ORACLE_HOME>/dbs/spfile<$ORACLE_SID>.ora <共用ディスク上の格納先>/spfile<$ORACLE_SID>.ora
共用ディスク上のファイルを参照するための設定を実施する(前述の例を参照)。
手順3) は、運用・待機両ノードにて実施してください。
運用ノードで実施後、cloracpy コマンドを使用することもできます。
ネットワーク設定
各資源の配置は以下に示します。
項目 | 場所 | 備考 |
listener.ora | 任意 | 配置先については、参考を参照してください。 |
tnsnames.ora | 任意 | 同上 |
<LISTENER>.log | ローカル |
|
参考
listener.ora/tnsnames.ora ファイルは、ローカルディスク、共用ディスクのいずれかに配置してください。どちらに配置するかは、以下の点を参考にしてください。
ローカルディスク
ローカルディスクに配置した場合、ファイルの編集は、ノードごとに行う必要があります。そのため、共用ディスクに配置する場合に比べて、メンテナンス効率は低下します。一方で、トラブル調査時には、共用ディスクのマウント状態の影響を受けないため、確実にファイルを採取することができます。
共用ディスク
共用ディスク上に配置した場合、ファイルの編集は、共用ディスク上のファイルを編集するのみでよく、ローカルディスクに配置する場合に比べて、メンテナンス効率は向上します。一方で、共用ディスクがマウントされていない場合に、トラブル調査に必要なファイルを採取できないことがあります。
共用ディスクに配置する場合は、各ノードの $ORACLE_HOME/network/admin/ 配下にシンボリックリンク・ファイルを作成してください。
・listener.ora の場合
$ ln -s <共用ディスク上の格納先>/listener.ora <$ORACLE_HOME>/network/admin/listener.ora
・tnsnames.ora の場合
$ ln -s <共用ディスク上の格納先>/tnsnames.ora <$ORACLE_HOME>/network/admin/tnsnames.ora
listener.ora
スタンバイ運用等で論理IPアドレスを使用した、Oracle リスナーの切替え運用を行う場合は、Oracle リスナーの IPアドレスに論理IPアドレスを設定します。
例
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = <論理IPアドレス>)(PORT = 1521))
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ora9i)
(ORACLE_HOME = /opt/oracle/product/9.0.1)
(SID_NAME = ora9i)
)
)
注意
Oracle 10g 以降では、リスナーのオペレーティング・システム認証 (OS認証) を有効にしてください。
デフォルトでは OS 認証が有効になっています。listener.ora ファイルに以下を定義するか、もしくは定義自体を行わない場合に OS 認証が有効になります。
LOCAL_OS_AUTHENTICATION_<LISTENER_NAME> = ON
tnsnames.ora
Oracle リスナーの監視において、tnsping による Oracle リスナー動作監視を行う場合は、tnsnames.ora の設定を行ってください。tnsnames.ora で設定したネット・サービス名をPRIMECLUSTER Wizard for Oracle の Oracle リスナーの環境設定で指定します。tnsnames.ora で設定する $ORACLE_SID、ホスト (論理IPアドレス) およびポート番号は、監視対象の Oracle リスナーと同一にします。
例
ネット・サービス名 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = <論理IPアドレス>)(PORT = 1521)) (CONNECT_DATA = (SID = ora9i)) )
SYSTEM ユーザーのパスワード
PRIMECLUSTER Wizard for Oracle では、Oracle の SYSTEM ユーザーとして Oracle に接続し、Oracle の監視を行っています。そのため、SYSTEM ユーザーのパスワードを、PRIMECLUSTER Wizard for Oracle に登録する必要があります。 4.3 clorapass - 監視用パスワードの登録 を参照して、SYSTEM ユーザーのパスワードを登録してください。
注意
Oracle の TWO_TASK 環境変数は使用しないでください。TWO_TASK 環境変数は、Oracle への接続時に接続識別子を付加し、自動的にネットワーク接続にて接続するための環境変数です。
PRIMECLUSTER Wizard for Oracle では、ローカル接続 ("/ as sysdba") にて Oracle に接続する必要があるため、ネットワーク接続は使用できません。
業務などでネットワーク接続を行う場合は、TWO_TASK 環境変数を使用せず、ログイン時に "@接続識別子" を指定してください。
Oracle DBA ユーザーの login.sql に、システム変数の設定以外の処理を記述しないでください。
PRIMECLUSTER Wizard for Oracle では、SQL*Plus を使用して Oracle を制御しています。そのため、login.sql に SQL 文などが記述されていると、制御時に自動的に実行してしまい誤動作する可能性があります。
ただし、SET コマンドによりシステム変数を設定することはできます。
全てのノードでデータベースを起動しエラーが発生しないことを確認します。
PRIMECLUSTER Wizard for Oracleでは、rootユーザーからOracleユーザーにsu(1M)を用いてスイッチし、Oracleインスタンス(データベース)、リスナーの起動、停止を行っています。以下のようにrootユーザーでsu(1M)を実行し、OracleユーザーにスイッチしてからOracleインスタンス、リスナーを手動で起動・停止できることを確認してください。また、rootユーザーでログインする前にrootユーザーおよびOracleユーザー以外のユーザーを経由しないようにしてください。
運用、待機両ノードで以下を実行してください。待機ノードで確認する場合はuserApplicationを待機ノードへ切替えて確認してください。
# su - <Oracle ユーザー> $ lsnrctl start <リスナー名> $ lsnrctl status <リスナー名> $ lsnrctl stop <リスナー名> $ sqlplus /nolog SQL> CONNECT / AS SYSDBA SQL> STARTUP SQL> SELECT STATUS FROM V$INSTANCE; SQL> SHUTDOWN IMMEDIATE SQL> EXIT $ exit #
参考
Oracleユーザーのシェル制限値が適切に設定されていない場合、Oracle インスタンス、リスナーの起動に失敗することがあります。
PRIMECLUSTER Wizard for OracleはOracleインスタンス、リスナーを起動する際に、su(1M)を用いてrootユーザーからOracleユーザーへスイッチします。Oracleユーザーのシェル制限が未設定の場合はrootユーザーのシェル制限値が継承されます。このため、必ずrootユーザーからOracleユーザーへスイッチした状態でOracleインスタンス、リスナーを起動できることを確認してください。