データベースの配置
データベースは共用ディスク上に作成します。共用ディスクが参照できる状態で行う必要があります。
各資源の配置は以下に示します。
項目 | 場所 | 備考 | |
---|---|---|---|
初期化パラメータ・ファイル(PFILE) | 任意 | 各ノードのローカルディスクに配置することを推奨します。 | |
サーバー・パラメータ・ファイル(SPFILE) | 共用 | 下記「パラメータ・ファイル」項を参照してください。 | |
パスワード・ファイル | 任意 | 下記「パスワード・ファイル」項を参照してください。 | |
制御ファイル | 共用 |
| |
データファイル | 共用 |
| |
REDO ログファイル | 共用 |
| |
アーカイブ REDO ログ | 任意 | 共用ディスクとローカルディスクとで多重化しておくことを推奨します。 | |
フラッシュ・リカバリ領域 | 共用 |
| |
ログファイル | AUDIT_FILE_DEST | ローカル | トラブル調査時に確実に採取できるよう、各ノードのローカルディスクに配置してください。 |
BACKGROUND_DUMP_DEST | ローカル | ||
CORE_DUMP_DEST | ローカル | ||
USER_DUMP_DEST | ローカル | ||
DIAGNOSTIC_DEST | ローカル |
マルチテナント機能を使用したデータベースを作成する場合も、表のとおりに各資源を配置してください。PDBのデータファイルは共用ディスクに配置してください。
注意
アーカイブ REDO ログを共用ディスクに配置する場合、ディスクの容量の枯渇に注意してください。アーカイブログ領域不足に陥ると、監視用 SQL によるデータ更新処理がハングアップし、リソース異常となる場合があります。
その後、userApplication がフェイルオーバしてもフェイルオーバ先の待機ノードでも共用ディスク上の領域不足により Oracle データベースの起動に失敗するため、最終的に両系停止となり業務が停止する場合があります。
マルチテナント機能を使用したデータベースの場合、AUDIT_FILE_DESTに指定されるディレクトリのディスクの容量の枯渇に注意してください。PDBを監視する際に、Oracleインスタンスリソースの監視間隔(デフォルト30秒)毎にAUDIT_FILE_DESTのディレクトリの容量が約1KBずつ増加します。ログファイルの容量や作成の頻度は環境によって異なります。定期的にAUDIT_FILE_DESTのディレクトリの容量を確認して、バックアップや削除を行ってください。
Oracle Databaseソフトウェアを共用ディスクに配置する環境の場合、“付録D Oracle Database ソフトウェアを共用ディスク上で使用する場合”を参照してデータベースの各資源を配置してください。
参考
データベース作成前に、共用ディスクに Oracle ユーザーの書き込み権限があることを確認してください。
Oracle ASMを使用する場合、Oracle ASM を RMS リソースとして登録する必要があります。“2.4.2 Oracle ASM(Automatic Storage Management)を使用する場合” を参照してください。
スタンバイ運用におけるデータベースの作成と設定
運用ノード
データベースの作成は運用ノード上からのみ行い、待機ノードでは、運用ノードから作成した共用ディスク上のデータベースを動作させる設定のみ行います。
注意
1台のサーバに複数の ORACLE_HOME を作成している場合 (複数の Oracle Database ソフトウェアをインストールしている場合) 、Oracle インスタンス名には異なる Oracle インスタンス名を設定してください。
参考
データベースの作成は、Oracle Database のマニュアルを参照してください。
待機ノード
データベースを作成した運用側と同一の構成になるように、ディレクトリの作成やファイルのコピー、リンクの設定を行ってください。
<$ORACLE_HOME>/dbs 配下
<$ORACLE_BASE>/admin/$ORACLE_SID 配下
<$ORACLE_BASE>/diag 配下 (Oracle Database 11g R1/11g R2/12c R1の場合)
<$ORACLE_HOME>/network/admin 配下
初期化パラメータAUDIT_FILE_DEST、BACKGROUND_DUMP_DEST、CORE_DUMP_DEST、USER_DUMP_DEST、DIAGNOSTIC_DESTに設定されているディレクトリが存在しない場合は作成してください。
上記で作成したディレクトリとファイルのアクセス権限を運用系と同一にしてください。
アーカイブログ出力先等の設定を運用ノードで行った場合は、待機ノードでも同一の設定を行ってください。
参考
/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
注意
DBCA (Database Configuration Assistant) を使用してデータベースを作成する場合、サーバー・パラメータ・ファイルの格納先を指定できない場合があります。(例:データベース作成先がファイルシステムの場合など)
このような場合、以下の例を参考にして、データベース作成後にサーバー・パラメータ・ファイルを共用ディスク上に移動してください。
共用ディスクがマウントされていなければ、マウントする。
“2.2.4 Oracle リソースを含まない userApplication の作成” で作成した userApplication を起動してください。
サーバー・パラメータ・ファイルを共用ディスク上に移動する。
# mv <$ORACLE_HOME>/dbs/spfile<$ORACLE_SID>.ora <共用ディスク上の格納先>/spfile<$ORACLE_SID>.ora
共用ディスク上のファイルを参照するための設定を実施する(前述の例を参照)。
手順3) は、運用・待機両ノードにて実施してください。
運用ノードで実施後、cloracpy コマンドを使用することもできます。
パスワード・ファイル
パスワード・ファイルは、ローカルディスク、共用ディスクのいずれかに配置してください。どちらに配置するかは、以下の点を参考にしてください。
ローカルディスク
ローカルディスクに配置する場合、運用ノードでパスワード・ファイルを作成、または更新した後に、全ての待機ノードに配置する必要があります。そのため、共用ディスクに配置する場合に比べて、メンテナンス効率は低下します。
共用ディスク
共用ディスク上に配置する場合、パスワード・ファイルの作成や更新は運用ノードでのみ実施します。そのため、ローカルディスクに配置する場合に比べて、メンテナンス効率は向上します。
共用ディスクに配置する場合は、運用ノードでパスワード・ファイルを作成し、共用ディスク上に配置してください。
$ orapwd file=<$ORACLE_HOME>/dbs/orapw<SID> password=password force=y
$ mv <$ORACLE_HOME>/dbs/orapw<SID> <共用ディスク上の格納先>/orapw<SID>
次に、全てのノードの$ORACLE_HOME/dbs 配下にシンボリックリンク・ファイルを作成してください。
$ ln -s <共用ディスク上の格納先>/orapw<SID> <$ORACLE_HOME>/dbs/orapw<SID>
ネットワーク設定
各資源の配置は以下に示します。
各資源の配置先
項目 | 場所 | 備考 |
---|---|---|
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 = ora)
(ORACLE_HOME = /u01/app/oracle/product/db)
(SID_NAME = ora)
)
)
注意
リスナーのオペレーティング・システム認証 (OS認証) を有効にしてください。
デフォルトでは OS 認証が有効になっています。listener.ora ファイルに以下のパラメーターを設定した場合もOS 認証は有効になります。
LOCAL_OS_AUTHENTICATION_<LISTENER_NAME> = ON
1台のサーバに複数の ORACLE_HOME を作成している場合 (複数の Oracle Database ソフトウェアをインストールしている場合) 、リスナー名には異なるリスナー名を設定してください。
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 = ora)) )
SYSTEM ユーザーのパスワード
PRIMECLUSTER Wizard for Oracle では、Oracle データベースの SYSTEM ユーザーとして Oracle インスタンスに接続し、Oracle インスタンスの監視を行っています。そのため、SYSTEM ユーザーのパスワードを、PRIMECLUSTER Wizard for Oracle に登録する必要があります。 4.3 clorapass - 監視用パスワードの登録 を参照して、SYSTEM ユーザーのパスワードを登録してください。
マルチテナント機能を使用したデータベースを作成した場合は、CDBのSYSTEM ユーザーのパスワードを登録してください。PDBのローカルユーザーのパスワードを登録する必要はありません。
ログファイルのフルパス定義
PRIMECLUSTER Wizard for Oracle の調査資料コマンド clgetoralog は、Oracle データベースのアラート・ファイルやリスナーログを採取します。しかしログファイルの格納場所によっては採取できない場合があり、この結果、トラブル調査に時間を要する可能性があります。
これを防止するために、/opt/FJSVclora/etc/clgetoralog.conf ファイルにログファイルのフルパスを定義してください。詳細は、“4.5 clgetoralog - Oracle データベース調査資料採取” の「注意」を参照してください。
Oracle データベースの動作確認
PRIMECLUSTER Wizard for Oracleでは、rootユーザーからOracleユーザーにsu(1M)を用いてスイッチし、Oracleインスタンス(データベース)、リスナーの起動、停止を行っています。事前に、以下のようにrootユーザーでsu(1M)を実行し、OracleユーザーにスイッチしてからOracle インスタンス、リスナーを手動で起動・停止できることを確認してください。マルチテナント機能を使用したデータベースの場合は、PDBを手動で起動・停止できることも確認してください。
これは、運用、待機両ノードで行ってください。待機ノードで確認する場合はuserApplicationを待機ノードへ切替えて確認してください。
# su - <Oracle ユーザー> $ lsnrctl start <リスナー名> $ lsnrctl status <リスナー名> $ lsnrctl stop <リスナー名> $ sqlplus /nolog SQL> connect / as sysdba SQL> startup SQL> select status from v$instance; SQL> alter pluggable database all open; ※マルチテナント機能を使用したデータベースの場合 SQL> select name,open_mode from v$pdbs; ※マルチテナント機能を使用したデータベースの場合 SQL> shutdown immediate SQL> exit $ exit #
Oracleインスタンスが起動・停止するのに必要な時間を測定してください。マルチテナント機能を使用したデータベースの場合、全てのPDBが起動するのに必要な時間も測定してください。測定値は“2.2.7.2 Oracle リソースの作成”で使用します。
startup
alter pluggable database all open; ※マルチテナント機能を使用したデータベースの場合
shutdown immediate
注意
Oracle データベースの TWO_TASK 環境変数は使用しないでください。TWO_TASK 環境変数は、Oracle インスタンスへの接続時に接続識別子を付加し、自動的にネットワーク接続にて接続するための環境変数です。
PRIMECLUSTER Wizard for Oracle では、ローカル接続 ("/ as sysdba") にて Oracle インスタンスに接続する必要があるため、ネットワーク接続は使用できません。
業務などでネットワーク接続を行う場合は、TWO_TASK 環境変数を使用せず、ログイン時に "@接続識別子" を指定してください。
Oracle ユーザーの login.sql に、SQL*Plusシステム変数の設定以外の処理を記述しないでください。
PRIMECLUSTER Wizard for Oracle では、SQL*Plus を使用して Oracle インスタンスを制御しています。そのため、login.sql に SQL 文などが記述されていると、制御時に自動的に実行してしまい誤動作する可能性があります。
ただし、SQL*PlusコマンドのSETによりSQL*Plusシステム変数を設定することはできます。