この章では、Sun Cluster HA for Oracle のインストールと構成方法について説明します。
この章の内容は次のとおりです。
Sun Cluster Manager を使用して、このデータサービスを構成できます。詳細については、Sun Cluster Manager のオンラインヘルプを参照してください。
次の表は、Sun Cluster HA for Oracle のインストールと構成の作業をまとめたものです。最初の表は、ASM を使用しない Sun Cluster HA for Oracle のインストールと構成の作業をまとめたものです。次以降の表は、ASM を使用したSun Cluster HA for Oracle のインストールと構成の作業をまとめたものです。表は、作業手順の詳細が記載されている参照先も示しています。作業は、一覧表示されている順番に従って行います。Sun Cluster HA for Oracle を Oracle DataGuard とともに使用している場合は、Oracle データベースのインスタンスを実行している各クラスタでこれらの作業を行います。
表 1 作業マップ: HA for Oracleのインストールと構成
作業 |
参照先 |
---|---|
Sun Cluster HA for Oracle のインストールと構成の計画 | |
ノードとディスクの準備 | |
Oracle ソフトウェアのインストール | |
Oracle のインストールの確認 | |
Oracle データベースの作成 | |
Oracle データベースのアクセス権の設定 | |
Sun Cluster HA for Oracle パッケージのインストール | |
Sun Cluster HA for Oracle の登録と構成 |
「ASM を使用しないで Sun Cluster メンテナンスコマンドを使用して Sun Cluster HA for Oracle を登録および構成する方法」 |
Sun Cluster HA for Oracle のインストールの確認 | |
&Sun Cluster HA for Oracle 障害モニターのチューニング | |
(省略可能) Sun Cluster HA for Oracle サーバー障害モニターのカスタマイズ | |
(省略可能) Sun Cluster HA for Oracle リソースタイプのアップグレード | |
(省略可能) DataGuard インスタンスのロールの変更 |
表 2 作業マップ: シングルインスタンスの ASM を使用した HA for Oracle のインストールと構成
作業 |
参照先 |
---|---|
Sun Cluster HA for Oracle のインストールと構成の計画 | |
ノードとディスクの準備 | |
ASM ソフトウェアのインストール | |
Oracle ソフトウェアのインストール | |
Oracle のインストールの確認 | |
Oracle データベースの作成 | |
Oracle データベースのアクセス権の設定 | |
Sun Cluster HA for Oracle パッケージのインストール | |
Sun Cluster HA for Oracle の登録と構成 |
「Sun Cluster メンテナンスコマンドを使用するシングルインスタンス ASM の Sun Cluster HA for Oracle の登録および構成の方法」 |
Sun Cluster HA for Oracle のインストールの確認 | |
&Sun Cluster HA for Oracle 障害モニターのチューニング | |
(省略可能) Sun Cluster HA for Oracle サーバー障害モニターのカスタマイズ | |
(省略可能) Sun Cluster HA for Oracle リソースタイプのアップグレード | |
(省略可能) DataGuard インスタンスのロールの変更 |
表 3 作業マップ: クラスタ ASM を使用した HA for Oracle のインストールと構成
作業 |
参照先 |
---|---|
Sun Cluster HA for Oracle のインストールと構成の計画 | |
ノードとディスクの準備 | |
ASM ソフトウェアのインストール | |
Oracle ソフトウェアのインストール | |
Oracle のインストールの確認 | |
Oracle データベースの作成 | |
Oracle データベースのアクセス権の設定 | |
Sun Cluster HA for Oracle パッケージのインストール | |
Sun Cluster HA for Oracle の登録と構成 |
「Sun Cluster メンテナンスコマンドを使用したクラスタ ASM インスタンスの Sun Cluster HA for Oracle の登録および構成の方法」 |
Sun Cluster HA for Oracle のインストールの確認 | |
&Sun Cluster HA for Oracle 障害モニターのチューニング | |
(省略可能) Sun Cluster HA for Oracle サーバー障害モニターのカスタマイズ | |
(省略可能) Sun Cluster HA for Oracle リソースタイプのアップグレード | |
(省略可能) DataGuard インスタンスのロールの変更 |
この節では、Sun Cluster HA for Oracle のインストールと構成の計画に必要な情報について説明します。
以下の条件を守らないと、データサービスの構成がサポートされない場合があります。
この節で説明する条件に従って、Sun Cluster HA for Oracle のインストールと構成を計画します。これらの条件は、Sun Cluster HA for Oracle にだけ適用されます。Sun Cluster HA for Oracle のインストールと構成を進める前に、これらの条件を満たしておく必要があります。必要に応じて、Sun Cluster HA for Oracle は非大域ゾーンで実行するように構成できます。Sun Cluster HA for Oracle を非大域ゾーンで実行するように構成する場合は、高可用性ローカルファイルシステムを使用する必要があります。Sun Cluster HA for Oracle はゾーンクラスタで構成することも可能です。
非大域ゾーンでは、Sun Cluster デバイスグループの raw デバイスはサポートされません。
すべてのデータサービスに適用される条件については、『Sun Cluster Data Services Planning and Administration Guide for Solaris OS』の「Configuration Guidelines for Sun Cluster Data Services」を参照してください。
Oracle アプリケーションファイル – これらのファイルには、Oracle バイナリファイル、構成ファイル、およびパラメータファイルがあります。これらのファイルは、ローカルファイルシステム、高可用性ローカルファイルシステム、またはクラスタファイルシステムにインストールできます。
Oracle バイナリファイルをローカルファイルシステム、高可用性ローカルファイルシステム、およびクラスタファイルシステムに配置することの利点と欠点については、『Sun Cluster Data Services Planning and Administration Guide for Solaris OS』の「Configuration Guidelines for Sun Cluster Data Services」を参照してください。
データベース関連ファイル– これらのファイルには、制御ファイル、REDO ログ、およびデータファイルがあります。これらのファイルは、raw デバイスにインストールするか、あるいは高可用性ローカルファイルシステムまたはクラスタファイルシステムに通常のファイルとしてインストールする必要があります。非大域ゾーンでは、Sun Cluster デバイスグループの raw デバイスはサポートされません。
ASM 構成 – 自動ストレージ管理 (ASM) は、Oracle データベース 10g で導入されたストレージオプションです。ファイルシステム、論理ボリュームマネージャー、およびプラットフォームに依存しない方式のソフトウェア RAID (redundant array of independent disks) の各サービスを提供します。ASM のインストールを計画している場合、Oracle データベースのインストールに適した ASM のインスタンスとディスクグループを選ぶ必要があります。単一の ASM インスタンスとクラスタ ASM インスタンスの 2 種類の ASM インスタンスがあります。適切な ASM インスタンスの選択に関する情報は、「適切な ASM インスタンスの選択」を参照してください。ASM に関する詳細については、使用している Oracle データベースのバージョンに対応する Oracle のドキュメントを参照してください。
ASM ディスクグループを使用しているノードにシングルインスタンスの Oracle データベースをインストールしている場合は、一部のファイルは ASM ディスクグループではなく、ローカルにあります。これらのファイルをシングルインスタンスの Oracle を作成したノードからほかのクラスタノードにコピーする必要があります。
Oracle 11g データベースを使用している場合は、以下のディレクトリをほかのクラスタノードにコピーする必要があります。
${ORACLE_BASE}/diag/rdbms/sid
${ORACLE_BASE}/admin
${ORACLE_HOME}/dbs/pfile.ora
Oracle 10g データベースを使用している場合は、以下のディレクトリをほかのクラスタノードにコピーする必要があります。
${ORACLE_HOME}/admin
${ORACLE_HOME}/dbs/initsid.org
次の例では、ターゲットのクラスタノードで /usr/sfw/sbin/wget コマンドを使用して Oracle 10g の ${ORACLE_HOME}/admin ディレクトリを再帰的にコピーします。
# su dbuser cd ORACLE_HOME /usr/sfw/bin/wget -r -nH --Cut-dirs=n ftp://user:password@host:ORACLE_HOME/admin |
/usr/sfw/sbin/wget コマンドで、-r オプションは再帰的コピーで、-nH オプションはホストディレクトリの接頭部分を無効にします。--Cut-dirs オプションを指定すると、ディレクトリの構成部分が無視されます。/usr/sfw/sbin/wget のオプションの詳細については、wget のマニュアルページを参照してください。
この節で説明されている質問を活用して、Sun Cluster HA for Oracle のインストールと構成を計画してください。『Sun Cluster Data Services Planning and Administration Guide for Solaris OS』の「Configuration Worksheets」にあるデータサービスのワークシートの余白に、これらの質問への回答を書き込みます。
ネットワークアドレスやアプリケーションリソースおよびそれらの間の依存関係に、どのようなリソースグループを使用しますか?
論理ホスト名 (フェイルオーバーサービス用) と、データサービスにアクセスするクライアントの共有アドレス (スケーラブルサービス用) は何ですか?
システムの構成ファイルはどこにありますか?
Oracle バイナリファイルを、クラスターファイルシステムではなくローカルファイルシステムに配置することの利点と欠点については、『Sun Cluster Data Services Planning and Administration Guide for Solaris OS』の「Configuration Guidelines for Sun Cluster Data Services」を参照してください。
データベースのセットアップには、スタンバイインスタンスが必要ですか?
clsetup ユーティリティーを使用して Sun Cluster HA for Oracle を登録および構成する場合、これらの質問の一部はユーティリティーが自動的に回答します。
スタンバイデータベースについては、Oracleのドキュメントを参照してください。
ASM ストレージの使用を計画していますか?
ASM ストレージの使用を計画している場合は、シングルインスタンスの ASM またはクラスタインスタンスの ASM のどちらが必要であるかを決定する必要があります。適切な ASM インストールの選択方法については、「適切な ASM インスタンスの選択」を参照してください。
スタンバイデータベースについては、Oracleのドキュメントを参照してください。
この節では、ノードとディスクの準備に必要な手順を説明します。
この手順を使用して、Oracle ソフトウェアのインストールと構成の準備をします。
すべてのノードで、この節で説明するすべての手順を実行します。すべてのノードで、すべての手順を実行しないと、Oracle のインストールは完了しません。Oracle のインストールが不完全であると、Sun Cluster HA for Oracle は起動中に失敗します。
この手順を実行する前に Oracle のドキュメントを参照してください。
以下の手順でノードを準備し、Oracle ソフトウェアをインストールします。
すべてのクラスタのメンバーでスーパーユーザーになります。
Sun Cluster HA for Oracle のクラスタファイルシステムを構成します。
非大域ゾーンでは、Sun Cluster デバイスグループの raw デバイスはサポートされません。
データベースが raw デバイスに含まれる場合は、raw デバイスにアクセスするグローバルデバイスを構成します。グローバルデバイスの構成方法については、『Sun Cluster ソフトウェアのインストール (Solaris OS 版)』を参照してください。
Solaris ボリュームマネージャーソフトウェアを使用する場合は、Oracle ソフトウェアがミラーメタデバイスまたは raw ミラーメタデバイスで UNIX ファイルシステム (UFS) ログ記録を使用するように構成します。raw ミラーメタデバイスの構成方法の詳細については、Solaris ボリュームマネージャー のドキュメントを参照してください。
Oracle のファイルに Solaris Zettabyte File System (ZFS) を使用する場合は、高可用性ローカル ZFS を構成します。詳細については、『Sun Cluster Data Services Planning and Administration Guide for Solaris OS』の「How to Set Up the HAStoragePlus Resource Type to Make a Local Solaris ZFS Highly Available」を参照してください。
Sun QFS ファイルシステムを使用する場合は、Sun QFS ファイルシステムを Oracle で使用できるよう構成します。Sun QFS ファイルシステムの構成の詳細については、『Sun Cluster Data Service for Oracle RAC Guide for Solaris OS』の「Using the Sun QFS Shared File System」を参照してください。
ローカルディスクまたはマルチホストディスクで $ORACLE_HOME ディレクトリを準備します。
Oracle バイナリファイルをローカルディスクにインストールする場合は、できる限り別のディスクを使用します。Oracle バイナリファイルを別のディスクにインストールすると、オペレーティング環境を再インストールしたときに上書きされることを防げます。ASM を使用する場合は、2 つの $ORACLE_HOME ディレクトリを作成する必要があります。1 つは Oracle データベース用 $ORACLE_HOME、もう 1 つは ASM 用 $ORACLE_HOME です。
それぞれのノードまたはゾーンで、/etc/group ファイルにデータベース管理者 (DBA) グループのエントリを作成し、必要なユーザーをそのグループに追加します。
通常は、DBA グループの名前は dba とします。oracle ユーザーが dba グループのメンバーであることを確認し、必要に応じてほかの DBA ユーザーのエントリを追加します。次の例で示すように、Sun Cluster HA for Oracle を実行するすべてのノードまたはゾーンでグループ ID が同じであることを確認します。
dba:*:520:root,oracle |
ASM を使用する場合、/etc/group ファイルに ASM 用の DBA グループの追加エントリを加える必要があります。
dba:*:520:root,oracle,oraasm |
ネットワークネームサービス (たとえば、NIS または NIS+) でグループのエントリを作成できます。この方法でグループのエントリを作成する場合は、ローカルの /etc/inet/hosts ファイルにエントリを追加して、ネットワークネームサービスに対する依存関係を削除します。
それぞれのノードまたはゾーンで、Oracle ユーザー ID (oracle) のエントリを作成します。
通常は、Oracle ユーザー ID は oracle とします。次のコマンドは、/etc/passwd ファイルおよび /etc/shadow ファイルを Oracle ユーザー ID のエントリで更新します。
# useradd -u 120 -g dba -d /Oracle-home oracle |
oracle ユーザーのエントリが、Sun Cluster HA for Oracle を実行するすべてのノードまたはゾーンで同じであることを確認します。
ASM を使用する場合、ASM 用に追加の Oracle ユーザー ID を作成する必要があります。
# useradd -u 121 -g dba -d /asm-home oraasm |
10.2.0.3 以上の Oracle データベースを使用している場合、それぞれの Solaris ゾーンで以下の手順を実行する必要があります。
これらの手順は、ゾーンの作成中に実行する必要があります。これらの手順の実行が失敗すると、エラーになります。エラーを解決するには、必要な特権を設定して、ORACLE_HOME /bin/localconfig reset ORACLE_HOME を実行します。
# zoneadm -Z zcname halt zonecfg -Z zcname info limitpriv zoneadm -Z zcname set limitpriv=default,proc_priocntl zoneadm -Z zcname info limitpriv zoneadm -Z zcname boot |
Solaris ボリュームマネージャー を使用して Oracle データベースを構成するには、この手順を使用します。
この手順は、大域ゾーンでのみ実行できます。
Solaris ボリュームマネージャー ソフトウェアが使用するディスクデバイスを構成します。
Solaris ボリュームマネージャー ソフトウェアの構成方法については、『Sun Cluster ソフトウェアのインストール (Solaris OS 版)』を参照してください。
データベースを含む raw デバイスを使用する場合、次のコマンドを実行してそれぞれの raw ミラーメタデバイスの所有者、グループ、およびモードを変更します。
raw デバイスを使用しない場合は、この手順を実行しないでください。
raw デバイスを作成する場合、Oracle のリソースグループをマスターできる各ノードの各デバイスで次のコマンドを実行します。
# chown oracle /dev/md/metaset/rdsk/dn # chgrp dba /dev/md/metaset/rdsk/dn # chmod 600 /dev/md/metaset/rdsk/dn |
ディスクセットの名前を指定します。
metaset ディスクセット内から raw ディスクデバイスの名前を指定します。
変更が有効であることを確認します。
# ls -lL /dev/md/metaset/rdsk/dn |
Veritas Volume Manager ソフトウェアを使用して Oracle データベースを構成するには、この手順を使用します。
この手順は、大域ゾーンでのみ実行できます。
Veritas Volume Manager ソフトウェアが使用するディスクデバイスを構成します。
Veritas Volume Manager の構成方法については、『Sun Cluster ソフトウェアのインストール (Solaris OS 版)』 を参照してください。
データベースを含む raw デバイスを使用する場合、現在のディスクグループプライマリで次のコマンドを実行して、各デバイスの所有者、グループ、およびモードを変更します。
raw デバイスを使用しない場合は、この手順を実行しないでください。
raw デバイスを作成する場合、各 raw デバイスに対して次のコマンドを実行します。
# vxedit -g diskgroup set user=oracle group=dba mode=600 volume |
ディスクグループの名前を指定します
ディスクグループ内の raw デバイスの名前を指定します。
変更が有効であることを確認します。
# ls -lL /dev/vx/rdsk/diskgroup/volume |
デバイスグループをクラスタと同期させ、クラスタ全体で VxVM の一貫性を保ちます。
# cldevicegroup sync diskgroup |
この手順を使用して、ASM を使用する Oracle データベースアクセスを構成します。VxVM または SVM で ASM を使用できます。
ASM ソフトウェアが使用するディスクデバイスを構成します。
ASM の構成方法については、『Sun Cluster Data Service for Oracle RAC Guide for Solaris OS』の「Using ASM」を参照してください。
Oracle ASM ディスクグループが使用する Oracle ASM ディスクのアクセス権を設定します。
ASM のインストールでは、ASM インスタンスのインストールと作成、および必要な ASM ディスクグループの構成を実行します。ASM ディスクグループは、ASM インスタンスが管理する単位であるデータファイルを格納するディスクデバイスの集合です。ASM インスタンスはディスクグループをマウントして、ASM ファイルをデータベースインスタンスが使用できるようにします。
使用する ASM インスタンスのタイプを決定する必要があります。ASM インスタンスを、Oracle Clusterware インスタンスを使用する、シングルインスタンス ASM またはクラスタ ASM として使用できます。適切な ASM インスタンスを選択する方法については、「適切な ASM インスタンスの選択」を参照してください。
クラスタ ASM を使用している場合、まず Oracle CRS ソフトウェアをインストールし、次に ASM をインストールします。SPARC でクラスタ ASM を使用している場合、ASM のインストールの前に ORCLudlm パッケージもインストールする必要があります。
Oracle Universal Installer を実行する際は、ASM を構成、インストールし、ディスクグループを作成するオプションがあります。ASM のインストールおよび構成の詳細については、使用している Oracle データベースのバージョンに対応する Oracle のドキュメントを参照してください。
別のクラスタノードに ASM と同じディスクグループを作成する際は、ディスクグループをノードごとに 1 つずつ作成し、ほかのクラスタノードで同じディスクグループを作成する前にそのディスクグループをマウント解除する必要があります。
ASM のインストールを実行する前に、ASM の ORACLE_HOME があるファイルシステムを設定および構成する必要があります。
ASM ソフトウェアのインストール後、次の手順を実行することで、ASM ソフトウェアがインストールされ、ASM ディスクグループがクラスタノードにマウントされていることを確認できます。
# sqlplus "/ as sysdba" sql> select * from v$sga; sql> select name,state from v$asm_diskgroup; sql> exit; # |
Oracle データベース 11g を使用している場合、sqlplus "/ as sysdba" の代わりに sqlplus "/ as sysasm" を使用する必要があります。
この節では、Oracle ソフトウェアのインストールに必要な手順を説明します。
クラスタのメンバーでスーパーユーザーになります。
クラスタファイルシステムでの Oracle ソフトウェアのインストールを計画している場合は、Sun Cluster ソフトウェアを起動し、デバイスグループの所有者になります。
Oracle ソフトウェアをほかの場所にインストールする計画の場合は、この手順は省略します。
インストール場所については、「ノードとディスクの準備」を参照してください。
Oracle ソフトウェアをインストールします。
Oracle のインストールを開始する前に、Oracle に必要なシステムリソースが構成されていることを確認します。oracle としてログインし、この手順を実行する前に、ディレクトリ全体の所有権を確認します。Oracle ソフトウェアのインストール方法に関する注意点は、該当する Oracle のインストールおよび構成ガイドを参照してください。
Solaris 9 OS を使用している場合、各ノードの /etc/system ファイルを標準的な Oracle インストール手順に適合するように変更します。変更が有効になるように各ノードを再起動します。
Solaris 10 OS を使用している場合は、Solaris Resource Management (SRM) を使用して、カーネルパラメータが Oracle の必要最小値以上に設定されていることを確認できます。Oracle カーネルパラメータ設定の詳細については、「Oracle カーネルパラメータの設定方法」を参照してください。Oracle 用にシステムリソースを構成したら、インストール自体を開始できます。
(省略可能) Sun Cluster HA for Oracle を Oracle 10g R1 とともに使用している場合、Oracle の cssd デーモンが起動しないようにします。Sun Cluster HA for Oracle を Oracle 10g R2 とともに使用している場合は、この手順は省略します。
Oracle の cssd デーモンのエントリを、Oracle ソフトウェアがインストールされているノードの /etc/inittab ファイルから削除します。このエントリを削除するには、 /etc/inittab ファイルから次の行を削除します。
h1:23:respawn:/etc/init.d/init.cssd run >/dev/null 2>&1 > </dev/null
Sun Cluster HA for Oracle は、Oracle の cssd デーモンを必要としません。したがって、このエントリを削除しても Oracle 10g R1 と Sun Cluster HA for Oracle の動作には影響しません。Oracle のインストールが変わり、Oracle の cssd デーモンが必要になった場合は、/etc/inittab ファイルのこのデーモンに対するエントリを復元します。
Oracle 10g R1Real Application Clusters を使用している場合は、/etc/inittab ファイルから cssd デーモンのエントリを削除しないでください。
Oracle の cssd デーモンのエントリを /etc/inittab ファイルから削除する場合は、不要なエラーメッセージを表示しないように設定しておきます。そのように設定しておかないと、init(1M) コマンドが Oracle の cssd デーモンを起動しようとすることによって不要なエラーメッセージが表示されることがあります。Oracle バイナリファイルを高可用性ローカルファイルシステムまたはクラスタファイルシステムにインストールすると、これらのエラーメッセージが表示されます。Oracle バイナリファイルをインストールしたファイルシステムがマウントされるまで、メッセージは繰り返して表示されます。
エラーメッセージは次のとおりです。
INIT: Command is respawning too rapidly. Check for possible errors. id: h1 "/etc/init.d/init.cssd run >/dev/null 2>&1 >/dev/null" |
Waiting for filesystem containing $CRSCTL. |
x86 プラットフォームで Sun Cluster HA for Oracle を使用している場合は、UNIX Distributed Lock Manager (Oracle UDLM) が使用できないことに関する不要なエラーメッセージも表示されることがあります。
次のイベントが発生すると、これらのメッセージが表示されます。
ノードが非クラスタモードで実行されている。この場合、Sun Cluster が制御するファイルシステムがマウントされることはありません。
ノードをブートしている。この場合、Oracle バイナリファイルがインストールされているファイルシステムを Sun Cluster がマウントするまで、メッセージが繰返し表示されます。
Oracle のインストールが実行されていなかったノードまたはゾーンで、Oracleが起動されたか、あるいは失敗した。このような構成では、Oracle バイナリファイルは高可用性ローカルファイルシステムにインストールされます。この場合、Oracle のインストールが実行されたノードまたはゾーンのコンソールにメッセージが表示されます。
defaultプロジェクトは RGM がデータサービスを実行するためにを使用します。そのため default プロジェクトは Oracle に必要なリソースが含まれるように変更されます。Oracle を実行するために特定の SRM プロジェクトを使用したい場合は、プロジェクトを作成し、そのプロジェクトのシステムリソースを同じ手順で構成する必要があります。default に代わるプロジェクトの名前を指定します。リソースグループまたは Oracle サーバーのリソースを構成する場合、リソースグループまたはリソースの対応するプロパティーにそのプロジェクトの名前を指定します。
default プロジェクトの設定を表示します。
phys-X# prctl -i project default |
カーネルパラメータがまったく設定されていない場合や、いずれかのカーネルパラメータが Oracle に必要な最小値 (次の表を参照) に設定されていない場合は、パラメータを設定します。
phys-X# projmod -s -K "parameter=(priv,value,deny)" default |
Oracle のカーネルパラメータ |
必要な最小値 |
---|---|
process.max-sem-nsems |
256 |
project.max-sem-ids |
100 |
project.max-shm-ids |
100 |
project.max-shm-memory |
4294967295 |
これらのパラメータの詳細については、Oracle10g インストールガイドを参照してください。
新しい設定を確認します。
phys-X# prctl -i project default |
この節では、Oracle のインストールと構成の確認に必要な手順を説明します。
データサービスがまだインストールされていないので、この手順ではアプリケーションが高可用性であるかは確認しません。
$ORACLE_HOME/bin/oracle ファイルの所有者、グループ、およびモードが次のとおりであることを確認します。
所有者: oracle
グループ: dba
モード: -rwsr-s--x
# ls -l $ORACLE_HOME/bin/oracle |
リスナーバイナリが $ORACLE_HOME/bin ディレクトリに存在することを確認します。
この節で説明されている作業を完了したら、「Oracle データベースの作成」 に進みます。
Oracle のインストールと構成を確認した後、必要な Oracle データベースを作成します。スタンバイデータベースなしで Oracle データベースを使用している場合、「プライマリ Oracle データベースの作成方法」 の手順を実行します。この手順は、追加で作成および構成するデータベースでは不要です。Oracle DataGuard を使用している場合、次のデータベースインスタンスを作成します。
プライマリデータベースインスタンス。プライマリデータベースの作成に関する注意点については、「プライマリ Oracle データベースの作成方法」を参照してください。
スタンバイデータベースインスタンス。スタンバイデータベースインスタンスには、物理スタンバイデータベースインスタンスと論理スタンバイデータベースインスタンスがあります。スタンバイデータベースインスタンスの作成に関する注意点については、Oracle のドキュメントを参照してください。
データベース構成ファイルを準備します。
すべてのデータベース関連ファイル (データファイル、REDO ログファイル、および制御ファイル) を、共有 raw グローバルデバイスまたはクラスタファイルシステムのどちらかに配置します。インストール場所については、「ノードとディスクの準備」を参照してください。
データベースが非大域ゾーンに存在する場合は、データベース関連ファイルを共有 raw デバイスに配置しないでください。
init$ORACLE_SID.ora または config$ORACLE_SID.ora ファイルで、control_files および background_dump_dest の割り当てが制御ファイルと警告ファイルの場所を指定するように変更します。
データベースへのログインに Solaris の認証を使用する場合、init$ORACLE_SID.ora ファイルの remote_os_authent 変数を True に設定します。
次のリストの中のユーティリティーを使用して、データベースの作成を開始します。
Oracle インストーラ
Oracle sqlplus(1M) コマンド
Oracle Database Configuration Assistant
作成中、すべてのデータベース関連ファイルが、共有グローバルデバイス、クラスタファイルシステム、または高可用性ローカルファイルシステムのいずれかの適切な場所に配置されていることを確認します。
制御ファイルのファイル名が、構成ファイル内のファイル名と一致していることを確認します。
v$sysstat ビューを作成します。
カタログスクリプトを実行して v$sysstat ビューを作成します。Sun Cluster HA for Oracle 障害モニターでは、このビューを使用します。
この節で説明する作業を完了したら、「Oracle データベースのアクセス権のセットアップ」 に進みます。
Oracle の物理スタンバイデータベースに対しては、この節の手順を実行しないでください。
この節にある手順を実行して、Oracle プライマリデータベースまたは Oracle 論理スタンバイデータベースのデータベースアクセス権限を設定します。
障害モニターに使用するユーザーのアクセスとパスワードを有効にします。
Oracle の認証方式を使用するには、v_$sysstat ビューと v_$archive_dest ビューでこのユーザーに権限を付与します。
# sqlplus "/ as sysdba" sql> create user user identified by passwd; sql> alter user user default tablespace system quota 1m on system; sql> grant select on v_$sysstat to user; sql> grant select on v_$archive_dest to user; sql> grant select on v_$database to user; sql> grant create session to user; sql> grant create table to user; sql> exit; # |
サポートされるすべての Oracle のリリースで、この方式を使用できます。
Solaris の認証方式を使用するには、次の手順を実行します。
remote_os_authent パラメータが TRUE に設定されていることを確認します。
# sqlplus "/ as sysdba" sql> show parameter remote_os_authent NAME TYPE VALUE ---------------------- ----------- --------------- remote_os_authent boolean TRUE |
os_authent_prefix パラメータの設定を決定します。
# sql> show parameter os_authent_prefix NAME TYPE VALUE ---------------------- ----------- --------------- os_authent_prefix string ops$ |
データベースに、Solaris の認証を使用する権限を付与します。
sql> create user prefix user identified by externally default tablespace system quota 1m on system; sql> grant connect, resource to prefix user; sql> grant select on v_$sysstat to prefix user; sql> grant select on v_$archive_dest to prefix user; sql> grant create session to prefix user; sql> grant create table to prefix user; sql> exit; # |
上記コマンドの各項目の意味は次のとおりです。
prefix は os_authent_prefix パラメータの設定です。このパラメータのデフォルト設定は ops$ です。
user は、Solaris の認証を有効にするユーザーです。このユーザーが $ORACLE_HOME ディレクトリの下にあるファイルの所有権を持っていることを確認します。
prefix と user の間にはスペースを入力しません。
Sun Cluster ソフトウェア用に NET8 を構成します。
listener.ora ファイルは、クラスタのすべてのノードまたはゾーンからアクセス可能である必要があります。これらのファイルは、クラスタファイルシステムか、Oracle のリソースを実行する可能性があるそれぞれのノードまたはゾーンのローカルファイルシステムに配置します。
listener.ora ファイルを /var/opt/oracle ディレクトリまたは $ORACLE_HOME/network/admin ディレクトリ以外の場所に配置する場合は、ユーザー環境ファイルの TNS_ADMIN 変数またはそれに相当する Oracle の変数を指定する必要があります。Oracle 変数については、Oracle のドキュメントを参照してください。また、clresource(1CL) コマンドを実行して、ユーザー環境ファイルをソースとするリソース拡張パラメータ User_env も設定する必要があります。形式の詳細については、「SUNW.oracle_listener 拡張プロパティー」または「SUNW.oracle_server 拡張プロパティー」を参照してください。
Sun Cluster HA for Oracle ではリスナーの名前に制限がありません - 有効な Oracle のリスナーの名前なら、何でも使用できます。
次のコーディング例は、listener.ora で更新された行を示します。
LISTENER = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = logical-hostname) <- use logical hostname (PORT = 1527) ) ) . . SID_LIST_LISTENER = . . (SID_NAME = SID) <- Database name, default is ORCL |
次のコーディング例は、クライアントのマシンで更新された tnsnames.ora の行を示します。
service_name = . . (ADDRESS = (PROTOCOL = TCP) (HOST = logicalhostname) <- logical hostname (PORT = 1527) <- must match port in LISTENER.ORA ) ) (CONNECT_DATA = (SID = <SID>)) <- database name, default is ORCL |
次の例は、以下の Oracle のインスタンスに対して listener.ora および tnsnames.ora ファイルを更新する方法を示します。
インスタンス |
論理ホスト |
リスナー |
---|---|---|
ora8 |
hadbms3 |
LISTENER-ora8 |
ora9 |
hadbms4 |
LISTENER-ora9 |
対応する listener.ora のエントリは次のとおりです。
LISTENER-ora9 = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = hadbms4) (PORT = 1530) ) ) SID_LIST_LISTENER-ora9 = (SID_LIST = (SID_DESC = (SID_NAME = ora9) ) ) LISTENER-ora8 = (ADDRESS_LIST = (ADDRESS= (PROTOCOL=TCP) (HOST=hadbms3)(PORT=1806)) ) SID_LIST_LISTENER-ora8 = (SID_LIST = (SID_DESC = (SID_NAME = ora8) ) ) |
対応する tnsnames.ora のエントリは次のとおりです。
ora8 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = hadbms3) (PORT = 1806)) ) (CONNECT_DATA = (SID = ora8)) ) ora9 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = hadbms4) (PORT = 1530)) ) (CONNECT_DATA = (SID = ora9)) ) |
すべてのノードで Sun Cluster ソフトウェアがインストールされ、実行されていることを確認します。
# cluster status + |
「Sun Cluster HA for Oracle パッケージのインストール」 に進んで Sun Cluster HA for Oracle パッケージをインストールします。
初期 Sun Cluster インストール時に Sun Cluster HA for Oracle パッケージをインストールしなかった場合、この手順を実行してパッケージをインストールします。パッケージをインストールするには、Sun Java Enterprise System Common Installer を使用します。
ゾーンクラスタではなく、グローバルクラスタにある Sun Cluster HA for Oracle パッケージをインストールする必要があります。
Sun Cluster HA for Oracle パッケージをインストールする各クラスタノードに対して、この手順を実行します。
コマンド行インターフェース (CLI) またはグラフィカルユーザーインタフェース (GUI) を使用して、Sun Java Enterprise System Common Installer を実行することができます。CLI および GUI の内容および順序は類似しています。
このデータサービスを構成して非大域ゾーンで実行することを計画している場合でも、グローバルゾーンにこのデータのパッケージをインストールします。パッケージは、任意の既存の非大域ゾーンおよびパッケージをインストールしたあとに作成された非大域ゾーンに伝達されます。
Sun JavaTM Availability Suite DVD-ROM があることを確認します。
GUI を使用して Sun Java Enterprise System Common Installer を実行することを意図している場合、DISPLAY 環境変数が設定されていることを確認します。
データサービスパッケージをインストールするクラスタノード上で、スーパーユーザーになります。
Sun Java Availability Suite DVD-ROM を DVD-ROM ドライブに読み込みます。
ボリューム管理デーモン vold(1M) が実行中で、DVD-ROM デバイスを管理するために設定されている場合、デーモンは自動的に DVD-ROM を /cdrom ディレクトリにマウントします。
DVD-ROM の Sun Java Enterprise System Common Installerディレクトリに移動します。
Sun Java Enterprise System Common Installer を起動します。
# ./installer |
プロンプトが表示されたら、ライセンス契約を受け入れます。
Sun Java Enterprise System コンポーネントがインストールされている場合、コンポーネントを更新するか、新しいソフトウェアをインストールするかを選択するプロンプトが表示されます。
使用可能なサービスの Sun Cluster エージェントのリストから、Oracle のデータサービスを選択します。
英語以外の言語のサポートが必要な場合、多言語パッケージをインストールするオプションを選択します。
英語のサポートは常にインストールされます。
データサービスを今すぐまたはあとで構成するかを尋ねるプロンプトが表示されたら、[あとで構成] を選択します。
[あとで構成] を選択して、インストール後に構成を実行します。
画面の指示に従い、データサービスパッケージをノード上にインストールします。
Sun Java Enterprise System Common Installer によって、インストールの状態が表示されます。インストールが完了すると、ウィザードによってインストールの概要およびインストールログが表示されます。
(GUI のみ) 製品を登録せず、製品のアップデートを受け取らない場合は、製品登録オプションを選択解除します。
CLI では製品登録オプションは使用できません。CLI を使用して Sun Java Enterprise System Common Installer を実行している場合は、このステップは省略します。
Sun Java Enterprise System Common Installer を終了します。
DVD-ROM ドライブから、Sun Java Availability Suite DVD-ROM を読み取り解除します。
Sun Cluster HA for Oracle を登録し、データサービス用にクラスタを設定するには、「Sun Cluster HA for Oracle の登録と構成」を参照してください。
Sun Cluster は、Sun Cluster HA for Oracle の登録と構成のための以下のツールを提供します。
clsetup(1CL) ユーティリティー。詳細については、「clsetup ユーティリティーを使用して、Sun Cluster HA for Oracle を登録および構成する方法」を参照してください。
Sun Cluster Manager。詳細については、Sun Cluster Manager のオンラインヘルプを参照してください。
Sun Cluster 保守コマンド。詳細については、「ASM を使用しないで Sun Cluster メンテナンスコマンドを使用して Sun Cluster HA for Oracle を登録および構成する方法」を参照してください。
clsetup ユーティリティーと Sun Cluster Manager のそれぞれには、Sun Cluster HA for Oracle を構成するウィザードがあります。ウィザードは、コマンドの構文エラーや省略から生じる構成エラーの可能性を低減します。また、これらのウィザードは、すべての必須リソースが作成され、リソース間で必要なすべての依存関係が設定されるようにします。
NULL の拡張プロパティーを使用してリソースを作成します。リソースの拡張プロパティーを設定するには、リソースを作成または変更する clresource(1CL) コマンドにオプション -p property=value を指定します。すでにリソースを作成している場合は、『Sun Cluster Data Services Planning and Administration Guide for Solaris OS』の第 2 章「Administering Data Service Resources」の手順を使用して、拡張プロパティーを構成します。一部の拡張プロパティーは、動的に更新できます。ただし、ほかはリソースを作成するときか、無効にするときだけ更新できます。「調整可能」なエントリでは、それぞれのプロパティーを更新できます。すべての Sun Cluster プロパティーについては、『Sun Cluster Data Services Planning and Administration Guide for Solaris OS』の付録 B「Standard Properties」を参照してください。
「SUNW.oracle_server 拡張プロパティー」 は、Oracle のサーバーに対して設定できる拡張プロパティーを説明します。Oracle サーバーでは、次の拡張プロパティーの設定だけが必要です。
ORACLE_HOME
ORACLE_SID
Alert_log_file
Connect_string
この手順では、Sun Cluster の保守コマンドの長い形式を使用します。多くのコマンドには短縮形もあります。コマンド名の形式を除き、コマンドは同じです。コマンドリストとコマンドの短縮形については、『Sun Cluster 3.1 - 3.2 Hardware Administration Manual for Solaris OS』の付録 A「Sun Cluster Geographic Edition Object-Oriented Commands」を参照してください。
clsetup ユーティリティーは、ZFSでの Sun Cluster HA for Oracle 構成をサポートしません。
次の前提条件を満たしていることを確認します。
クラスタのボリュームマネージャーが、Oracle を実行する可能性がある任意のノードからアクセスできる共有ストレージのボリュームを提供するように構成されている。
Oracle がデータベースのために使用するストレージボリュームに raw デバイスおよびファイルシステムが作成されている。
Oracle ソフトウェアが、Oracle を実行する可能性があるすべてのノードまたはゾーンからアクセスできるようにインストールされている。
UNIX オペレーティングシステムのカーネル変数が、Oracle 用に構成されている。
Oracle ソフトウェアが、Oracle を実行する可能性があるすべてのノードまたはゾーンに対して構成されている。
データサービスパッケージがインストールされている。
次の情報を用意してください。
データサービスをマスターするクラスタのノードまたはゾーンの名前。
クライアントがデータサービスにアクセスするために使用する論理ホスト名。通常は、クラスタをインストールする際に、この IP アドレスを設定します。ネットワークリソースの詳細については、『Sun Cluster Concepts Guide for Solaris OS』を参照してください。
リソースの構成を行う予定の Oracle アプリケーションのバイナリファイルへのパス。
データベースのタイプ。
任意のクラスタノードでスーパーユーザーになります。
clsetup ユーティリティーを起動します。
# clsetup |
clsetup のメインメニューが表示されます。
データサービスのオプションに対応する番号を入力し、Return キーを押します。
データサービス メニューが表示されます。
Sun Cluster HA for Oracle の構成のオプションに対応する番号を入力し、Return キーを押します。
clsetup ユーティリティーは、この作業を実行するための前提条件のリストを表示します。
前提条件が満たされていることを確認し、Return キーを押します。
clsetup ユーティリティーに、クラスタノードのリストが表示されます。
Oracle を実行するノードまたはゾーンを選択します。
任意の順序で並んでいる一覧表示されたすべてのノードまたはゾーンのデフォルト選択をそのまま使用するには、Return キーを押します。
一覧表示されたノードまたはゾーンのサブセットを選択するには、ノードまたはゾーンに対応する番号をコンマまたは空白で区切って並べて入力します。続いて、Return キーを押します。
ノードまたはゾーンが、Oracle リソースを配置するリソースグループのノードリストに表示される順序で一覧表示されていることを確認します。リストの最初のノードまたはゾーンは、このリソースグループの一次ノードまたはゾーンです。
特定の順序ですべてのノードまたはゾーンを選択するには、ノードまたはゾーンに対応する番号のコンマ区切りまたはスペース区切りの順序付きリストを入力し、Return キーを押します。
ノードまたはゾーンが、Oracle リソースを配置するリソースグループのノードリストに表示される順序で一覧表示されていることを確認します。リストの最初のノードまたはゾーンは、このリソースグループのプライマリのノードまたはゾーンです。
ノードまたはゾーンの選択を確定するには、d を入力して、Return キーを押します。
clsetup ユーティリティーに、構成する Oracle コンポーネントのタイプが表示されます。
構成する Oracle コンポーネントの番号を入力して、Return キーを押します。
clsetup ユーティリティーに、Oracle のホームディレクトリが一覧表示されます。
Oracle ソフトウェアをインストールする Oracle ホームディレクトリを指定します。
構成する Oracle データベースの Oracle SID を指定します。
clsetup ユーティリティーに、このユーティリティーが作成する Sun Cluster リソースのプロパティーが表示されます。
Sun Cluster リソースのプロパティーに別の名前が必要な場合は、それぞれの名前を次のように変更します。
変更する名前に対応する番号を入力し、Return キーを押します。
clsetup ユーティリティーは、新しい名前を指定できる画面を表示します。
「新しい値」プロンプトで、新しい名前を入力し、Return キーを押します。
clsetup ユーティリティーは、このユーティリティーが作成する Sun Cluster リソースのプロパティーのリストに戻ります。
Sun Cluster リソースのプロパティーの選択を確定するには、d を入力して、Return キーを押します。
clsetup ユーティリティーに、既存のストレージリソースのリストが表示されます。ストレージリソースが使用できない場合、clsetup ユーティリティーに、データを格納する共有ストレージの種類のリストが表示されます。
データの格納に使用する共有ストレージの種類に対応する番号を入力し、Return キーを押します。
clsetup ユーティリティーに、クラスタ内に構成されているファイルシステムのマウントポイントが表示されます。
次のように、ファイルシステムのマウントポイントを選択します。
任意の順序で一覧表示されたすべてのファイルシステムのマウントポイントのデフォルト選択をそのまま使用するには、a と入力します。続いて、Return キーを押します。
一覧表示されたファイル a システムのマウント イントのサブセットを選択するには、ファイルシステムのマウントポイントに対応する番号の、コンマまたはスペースで区切られたリストを入力します。続いて、Return キーを押します。
clsetup ユーティリティーは、クラスタ内で構成されている広域ディスクセットとデバイスグループを表示します。
次のようにデバイスグループを選択します。
任意の順序で並んでいる一覧表示されたすべてのデバイスグループのデフォルト選択をそのまま使用するには、a と入力し、Return キーを押します。
一覧表示されたデバイスグループのサブセットを選択するには、デバイスグループに対応する番号の、コンマまたはスペースで区切られたリストを入力し、Return キーを押します。
clsetup ユーティリティーは、高可用性ストレージリソースのリストに戻ります。
データサービスに必要なストレージリソースに対応する番号のコンマまたはスペースで区切られたリストを入力し、Return キーを押します。
Sun Cluster ストレージリソースの選択を確定するには、d を入力して、Return キーを押します。
clsetup ユーティリティーに、クラスタ内のすべての既存の論理ホスト名リソースが表示されます。使用できる論理ホスト名リソースがない場合、clsetup ユーティリティーから、リソースを高可用性にする論理ホスト名を入力するよう求められます。
論理ホスト名を指定し、Return キーを押します。
clsetup ユーティリティーは、使用できる論理ホスト名リソースのリストに戻ります。
データサービスに必要な論理ホスト名リソースに対応する番号のコンマまたはスペースで区切られたリストを入力し、Return キーを押します。
Sun Cluster 論理ホスト名リソースの選択を確定するには、d を入力して、Return キーを押します。
clsetup ユーティリティーは、このユーティリティーが作成する Sun Cluster オブジェクトの名前を表示します。
Sun Cluster オブジェクトに別の名前が必要である場合、それぞれの名前を次のように変更します。
Sun Cluster オブジェクト名の選択を確認するには、d を入力して、Return キーを押します。
構成を作成するには、c を入力し、Return キーを押します。
clsetup ユーティリティーは、構成を作成するためにこのユーティリティーがコマンドを実行していることを示す進行状況のメッセージを表示します。構成が完了した時点で、clsetup ユーティリティーは、構成を作成するためにユーティリティーが実行したコマンドを表示します。
Return キーを押して続けます。
(省略可能) clsetup ユーティリティーが終了するまで、繰り返し q を入力し、Return キーを押します。
必要に応じて、ほかの必要な作業を実行している間、clsetup ユーティリティーを動作させたままにし、そのあとでユーティリティーを再度使用することができます。
この手順では、Sun Cluster の保守コマンドの長い形式を使用します。多くのコマンドには短縮形もあります。コマンド名の形式を除き、コマンドは同じです。コマンドリストとコマンドの短縮形については、『Sun Cluster 3.1 - 3.2 Hardware Administration Manual for Solaris OS』の付録 A「Sun Cluster Geographic Edition Object-Oriented Commands」を参照してください。
次の前提条件を満たしていることを確認します。
クラスタのボリュームマネージャーが、Oracle を実行する可能性がある任意のノードからアクセスできる共有ストレージのボリュームを提供するように構成されている。
Oracle がデータベースのために使用するストレージボリュームに raw デバイスおよびファイルシステムが作成されている。
Oracle ソフトウェアが、Oracle を実行する可能性があるすべてのノードまたはゾーンからアクセスできるようにインストールされている。
UNIX オペレーティングシステムのカーネル変数が、Oracle 用に構成されている。
Oracle ソフトウェアが、Oracle を実行する可能性があるすべてのノードまたはゾーンに対して構成されている。
データサービスパッケージがインストールされている。
次の情報を用意してください。
データサービスをマスターするクラスタのノードまたはゾーンの名前。
クライアントがデータサービスにアクセスするために使用する論理ホスト名。通常は、クラスタをインストールする際に、この IP アドレスを設定します。ネットワークリソースの詳細については、『Sun Cluster Concepts Guide for Solaris OS』を参照してください。
リソースの構成を行う予定の Oracle アプリケーションのバイナリファイルへのパス。
データベースのタイプ。
クラスタメンバーで、スーパーユーザーになるか、solaris.cluster.modify および solaris.cluster.admin RBAC の承認を提供する役割になります。
データサービスのリソースタイプを登録します。
Sun Cluster HA for Oracle に対して、次のように SUNW.oracle_server と SUNW.oracle_listener の 2 つのリソースタイプを登録します。
# clresourcetype register SUNW.oracle_server # clresourcetype register SUNW.oracle_listener |
フェイルオーバーリソースグループを作成して、ネットワークとアプリケーションのリソースを保持します。
高可用性ローカル ZFS を構成したときにリソースグループを作成したため、Solaris ZFS を使用する場合は、この手順は不要です。この手続きの別の手順で作成したリソースは、このリソースグループに追加する必要があります。
オプションとして、次のようにデータサービスを -n オプションで実行できるノードまたはゾーンのセットを選択できます。
# clresourcegroup create [-n node-zone-list] resource-group |
このリソースグループをマスターできるゾーンの、コンマ区切りの順序付けされたリストを指定します。リスト内の各エントリの形式は node:zone です。この形式では、 node はノードの名前または ID を指定し、zone は非大域 Solaris ゾーンの名前を指定します。大域ゾーンを指定する、または非大域ゾーンを持たないノードを指定するには、node のみを指定します。
このリストの順番が、フェイルオーバー中にプライマリであると考えられるノードまたはゾーンの順番を決定します。このリストはオプションです。このリストを省略すると、各クラスタの大域ゾーンはリソースグループをマスターできます。
リソースグループの名前を指定します。これには任意の名前が指定できますが、クラスタ内のリソースグループで一意である必要があります。
使用するすべてのネットワークリソースがネームサービスのデータベースに追加されていることを確認します。
Sun Cluster のインストールの間に、この確認を実行する必要があります。
ネームサービスの検索による障害を避けるために、すべてのネットワークリソースがサーバーとクライアントの /etc/inet/hosts ファイルに存在することを確認します。
論理ホスト名リソースをフェイルオーバーリソースグループに追加します。
# clreslogicalhostname create -g resource-group [-h logicalhostname] \ logicalhotname-rs |
論理ホスト名を指定します。この論理ホスト名は、ネームサービスデータベースに存在する必要があります。logicalhostname と logicalhostname-rs が同一なら、logicalhostname は省略可能です。
作成している論理ホスト名リソースに割り当てる名前を指定します。
クラスタにSUNW.HAStoragePlus リソースタイプを登録します。
# clresourcetype register SUNW.HAStoragePlus |
タイプ SUNW.HAStoragePlus のリソースをフェイルオーバーリソースグループに追加します。
非大域ゾーンでは、Sun Cluster デバイスグループの raw デバイスはサポートされません。
非大域ゾーンでサポートされる必要がある場合は、SUNW.HAStoragePlus リソースタイプはバージョン 4 でなければなりません。
Oracle ファイルに Solaris ZFS を使用する場合は、この手順を省略します。SUNW.HAStoragePlus リソースは、高可用性ローカル ZFS を構成したときに作成されています。詳細については、「ノードの準備方法」を参照してください。
# clresource create -g resource-group -t SUNW.HAStoragePlus \ -p GlobalDevicePaths=device-path \ -p FilesystemMountPoints=mount-point-list \ -p AffinityOn=TRUE hastp-rs |
GlobalDevicePaths 拡張プロパティーまたは FilesystemMountPoints 拡張プロパティーのどちらかを設定する必要があります。
データベースが raw デバイスにある場合は、GlobalDevicePaths 拡張プロパティーをグローバルデバイスのパスに設定します。
データベースがクラスタファイルシステムにある場合は、クラスタファイルシステムおよびローカルファイルシステムのマウントポイントを指定します。
AffinityOn は TRUE に設定し、ローカルファイルシステムはフェイルオーバーであるグローバルディスクグループにある必要があります。
リソースは有効状態で作成されます。
クラスタのノードまたはゾーンで管理状態にあるフェイルオーバーリソースグループをオンラインにします。
# clresourcegroup online -M resource-group |
オンラインになったリソースグループを管理状態にします。
フェイルオーバーリソースグループで、Oracle アプリケーションリソースを作成します。
Oracle サーバーリソース:
# clresource create -g resourcegroup \ -t SUNW.oracle_server \ -p Connect_string=user/passwd \ -p ORACLE_SID=instance \ -p ORACLE_HOME=Oracle-home \ -p Alert_log_file=path-to-log \ -p Restart_type=entity-to-restart \ [-p Dataguard_role=role] \ [-p Standby_mode=mode] \-p resource_dependencies=storageplus-resource \ resource |
Oracle リスナーリソース:
# clresource create -g resource-group \ -t SUNW.oracle_listener \ -p LISTENER_NAME=listener \ -p ORACLE_HOME=Oracle-home \ -p resource_dependencies=storageplus-resource resource |
リソースを配置するリソースグループの名前を指定します。
追加するリソースのタイプを指定します。
サーバーのメッセージログのパスの $ORACLE_HOME 以下を設定します。
障害モニターがデータベースへの接続に使用するユーザーおよびパスワードを指定します。この設定は、「Oracle データベースのアクセス権を設定する」 で設定したアクセス権と一致している必要があります。Solaris の認証を使用する場合は、ユーザー名とパスワードの代わりにスラッシュ (/) を入力します。
Oracle システム識別子を設定します。
Oracle リスナーインスタンスの名前を設定します。この名前は、listener.ora の対応するエントリと一致している必要があります。
Oracle のホームディレクトリへのパスを設定します。
障害への応答が再起動されたときに、サーバーの障害モニターが再起動させるエンティティーを指定します。entity-to-restart は、次のように設定します。
このリソースだけが再起動するように指定するには、 entity-to-restart を RESOURCE_RESTART に設定します。デフォルトでは、このリソースだけが再起動されます。
このリソースを含むリソースグループのすべてのリソースが再起動されるように指定するには、entity-to-restart を RESOURCE_GROUP_RESTART に設定します。
entity-to-restart を RESOURCE_GROUP_RESTART に設定すると、たとえ障害がなくても、リソースグループのほかのすべてのリソース (Apache または DNS など) が再起動されます。したがって、リソースグループには、Oracle サーバーリソースを再起動したときに、再起動する必要があるリソースだけを含めます。
データベースインスタンスのロールを指定します。 role を以下のように変更します。
スタンバイインスタンスが構成されていないプライマリデータベースインスタンスのリソースを作成するには、role を NONE に変更します。この値は、デフォルト値です。
スタンバイインスタンスが構成されていないプライマリデータベースインスタンスのリソースを作成し、role を PRIMARY に変更します。
スタンバイデータベースのインスタンスを作成するには、 role を STANDBY に変更します。
スタンバイデータベースインスタンスのモードを指定します。Dataguard_role を NONE または PRIMARY に変更すると、Standby_modeの値は無視されます。
論理スタンバイデータベースを指定し、モード を LOGICAL に変更します。この値は、デフォルト値です。
物理スタンバイデータベースを指定し、モード を LOGICAL に変更します。
作成するリソースグループの名前を指定します。
オプションとして、Oracle のデータサービスに属している追加の拡張プロパティを設定して、それらのデフォルト値を上書きすることが可能です。拡張プロパティーのリストについては、「Sun Cluster HA for Oracle 拡張プロパティーの設定」を参照してください。
リソースは有効状態で作成されます。
次の例は、2-ノードのクラスタでの Sun Cluster HA for Oracle の登録方法を示しています。
Cluster Information Node names: phys-schost-1, phys-schost-2 Logical Hostname: schost-1 Resource group: resource-group-1 (failover resource group) HAStoragePlus Resource: hastp-rs Oracle Resources: oracle-server-1, oracle-listener-1 Oracle Instances: ora-lsnr (listener), ora-srvr (server) (Create the failover resource group to contain all of the resources.) # clresourcegroup create resource-group-1 (Add the logical hostname resource to the resource group.) # clreslogicalhostname create -g resource-group-1 schost-1 (Register the SUNW.HAStoragePlus resource type.) # clresourcetype register SUNW.HAStoragePlus (Add a resource of type SUNW.HAStoragePlus to the resource group.) # clresource create -g resource-group-1 -t SUNW.HAStoragePlus \ -p FileSystemMountPoints=/global/oracle,/global/ora-data/logs,local/ora-data \ -p AffinityOn=TRUE hastp-rs (Bring the resource group online in a managed state # clresourcegroup online -M resource-group-1 (Register the Oracle resource types.) # clresourcetype register SUNW.oracle_server # clresourcetype register SUNW.oracle_listener (Add the Oracle application resources to the resource group.) # clresource create -g resource-group-1 \ -t SUNW.oracle_server -p ORACLE_HOME=/global/oracle \ -p Alert_log_file=/global/oracle/message-log \ -p ORACLE_SID=ora-srvr -p Connect_string=scott/tiger \ -p Dataguard_role=STANDBY -p Standby_mode=PHYSICAL oracle-server-1 # clresource create -g resource-group-1 \ -t SUNW.oracle_listener -p ORACLE_HOME=/global/oracle \ -p LISTENER_NAME=ora-lsnr oracle-listener-1 |
次の例は、2-ノードのクラスタでの Sun Cluster HA for Oracle の登録方法を示しています。
Cluster Information Node names: phys-schost-1, phys-schost-2 Non-global zone names: sc1zone1, sc2zone1 Logical Hostname: schost-1 Resource group: resource-group-1 (failover resource group) HAStoragePlus Resource: hastp-rs Oracle Resources: oracle-server-1, oracle-listener-1 Oracle Instances: ora-lsnr (listener), ora-srvr (server) (Create the failover resource group to contain all of the resources.) # clresourcegroup create phys-schost-1:sc1zone1,phys-schost-2:sc2zone1 \ resource-group-1 (Add the logical hostname resource to the resource group.) # clreslogicalhostname create -g resource-group-1 schost-1 (Register the SUNW.HAStoragePlus resource type.) # clresourcetype register SUNW.HAStoragePlus (Add a resource of type SUNW.HAStoragePlus to the resource group.) # clresource create -g resource-group-1 -t SUNW.HAStoragePlus \ -p FileSystemMountPoints=/global/oracle,/global/ora-data/logs,local/ora-data \ -p AffinityOn=TRUE hastp-rs (Bring the resource group online in a managed state # clresourcegroup online -M resource-group-1 (Register the Oracle resource types.) # clresourcetype register SUNW.oracle_server # clresourcetype register SUNW.oracle_listener (Add the Oracle application resources to the resource group.) # clresource create -g resource-group-1 \ -t SUNW.oracle_server -p ORACLE_HOME=/global/oracle \ -p Alert_log_file=/global/oracle/message-log \ -p ORACLE_SID=ora-srvr -p Connect_string=scott/tiger \ -p Dataguard_role=STANDBY -p Standby_mode=PHYSICAL oracle-server-1 # clresource create -g resource-group-1 \ -t SUNW.oracle_listener -p ORACLE_HOME=/global/oracle \ -p LISTENER_NAME=ora-lsnr oracle-listener-1 |
次の例は、ゾーンクラスタでの Sun Cluster HA for Oracle の登録方法を示しています。
Cluster Information Node names: phys-schost-1, phys-schost-2 zone cluster names: zonecluster1, zonecluster2 Logical Hostname: zchost-1 Resource group: resource-group-1 (failover resource group) HAStoragePlus Resource: hastp-rs Oracle Resources: oracle-server-1, oracle-listener-1 Oracle Instances: ora-lsnr (listener), ora-srvr (server) (Create the failover resource group to contain all of the resources.) # clresourcegroup create -Z zonecluster1 resource-group-1 (Add the logical hostname resource to the resource group.) # clreslogicalhostname create -Z zonecluster1 -g resource-group-1 zchost-1 (Register the SUNW.HAStoragePlus resource type.) # clresourcetype register -Z zonecluster1 SUNW.HAStoragePlus (Add a resource of type SUNW.HAStoragePlus to the resource group.) # clresource create -Z zonecluster1 -g resource-group-1 -t SUNW.HAStoragePlus \ -p FileSystemMountPoints=/global/oracle,/global/ora-data/logs,local/ora-data \ -p AffinityOn=TRUE hastp-rs (Bring the resource group online in a managed state # clresourcegroup online -Z zonecluster1 -M resource-group-1 (Register the Oracle resource types.) # clresourcetype register -Z zonecluster1 SUNW.oracle_server # clresourcetype register -Z zonecluster1 SUNW.oracle_listener (Add the Oracle application resources to the resource group.) # clresource create -Z zonecluster1 -g resource-group-1 \ -t SUNW.oracle_server -p ORACLE_HOME=/global/oracle \ -p Alert_log_file=/global/oracle/message-log \ -p ORACLE_SID=ora-srvr -p Connect_string=scott/tiger \ -p Dataguard_role=STANDBY -p Standby_mode=PHYSICAL oracle-server-1 # clresource create -Z zonecluster1 -g resource-group-1 \ -t SUNW.oracle_listener -p ORACLE_HOME=/global/oracle \ -p LISTENER_NAME=ora-lsnr oracle-listener-1 |
この手順は、ASM のための Oracle_Home がローカルファイルシステムにある場合に、Sun Cluster メンテナンスコマンドを使用するシングルインスタンス ASM を登録および構成する手順を説明します。
ASM ディスクグループと Oracle データベースは、別のリソースグループで構成できます。ASM ディスクグループと Oracle データベースを別のリソースグループで構成する場合、ASM ディスクグループのリソースグループと Oracle データベースのリソースグループの間に強い正のアフィニティー (+++) を設定する必要があります。
クラスタメンバーで、スーパーユーザーになるか、solaris.cluster.modify および solaris.cluster.admin RBAC の承認を提供する役割になります。
データサービスの ASM リソースタイプを登録します。
# clresourcetype register SUNW.scalable_asm_instance # clresourcetype register SUNW.asm_diskgroup |
ASM インスタンスのスケーラブルなリソースグループ asm-inst-rg を作成します。
# clresourcegroup create -S asm-inst-rg |
ASM インスタンスのスケーラブルなリソースグループの名前を指定します。
論理ホスト名リソースを asm-dg-rg リソースグループに追加します。
# clreslogicalhostname create -g asm-dg-rg [-h logicalhostname] \ logicalhotname-rs |
論理ホスト名を指定します。この論理ホスト名は、ネームサービスデータベースに存在する必要があります。logicalhostname と logicalhostname-rs が同一なら、logicalhostname は省略可能です。
作成している論理ホスト名リソースに割り当てる名前を指定します。
タイプ SUNW.scalable_asm_instance のリソースを asm-inst-rg リソースグループに追加します。
# clresource create -g asm-inst-rg -t SUNW.scalable_asm_instance -p ORACLE_HOME=oracle-home \ -d asm-inst-rs |
ASM インスタンスのリソースグループの名前を指定します。
Oracle のホームディレクトリへのパスを設定します。
作成する ASM インスタンスのリソースグループの名前を指定します。
クラスタノードで管理状態にあるスケーラブルなリソースグループをオンラインにします。
# clresourcegroup online -eM asm-inst-rg |
ASM ディスクリソースグループ asm-dg–rg を作成します。
# clresourcegroup create asm-dg-rg |
ASM ディスクグループに asm-dg-rg との強い正のアフィニティーを設定します。
# clresourcegroup set -p rg_affinities=++asm-inst-rg asm-dg-rg |
タイプ SUNW.asm_diskgroup のリソースを asm-dg-rg リソースグループに追加します。
# clresource create -g asm-dg-rg -t SUNW.asm_diskgroup -p asm_diskgroups=dg \ -p resource_dependencies_offline_restart=asm-inst-rs -d asm-dg-rs |
管理状態の ASM ディスクリソースグループをオンラインにします。
# clresource online -eM asm-dg-rg |
ステータスコマンドを発行して Oracle の ASM のインストールを確認します。
# clresource status + |
Sun Cluster HA for Oracle データサービスのリソースタイプを登録します。
Sun Cluster HA for Oracle に対して、次のように SUNW.oracle_server と SUNW.oracle_listener のリソースタイプを登録します。
# clresourcetype register SUNW.oracle_server # clresourcetype register SUNW.oracle_listener |
フェイルオーバーリソースグループで、Oracle アプリケーションリソースを作成します。
Oracle サーバーリソース:
# clresource create -g asm-dg-rg \ -t SUNW.oracle_server \ -p Connect_string=user/passwd \ -p ORACLE_SID=instance \ -p ORACLE_HOME=Oracle-home \ -p Alert_log_file=path-to-log \ -p Restart_type=entity-to-restart \ -p Resource_dependencies_offline_restart=asm-dg-rs \ -d ora-db-rs |
Oracle リスナーリソース:
# clresource create -g asm-dg-rg \ -t SUNW.oracle_listener \ -p LISTENER_NAME=listener \ -p ORACLE_HOME=Oracle-home \ -p resource_dependencies_offline_restart=asm-dg-rs logicalhostname-rs \ -d ora-lsr-rs |
リソースを配置する ASM ディスクリソースグループの名前を指定します。
追加するリソースのタイプを指定します。
サーバーのメッセージログのパスの $ORACLE_HOME 以下を設定します。
障害モニターがデータベースへの接続に使用するユーザーおよびパスワードを指定します。この設定は、「Oracle データベースのアクセス権を設定する」 で設定したアクセス権と一致している必要があります。Solaris の認証を使用する場合は、ユーザー名とパスワードの代わりにスラッシュ (/) を入力します。
Oracle システム識別子を設定します。
Oracle リスナーインスタンスの名前を設定します。この名前は、listener.ora の対応するエントリと一致している必要があります。
Oracle のホームディレクトリへのパスを設定します。
オプションとして、Oracle のデータサービスに属している追加の拡張プロパティーを設定して、それらのデフォルト値を上書きすることが可能です。拡張プロパティーのリストについては、「Sun Cluster HA for Oracle 拡張プロパティーの設定」を参照してください。
Oracle サーバーのリソースをオンラインにします。
# clresource enable ora-db-rs |
Oracle リスナーのリソースをオンラインにします。
# clresource enable ora-lsr-rs |
この手順は、Sun Cluster メンテナンスコマンドを使用してクラスタ ASM インスタンスの Sun Cluster HA for Oracle を登録および構成する手順を説明します。
この手順を実行する前に、Oracle CRS ソフトウェアをインストールしておく必要があります。
クラスタメンバーで、スーパーユーザーになるか、solaris.cluster.modify および solaris.cluster.admin RBAC の承認を提供する役割になります。
また、clsetup ユーティリティーを使用して、この手順のステップ 1 から 6 を実行することも可能です。
Oracle RAC フレームワークおよび CRS フレームワークのリソースタイプを登録します。
# clresourcetype register SUNW.rac_framework # clresourcetype register SUNW.crs_framework |
スケーラブルなリソースグループ rac-fmwk-rg を作成します。
# clresourcegroup create -S rac-fmwk-rg |
タイプ SUNW.rac_framework のリソースを rac-fmwk-rg リソースグループに追加します。
# clresource create -g rac-fmwk-rg -t SUNW.rac_framework rac-fmwk-rs |
タイプ SUNW.crs_framework のリソースを rac-fmwk-rg リソースグループに追加します。
# clresource create -g rac-fmwk-rg -t SUNW.crs_framework \ -p resource_dependencies=rac-fmwk-rs \ -d crs-fmwk-rs |
Oracle データベースに対してフェイルオーバーリソースグループ ora-db-rg を作成します。
# clresourcegroup create ora-db-rg |
SPARC: SPARC を使用している場合は、次の手順を実行します。使用していなければ、手順 8 へ進みます。
この手順を実行できるのは、ASM ソフトウェアのインストールの前に ORCLudlm をインストールしている場合だけです。
使用しているファイルシステムに適したリソースタイプを登録し、リソースグループを作成します。
Oracle_Home に使用するファイルシステムを決定し、この手順を実行する前にファイルシステムを設定します。ファイルシステムの設定については、「ノードとディスクの準備」を参照してください。
QFS 共有ファイルシステムを使用している場合、次の手順を実行して QFS 共有ファイルシステムのリソースタイプを登録し、リソースグループを作成します。使用していない場合は、SUNW.HAStoragePlus リソースタイプを使用する必要があります。
QFS 共有ファイルシステムを使用している場合、次の手順を実行して QFS 共有ファイルシステムのリソースタイプを登録し、リソースグループを作成します。使用していない場合は、SUNW.HAStoragePlus リソースタイプを使用する必要があります。
QFS 共有ファイルシステムのリソースタイプを登録します。
# clresourcetype register SUNW.qfs |
リソースグループ qfs-rg を作成します。
# clresourcegroup create qfs-rg |
タイプ SUNW.qfs のリソースを qfs-rg リソースグループに追加します。
# clresource create -g qfs-rg -t SUNW.qfs -p QFSFileSystem=qfs-mp qfs-rs |
リソースグループの名前を指定します。
追加するリソースのタイプを指定します。
QFS 共有ファイルシステムのマウントポイントを指定します。
作成する QFS 共有ファイルシステムリソースの名前を指定します。
クラスタノードで管理状態にある qfs-rg リソースグループをオンラインにします。
# clresourcegroup online -eM qfs-rg |
SUNW.ScalMountPoint のリソースタイプを登録します。
# clresourcetype register SUNW.ScalMountPoint |
スケーラブルなリソースグループ scal-mp-rg を作成します。
# clresourcegroup create -S scal-mp-rg |
タイプ SUNW.ScalMountPoint のリソースを scal-mp-rg リソースグループに追加します。
# clresource create -g scal-mp-rg -t SUNW.ScalMountPoint \ -p mountpointdir=mount-point \ -p filesystemtype=s-qfs \ -p targetfilesystem=qfs-name \ -p resource_dependencies=qfs-rs \ -d scal-mp-rs |
スケーラブルなリソースグループの名前を指定します。
追加するリソースのタイプを指定します。
ファイルシステムをマウントするディレクトリを指定します。
使用するファイルシステムのタイプを指定します。
このマウントポイントにマウントするファイルシステムの名前を指定します。
作成するマウントポイントのリソースの名前を指定します。
クラスタノードで管理状態にある scal-mp-rg リソースグループをオンラインにします。
# clresourcegroup online -eM scal-mp-rg |
QFS 共有ファイルシステム以外のファイルシステムを使用する場合は、次の手順を実行して SUNW.HAStoragePlus リソースタイプを登録し、リソースグループを作成します。
SUNW.HAStoragePlus リソースタイプのリソースタイプを登録します。
# clresourcetype register SUNW.HAStoragePlus |
タイプ SUNW.HAStorgePlus のリソースを ora-db-rg リソースグループに追加します。
# clresource create -g ora-db-rg -t SUNW.HAStoragePlus \ -p filesystemmountpoints=mount-point-list -d hastp-rs |
クラスタノードで管理状態にある ora-db-rg リソースグループをオンラインにします。
# clresourcegroup online -eM ora-db-rg |
データサービスの ASM リソースタイプを登録します。
# clresourcetype register SUNW.scalable_asm_instance_proxy # clresourcetype register SUNW.asm_diskgroup |
リソースグループ asm-inst-rg および asm-dg-rg を作成します。
# clresourcegroup create -S asm-inst-rg asm-dg-rg |
rac-fmwk-rg に asm-inst-rg との強い正のアフィニティーを設定します。
# clresourcegroup set -p rg_affinities=++rac-fmwk-rg asm-inst-rg |
asm-inst-rg に asm-dg-rg との強い正のアフィニティーを設定します。
# clresourcegroup set -p rg_affinities=++asm-inst-rg asm-dg-rg |
タイプ SUNW.crs_framework のリソースを rac-fmwk-rg リソースグループに追加します。
# clresource create -g rac-fmwk-rg -t SUNW.crs_framework \ -p resource_dependencies=rac-fmwk-rs \ -d crs-fmwk-rs |
タイプ SUNW.scalable_asm_instance_proxy のリソースを asm-inst-rg リソースグループに追加します。
# clresource create -g asm-inst-rg -t SUNW.asm_instance_proxy \ -p ORACLE_HOME=oracle-home \ -p crs_home=crs-home \ -p "oracle_sid{node1}"=instance \ -p "oracle_sid{node2}"=instance \ -p resource_dependencies_offline_restart=crs-fmwk-rs,qfs-mp-rs \ -d asm-inst-rs |
リソースを配置するリソースグループの名前を指定します。
追加するリソースのタイプを指定します。
Oracle システム識別子を設定します。
Oracle のホームディレクトリへのパスを設定します。
作成するリソースグループの名前を指定します。
タイプ SUNW.asm_diskgroup のリソースを asm-dg-rg リソースグループに追加します。
# clresource create -g asm-dg-rg -t SUNW.asm_diskgroup \ -p asm_diskgroups=dg \ -p resource_dependencies_offline_restart=asm-inst-rs,qfs-mp-rs \ -d asm-dg-rs |
リソースを配置するリソースグループの名前を指定します。
追加するリソースのタイプを指定します。
ASM ディスクグループを指定します。
作成するリソースグループの名前を指定します。
クラスタノードで管理状態にある asm-inst-rg リソースグループをオンラインにします。
# clresourcegroup online -eM asm-inst-rg |
クラスタノードで管理状態にある asm-dg-rg リソースグループをオンラインにします。
# clresourcegroup online -eM asm-dg-rg |
ステータスコマンドを発行して Oracle の ASM のインストールを確認します。
# clresource status + |
Sun Cluster HA for Oracle データサービスのリソースタイプを登録します。
Sun Cluster HA for Oracle に対して、次のように SUNW.oracle_server と SUNW.oracle_listener の 2 つのリソースタイプを登録します。
# clresourcetype register SUNW.oracle_server # clresourcetype register SUNW.oracle_listener |
論理ホスト名リソースを Oracle データベースのフェイルオーバーリソースグループに追加します。
# clreslogicalhostname create -g ora-db-rg [-h logicalhostname] \ logicalhostname-rs |
論理ホスト名を指定します。この論理ホスト名は、ネームサービスデータベースに存在する必要があります。logicalhostname と logicalhostname-rs が同一なら、logicalhostname は省略可能です。
作成している論理ホスト名リソースに割り当てる名前を指定します。
クラスタノードで管理状態にあるフェイルオーバーリソースグループをオンラインにします。
# clresourcegroup online -eM ora-db-rg |
フェイルオーバーリソースグループで、Oracle アプリケーションリソースを作成します。
Oracle サーバーリソース:
# clresource create -g ora-db-rg \ -t SUNW.oracle_server \ -p Connect_string=user/passwd \ -p ORACLE_SID=instance \ -p ORACLE_HOME=Oracle-home \ -p Alert_log_file=path-to-log \ -p Resource_dependencies_offline_restart=asm-dg-rs \ -d ora-db-rs |
Oracle リスナーリソース:
# clresource create -g ora-db-rg \ -t SUNW.oracle_listener \ -p ORACLE_HOME=Oracle-home \ -p listener_name=listener \ -p resource_dependencies_offline_restart=asm-dg-rs,logicalhostname-rs \ -d ora-ls-rs |
リソースを配置するリソースグループの名前を指定します。
追加するリソースのタイプを指定します。
サーバーのメッセージログのパスの $ORACLE_HOME 以下を設定します。
障害モニターがデータベースへの接続に使用するユーザーおよびパスワードを指定します。この設定は、「Oracle データベースのアクセス権を設定する」 で設定したアクセス権と一致している必要があります。Solaris の認証を使用する場合は、ユーザー名とパスワードの代わりにスラッシュ (/) を入力します。
Oracle システム識別子を設定します。
Oracle のホームディレクトリへのパスを設定します。
Oracle リスナーインスタンスの名前を設定します。この名前は、listener.ora の対応するエントリと一致している必要があります。
作成するリソースグループの名前を指定します。
オプションとして、Oracle のデータサービスに属している追加の拡張プロパティを設定して、それらのデフォルト値を上書きすることが可能です。拡張プロパティーのリストについては、「Sun Cluster HA for Oracle 拡張プロパティーの設定」を参照してください。
Oracle サーバーのリソースをオンラインにします。
# clresource enable ora-db-rs |
Oracle リスナーのリソースをオンラインにします。
# clresource enable ora-ls-rs |
ASM の Oracle_Home をクラスタファイルシステムにインストールすることも可能です。クラスタファイルシステムを使用している場合、リソース SUNW.HAStoragePlus および SUNW.scalable_asm_instance を作成し、この 2 つのリソースの間に適切な依存関係を設定する必要があります。
SUNW.HAStoragePlus リソースおよび SUNW.scalable_asm_instance リソースを作成するコマンドのサンプルは、次のとおりです。
# clresource create -g asm-inst-rg -t SUNW.HAStoragePlus \ -p FilesystemMountPoints=cluster-file-system \ hastp-rs |
# clresource create -g asm-inst-rg -t SUNW.scalable_asm_instance \ -p ORACLE_HOME=oracle-home \ -p "oracle_sid{node1}"=instance \ -p "oracle_sid{node2}"=instance \ -p resource_dependencies_restart=hastp-rs \ -p resource_dependencies_offline_restart=crs-fmwk-rs \ asm-inst-rs |
Sun Cluster HA for Oracle を登録および構成したら、「Sun Cluster HA for Oracle のインストールの確認」 へ進みます。
次の確認テストを実行して、Sun Cluster HA for Oracle を正しくインストールしたことを確認します。
この妥当性検査で、Sun Cluster HA for Oracle を実行するすべてのノードまたはゾーンが Oracle のインスタンスを起動でき、構成したほかのノードまたはゾーンが Oracle のインスタンスにアクセスできることを確認します。Sun Cluster HA for Oracle から Oracle ソフトウェアを起動する際の問題を切り分ける場合も、この妥当性検査を実行します。
現在 Oracle リソースグループをマスターしているノードまたはゾーンに、oracle としてログインします。
環境変数 ORACLE_SID および ORACLE_HOME を設定します。
このノードまたはゾーンから Oracle のインスタンスを起動できることを確認します。
Oracle のインスタンスに接続できることを確認します。
sqlplus コマンドを、connect_string プロパティーで定義した user/password 変数とともに使用します。
# sqlplus user/passwd@tns_service |
Oracle のインスタンスをシャットダウンします。
Oracle のインスタンスは Sun Cluster のコントロール下にあるので、Sun Cluster ソフトウェアが Oracle のインスタンスを再起動させます。
Oracle データベースリソースを含むリソースグループを、ほかのクラスタ番号に切り替えます。
# clresourcegroup switch -n node-zone-list resource-group |
このリソースグループをマスターできるゾーンの、コンマ区切りの順序付けされたリストを指定します。リスト内の各エントリの形式は node:zone です。この形式では、 node はノードの名前または ID を指定し、zone は非大域 Solaris ゾーンの名前を指定します。大域ゾーンを指定する、または非大域ゾーンを持たないノードを指定するには、node のみを指定します。
このリストの順番が、フェイルオーバー中にプライマリであると考えられるノードまたはゾーンの順番を決定します。このリストはオプションです。このリストを省略すると、各クラスタの大域ゾーンはリソースグループをマスターできます。
切り替えるリソースグループの名前を指定します。
現在、リソースグループのあるノードまたはゾーンに、oracle としてログインします。
クライアントは必ず、物理ホスト名ではなくネットワークリソースを使用してデータベースを参照する必要があります。ネットワークリソースは、フェイルオーバーの間に物理ノード間で移動できる IP アドレスです。物理ホスト名はマシン名です。
たとえば、tnsnames.ora ファイルで、ネットワークリソースはデータベースのインスタンスを実行するホストとして指定する必要があります。ネットワークリソースは、論理ホスト名または共有アドレスです。「Oracle データベースのアクセス権を設定する」を参照してください。
Oracle のクライアントとサーバー間の接続は、 Sun Cluster HA for Oracle のスイッチオーバーによって切断されます。クライアントアプリケーションは、切断、再接続または復旧を適切に処理できるように準備する必要があります。トランザクションモニターはアプリケーションを簡略化します。さらに、Sun Cluster HA for Oracle ノードの復旧時間はアプリケーションによって異なります。
Sun Cluster HA for Oracle データサービスの各インスタンスは、/var/opt/SUNWscor ディレクトリのサブディレクトリにログファイルを保持します。
/var/opt/SUNWscor/oracle_server ディレクトリには Oracle サーバーのログファイルがあります。
/var/opt/SUNWscor/oracle_server には Oracle リスナーのログファイルがあります。
これらのファイルには、Sun Cluster HA for Oracle データサービスが実行するアクションに関する情報が入っています。これらのファイルを参照して、構成をトラブルシューティングする診断情報を取得し、Sun Cluster HA for Oracle データサービスの動作を監視します。
Sun Cluster HA for Oracle データサービスの障害モニタリングは、次の障害モニターが行います。
Oracle サーバー障害モニター
Oracle リスナー障害モニター
各障害モニターには、次の表に示すリソースタイプを持つリソースがあります。
表 4 Sun Cluster HA for Oracle 障害モニターのリソースタイプ
障害モニター |
リソース型 |
---|---|
Oracle サーバー |
SUNW.oracle_server |
Oracle リスナー |
SUNW.oracle_listener |
障害モニターの動作は、このリソースのシステムプロパティーと拡張プロパティーによって制御されます。事前に設定された障害モニターの動作は、これらのプロパティーのデフォルト値に基づいています。現在の動作は、ほとんどの Sun Cluster システムに適しているはずです。したがって、事前に設定されたこの動作を変更する場合「のみ」、障害モニターを調整してください。
Sun Cluster HA for Oracle 障害モニターの調整には、次のような作業があります。
障害モニターの検証間隔を設定する。
障害モニターの検証タイムアウトを設定する。
継続的な障害とみなす基準を定義する。
リソースのフェイルオーバー動作を指定する
詳細については、『Sun Cluster Data Services Planning and Administration Guide for Solaris OS』の「Tuning Fault Monitors for Sun Cluster Data Services」を参照してください。これらの作業を行うのに必要な Sun Cluster HA for Oracle 障害モニターについては、次の副節を参照してください。
Sun Cluster HA for Oracle を登録、構成する際に、Sun Cluster HA for Oracle 障害モニターを調整します。詳細については、「Sun Cluster HA for Oracle の登録と構成」を参照してください。
Oracle サーバーの障害モニターは、サーバーへのリクエストを使用して、サーバーの状態をクエリします。
サーバー障害モニターは、pmfadm を介して起動され、モニターの可用性を高めます。何らかの理由でモニターが終了すると、手順モニター機能 (PMF) がモニターを自動的に再起動します。
サーバー障害モニターは、次の要素から構成されます。
主要障害モニター手順
データベースクライアント障害プローブ
このセクションには、サーバー障害モニターに関する次の情報が含まれています。
主要障害モニターは、データベースがオンラインで、トランザクション中にエラーが返されない場合、操作が成功したと見なします。
データベースクライアント障害プローブは、次の操作を実行します。
アーカイブされた再実行ログの区分のモニター「アーカイブされた再実行ログの区分をモニターする操作」を参照してください。
区分が健全である場合、データベースが操作可能かどうかを決定します。「データベースが操作可能かどうかを決定する操作」を参照してください。
プローブは、リソースプロパティ Probe_timeout で設定されているタイムアウト値を使用して、Oracle のプローブを成功させるために割り当てる時間を決定します。
データベースクライアント障害プローブは、動的パフォーマンス表示 v$archive_dest をクエリーし、アーカイブされた再実行ログのすべての可能な送信先を決定します。すべてのアクティブな送信先に対して、プローブは送信先が健全で、アーカイブされた再実行ログを保存するための十分な空き容量があるかどうかを決定します。
送信先が健全である場合、プローブは送信先のファイルシステムの空き容量を決定します。空き容量がファイルシステム容量の 10% 未満で、20 M バイト未満の場合、プローブは syslog にメッセージを出力します。
送信先が ERROR 状態の場合、プローブは syslog にメッセージを出力し、データベースが操作可能かどうかを判定するために操作を無効にします。操作は、エラー状態がクリアされるまで無効のままです。
アーカイブされた再実行ログ用の区分が健全な場合、データベースクライアント障害プローブは動的パフォーマンス表示 v$sysstat をクエリーし、データベースパフォーマンス統計を取得します。これらの統計が変更されている場合、データベースが操作されていることを示します。連続したクエリー間で統計が変化しなかった場合、障害プローブはデータベーストランザクションを実行し、データベースが運用されているかを判定します。これらのトランザクションには、ユーザー表スペースでの、表の作成、更新およびドロップが関係しています。
データベースクライアント障害プローブは、Oracle ユーザーとしてすべてのトランザクションを実行します。このユーザーの ID は、「ノードの準備方法」に説明されているように、ノードまたはゾーンの準備中に指定されます。
データベーストランザクションに失敗した場合、サーバー障害モニターは障害の原因になったエラーによって決定されるアクションを実行します。サーバー障害モニターが実行するアクションを変更するには、「Sun Cluster HA for Oracle サーバー 障害モニターのカスタマイズ」に説明されているように、サーバー障害モニターをカスタマイズします。
アクションで外部プログラムの実行が必要な場合、そのプログラムはバックグラウンドで別のプロセスとして実行されます。
可能なアクションは、次のとおりです。
無視。サーバー障害モニターはエラーを無視します。
モニター停止。データベースをシャッドダウンせずに、サーバー障害モニターが停止されます。
再起動。サーバー障害モニターは、Restart_type 拡張プロパティーの値によって指定されたエンティティーを停止および再起動します。
Restart_type 拡張プロパティーが RESOURCE_RESTART に設定されている場合、サーバー障害モニターはデータベースサーバーリソースを再起動します。デフォルトでは、サーバー障害モニターはデータベースサーバーリソースを再起動します。
Restart_type 拡張プロパティーが RESOURCE_GROUP_RESTART に設定されている場合、サーバー障害モニターはデータベースサーバーリソースグループを再起動します。
再起動を試みる回数は、Retry_interval リソースプロパティが指定する時間内に、Retry_count リソースプロパティが指定した値を超えることがあります。この状況が生じた場合、サーバー障害モニターは、別のノードやゾーンへのリソースグループの切り換えを試みます。
切り換え。サーバー障害モニターは、データベースサーバーリソースグループを別のノードまたはゾーンに切り換えます。使用可能なノードまたはゾーンがない場合、リソースグループを切り換える試みは失敗します。リソースグループを切り換える試みが失敗すると、データベースサーバーは再起動されます。
Oracle ソフトウェアは、警告を警告ログファイルに記録します。このファイルの絶対パスは、SUNW.oracle_server リソースの alert_log_file 拡張プロパティーにより指定されます。サーバー障害モニターは、次のタイミングで新しい警告があるかどうか、警告ログファイルをスキャンします。
サーバー障害モニターが起動されたとき
サーバー障害モニターがサーバーの健全性をクエリーするたび
サーバー障害モニターが検出する警告ログに対するアクションが定義されている場合、サーバー障害モニターは警告に対してアクションを実行します。
記録された警告用の事前設定アクションは、表 2 に一覧表示されています。サーバー障害モニターが実行するアクションを変更するには、「Sun Cluster HA for Oracle サーバー 障害モニターのカスタマイズ」に説明されているように、サーバー障害モニターをカスタマイズします。
Oracle リスナー障害モニターは、Oracle リスナーの状態を確認します。
リスナーが実行されている場合、Oracle リスナー障害モニターはプローブが成功したと見なします。障害モニターがエラーを検出すると、リスナーは再起動されます。
リスナーリソースは、リスナーパスワードを設定する機構を提供していません。Oracle リスナーセキュリティが有効の場合、リスナー障害モニターによって、プローブは Oracle エラー TNS-01169 を返すことがあります。リスナーは応答することができるので、リスナー障害モニターはプローブが成功したものと見なします。このアクションのためにリスナーが検出されないままになるという障害が生じることはありません。リスナーが故障している場合、異なるエラーが返されるか、プローブがタイムアウトになります。
リスナープローブは、pmfadm を介して起動することで、プローブの可用性を高めます。プローブが終了した場合、PMF は自動的にプローブを再起動します。
プローブ中にリスナーに問題が生じた場合、プローブはリスナーの再起動を試みます。リソースプロパティ retry_count に設定されている値は、プローブが再起動を試みる最大回数を決定します。最大回数まで起動を試みても、まだプローブが成功しない場合は、プローブは障害モニターを停止し、リソースグループの切り換えを行いません。
不明な DBMS タイムアウトのトラブルシューティングを容易にするために、障害モニターを有効にして、プローブタイムアウトが生じたときにコアファイルを作成することができます。コアファイルの内容は、障害モニター手順に関連します。障害モニターは、/ ディレクトリにコアファイルを作成します。障害モニターがコアファイルを作成できるためには、coreadm コマンドを使用して set-id コアダンプを有効にします。詳細は、coreadm(1M) のマニュアルページを参照してください。
Sun Cluster HA for Oracle サーバー 障害モニターをカスタマイズすると、次のようにサーバー障害モニターの動作を修正できます。
エラーの事前設定アクションのオーバーライド
アクションが事前設定されていないエラーに対するアクションの指定
Sun Cluster HA for Oracle サーバー 障害モニターをカスタマイズする前に、カスタマイズの影響を考慮してください。特に、再起動からアクションを変更する場合、またはモニターを無視または停止する場合は注意してください。エラーが長期間修正されない場合、エラーはデータベースに問題を起こす場合があります。Sun Cluster HA for Oracle サーバー 障害モニターをカスタマイズしたあとにデータベースで問題が発生した場合、事前設定アクションの使用に戻ってください。事前設定アクションに戻ることで、問題がカスタマイズによって発生したものかどうかを判定することができます。
Sun Cluster HA for Oracle サーバー 障害モニターのカスタマイズには、次のアクティビティーが関係しています。
Sun Cluster HA for Oracle サーバー 障害モニターは、次のタイプのエラーを検出します。
サーバー障害モニターによるデータベースのプローブ中に起きる DBMS エラー
Oracle が警告ログファイルに記録する警告
Probe_timeout 拡張プロパティーに設定された時間内に応答がなかったために生じたタイムアウト
これらのタイプのエラーに対して、カスタム動作を定義するには、カスタムアクションファイルを作成します。このセクションには、カスタムアクションファイルに関する次の情報が含まれます。
カスタムアクションファイルは、プレーンテキストファイルです。ファイルには、Sun Cluster HA for Oracle サーバー 障害モニターのカスタム動作を定義する 1 つ以上のエントリが含まれます。各エントリは、1 つの DBMS エラー、1 つのタイムアウトエラー、または複数の警告ログに対するカスタム動作を定義します。カスタムアクションファイルは、最大 1024 のエントリが許可されています。
カスタムアクションファイルの各エントリでは、エラーに対する事前設定アクションをオーバーライドしたり、事前設定されたアクションがないエラーに対してアクションを指定したりします。オーバーライドする事前設定アクションまたはアクションが事前設定されていないエラーに対してのみ、カスタムアクションファイルにエントリを作成します。変更しないアクションに対して、エントリを作成しないでください。
カスタムアクションファイルのエントリは、セミコロンで区切られたキーワード値ペアのシーケンスで構成されています。各エントリは、中括弧で囲まれています。
カスタムアクションファイルのエントリの形式は、次のとおりです。
{ [ERROR_TYPE=DBMS_ERROR|SCAN_LOG|TIMEOUT_ERROR;] ERROR=error-spec; [ACTION=SWITCH|RESTART|STOP|NONE;] [CONNECTION_STATE=co|di|on|*;] [NEW_STATE=co|di|on|*;] [MESSAGE="message-string"] }
区切られたキーワードと値ペアの間およびファイルの書式を設定するエントリの間には、空白を使用することができます。
カスタムアクションファイルのキーワードの意味および許可されている値は次のとおりです。
サーバー障害モニターが検出したエラーのタイプを示します。このキーワードには、次の値が許可されています。
エラーが DBMS エラーであることを指定します。
エラーが警告ログファイルに記録されている警告であることを指定します。
エラーがタイムアウトであることを指定します。
ERROR_TYPE キーワードはオプションです。このキーワードを省略すると、DBMS エラーとみなされます。
エラーを識別します。error-spec のデータタイプと意味は、次の表に示されているとおり、ERROR_TYPE キーワードの値によって決定されます。
ERROR_TYPE |
データタイプ |
意味 |
---|---|---|
DBMS_ERROR |
整数 |
Oracle によって生成された DBMS エラーのエラー番号 |
SCAN_LOG |
引用された正規表現 |
Oracle が Oracle 警告ログファイルに記録したエラーメッセージの文字列 |
TIMEOUT_ERROR |
整数 |
サーバー障害モニターが最後に起動または再起動されてから発生した、連続タイムアウトプローブの数 |
ERROR キーワードを指定する必要があります。このキーワードを省略すると、カスタムアクションファイルのエントリは無視されます。
サーバー障害モニターがエラーに対応して実行するアクションを指定します。このキーワードには、次の値が許可されています。
サーバー障害モニターがエラーを無視するように指定します。
サーバー障害モニターが停止することを指定します。
サーバー障害モニターが SUNW.oracle_server リソースの Restart_type 拡張プロパティーの値によって指定されたエンティティーを停止および再起動することを指定します。
サーバー障害モニターがデータベースサーバーリソースグループを別のノードまたはゾーンに切り換えることを指定します。
ACTION キーワードは省略可能です。このキーワードを省略すると、サーバー障害モニターはエラーを無視します。
エラーが検出されたとき、データベースおよびサーバー障害モニター間の接続に必要とされる状態を指定します。エラーが検出されたときに、接続が必要な状態にあるときにのみ、このエントリは適用されます。このキーワードには、次の値が許可されています。
接続の状態に関わらず、エントリが常に適用されることを指定します。
サーバー障害モニターがデータベースに接続しようと試みたときにのみ、エントリが適用されることを指定します。
サーバー障害モニターがオンラインのときのみ、エントリが適用されることを指定します。サーバー障害モニターは、データベースに接続されている場合はオンラインです。
サーバー障害モニターがデータベースに接続解除するときにのみ、エントリが適用されることを指定します。
CONNECTION_STATE キーワードは省略可能です。このキーワードを省略すると、接続状態に関わらずエントリは常に適用されます。
エラーが検出されたあとにサーバー障害モニターが到達する必要がある、データベースおよびサーバー障害モニターの接続状態を指定します。このキーワードには、次の値が許可されています。
接続状態が変更されずに維持されることを指定します。
サーバー障害モニターがデータベースから接続解除し、直ちにデータベースに再接続することを指定します。
サーバー障害モニターがデータベースから接続解除することを指定します。サーバー障害モニターは、次回データベースをプローブするときに再接続します。
NEW_STATE キーワードは省略可能です。このキーワードを省略すると、エラーが検出されてから、データベース接続の状態は変更されないままで維持されます。
このエラーが検出されたときに、リソースのログファイルに出力される追加メッセージを指定します。メッセージは、二重引用符で囲む必要があります。このメッセージは、エラーに定義されている標準メッセージに追加されます。
MESSAGE キーワードは省略可能です。このキーワードを省略すると、このエラーが検出されたとき、リソースのログファイルに追加メッセージが出力されません。
各 DBMS エラーに対応してサーバー障害モニターが実行するアクションは、表 1 で一覧表示されているように、事前に設定されています。DBMS エラーに対する応答を変更する必要があるかどうか決定するには、データベースに対する DBMS エラーの影響を考慮して、事前設定アクションが適切かどうかを判断します。例として、次のサブセクションを参照してください。
DBMS エラーに対する応答を変更するには、カスタムアクションファイルにエントリを作成します。キーワードは次のように設定されます。
ERROR_TYPE は、DBMS_ERROR に設定します。
ERROR は、DBMS エラーのエラー番号に設定します。
ACTION は、必要とするアクションに設定します。
サーバー障害モニターが無視するエラーが 2 つ以上のセッションに影響を及ぼす場合、サービスの損失を防ぐために、サーバー障害モニターによるアクションが必要になる場合があります。
たとえば、Oracleエラー 4031: unable to allocate num-bytes bytes of shared memory に対するアクションは事前設定されていません。しかしながら、この Oracle エラーは、共有グローバルエリア (SGA) のメモリーが不足している、断片化が激しい、またはこの両方の状態が当てはまることを示しています。このエラーが 1 つのセッションのみ影響する場合、エラーを無視することが適切な場合があります。しかしながら、このエラーが 2 つ以上のセッションに影響を及ぼす場合、サーバー障害モニターによるデータベースの再起動を指定することを考慮してください。
次の例は、DBMS エラーに対する応答を変更するための、再起動するカスタムアクションファイルのエントリを示しています。
{ ERROR_TYPE=DBMS_ERROR; ERROR=4031; ACTION=restart; CONNECTION_STATE=*; NEW_STATE=*; MESSAGE="Insufficient memory in shared pool."; }
この例は、DBMS エラー 4031 に事前設定されているアクションをオーバーライドするカスタムアクションファイルのエントリを示します。このエントリは、次の動作を指定します。
DBMS エラー 4031 に対して、サーバー障害モニターが実行するアクションは再起動です。
このエントリは、エラーが検出されたとき、データベースおよびサーバー障害モニター間の接続状態に関わらず適用されます。
データベースおよびサーバー障害モニター間の接続状態は、エラーが検出されたあとも変更されないまま維持される必要があります。
このエラーが検出されたとき、次のメッセージがリソースのログファイルに出力されます。
Insufficient memory in shared pool. |
サーバー障害モニターが対応するエラーの影響が軽度の場合、エラーを無視したほうがエラーに対応するより混乱が少ないことがあります。
たとえば、Oracle エラー 4030: out of process memory when trying to allocate num-bytes bytes に対する事前設定アクションは再起動です。この Oracle エラーは、プライベートヒープメモリーを割り当てることができなかったサーバー障害モニターを示しています。このエラーの原因の 1 つとしては、オペレーティングシステムに対してメモリー不足していたことが挙げられます。このエラーが 2 つ以上のセッションに影響を及ぼす場合、データベースの再起動が適切な場合があります。しかしながら、これらのセッションはさらにプライベートメモリーを必要としないため、このエラーはほかのセッションに影響を与えない可能性があります。この場合、サーバー障害モニターでエラーを無視するよう指定することを考慮します。
次の例は、DBMS エラーを無視するためのカスタムアクションファイルのエントリを表示しています。
{ ERROR_TYPE=DBMS_ERROR; ERROR=4030; ACTION=none; CONNECTION_STATE=*; NEW_STATE=*; MESSAGE=""; }
この例は、DBMS エラー 4030 に事前設定されているアクションをオーバーライドするカスタムアクションファイルのエントリを示しています。このエントリは、次の動作を指定します。
サーバー障害モニターは、DBMS エラー4030 を無視します。
このエントリは、エラーが検出されたとき、データベースおよびサーバー障害モニター間の接続状態に関わらず適用されます。
データベースおよびサーバー障害モニター間の接続状態は、エラーが検出されたあとも変更されないまま維持される必要があります。
このエラーが検出されたとき、追加のメッセージはリソースのログファイルには出力されません。
Oracle ソフトウェアログは alert_log_file 拡張プロパティーによって識別されたファイルに警告を記録します。サーバー障害モニターは、このファイルをスキャンし、アクションが定義されている警告に対してアクションを実行します。
アクションが事前設定されている警告ログは、表 2 に一覧表示されています。事前設定アクションを変更するため、またはサーバー障害モニターが応答する新しい警告を定義するために、警告ログに対する応答を変更します。
警告ログに対する応答を変更するには、カスタムアクションファイルにエントリを作成します。キーワードは次のように設定します。
ERROR_TYPE は、SCAN_LOG に設定します。
ERROR は、Oracle が Oracle 警告ログファイルに記録した、エラーメッセージの文字列を識別する、引用正規表現に設定します。
ACTION は、必要とするアクションに設定します。
サーバー障害モニターは、カスタムアクションファイルのエントリをエントリが生じた順序で処理します。記録された警告と一致する最初のエントリのみが処理されます。後続の一致しているエントリは無視されます。複数の記録された警告に対してアクションを指定するために正規表現を使用している場合、より一般的なエントリの前に、より特殊なエントリが発生するようにします。一般エントリのあとに発生する特殊なエントリが無視されることがあります。
たとえば、カスタムアクションファイルは正規表現 ORA-65 および ORA-6 によって識別されるエラーに対して異なるアクションを定義することがあります。正規表現 ORA-65 を含むエントリが無視されないようにするため、このエントリが正規表現 ORA-6 を含むエントリの前に発生することを確認します。
次の例は、ログされた警告に対する応答を変更するためのカスタムアクションファイルのエントリを示しています。
{ ERROR_TYPE=SCAN_LOG; ERROR="ORA-00600: internal error"; ACTION=RESTART; }
この例は、内部エラーに関する警告ログに対する事前設定アクションをオーバーライドするカスタムアクションファイルのエントリを示しています。このエントリは、次の動作を指定しています。
テキスト ORA-00600: internal error を含む警告ログに対して、サーバー障害モニターが実行するアクションは再起動です。
このエントリは、データベースおよびサーバー障害モニター間の接続状態に関わらず、エラーが検出されたときに適用されます。
データベースおよびサーバー障害モニター間の接続状態は、エラーが検出されたあとも変更されないまま維持される必要があります。
このエラーが検出されたとき、追加のメッセージはリソースのログファイルには出力されません。
デフォルトでは、サーバー障害モニターはタイムアウトプローブを 2 回連続発生しあとに、データベースを再起動します。データベースの負荷が軽い場合、タイムアウトプローブが 2 回連続発生したことは、データベースがハングアップしたことを十分に示すものとなります。ただし、負荷が重い場合、サーバー障害モニタープローブは、データベースが適切に機能しているときでもタイムアウトすることがあります。サーバー障害モニターが不必要にデータベースを再起動させないようにするには、連続タイムアウトプローブの最大数を増やします。
連続タイムアウトプローブの最大数を増やすと、データベースがハングアップしたことを検出する時間が長くなります。
連続タイムアウトプローブの最大許容数を変更するには、許可されている各連続タイムアウトプローブに対して、最初のタイムアウトプローブ以外に、カスタムアクションファイルのエントリを 1 つ作成します。
最初にタイムアウトしたプローブに対しては、エントリを作成する必要はありません。最初にタイムアウトしたプローブに対してサーバー障害モニターが実行するアクションは事前設定されています。
許容されている最後のタイムアウトプローブには、次のようにキーワードを設定したエントリを作成します。
ERROR_TYPE は、TIMEOUT_ERROR に設定します。
ERROR は、許容されている連続タイムアウトプローブの最大数に設定します。
ACTION は、RESTART に設定します。
最初にタイムアウトしたプローブ以外の、残り各連続タイムアウトプローブに対して、エントリを作成し、キーワードを次のように設定します。
ERROR_TYPE は、TIMEOUT_ERROR に設定します。
ERROR は、タイムアウトプローブのシーケンス番号に設定します。たとえば、2 回目の連続タイムアウトプローブに対しては、このキーワードを 2 に設定します。3 回目の連続タイムアウトプローブに対しては、このキーワードを 3 に設定します。
ACTION は、NONE に設定します。
デバッグを容易にするため、タイムアウトプローブのシーケンス番号を示すメッセージを指定します。
次の例は、連続タイムアウトプローブの最大数を 5 に増やすための、カスタムアクションファイルのエントリを示しています。
{ ERROR_TYPE=TIMEOUT; ERROR=2; ACTION=NONE; CONNECTION_STATE=*; NEW_STATE=*; MESSAGE="Timeout #2 has occurred."; } { ERROR_TYPE=TIMEOUT; ERROR=3; ACTION=NONE; CONNECTION_STATE=*; NEW_STATE=*; MESSAGE="Timeout #3 has occurred."; } { ERROR_TYPE=TIMEOUT; ERROR=4; ACTION=NONE; CONNECTION_STATE=*; NEW_STATE=*; MESSAGE="Timeout #4 has occurred."; } { ERROR_TYPE=TIMEOUT; ERROR=5; ACTION=RESTART; CONNECTION_STATE=*; NEW_STATE=*; MESSAGE="Timeout #5 has occurred. Restarting."; }
次の例は、連続タイムアウトプローブの最大数を 5 に増やすための、カスタムアクションファイルのエントリを示しています。これらのエントリは、次の動作を指定しています。
サーバー障害モニターは、2 回目の連続タイムアウトプローブから 4 回目の連続タイムアウトプローブまでを無視します。
5 回目の連続タイムアウトプローブに対しては、サーバー障害モニターが実行するアクションは再起動です。
エントリは、データベースおよびサーバー障害モニター間の接続状態に関わらず、タイムアウトが生じたときに適用されます。
データベースおよびサーバー障害モニター間の接続状態は、タイムアウトが生じたあとも変更されずに維持される必要があります。
2 回目の連続タイムアウトプローブから 4 回目の連続タイムアウトプローブが起きたとき、次の形式のメッセージがリソースのログファイルに出力されます。
Timeout #number has occurred. |
5 回目の連続タイムアウトプローブが発生したとき、次のメッセージがリソースのログファイルに出力されます。
Timeout #5 has occurred. Restarting. |
サーバー障害モニターは、すべてのクラスタノードまたはゾーンにおいて、一貫して動作する必要があります。そのため、サーバー障害モニターが使用するカスタムアクションファイルは、すべてのクラスタノードまたはゾーンにおいて同一である必要があります。カスタムアクションファイルを作成または修正したあと、ファイルをすべてのクラスタノードまたはゾーンに伝達して、このファイルがすべてのクラスタノードまたはゾーンにおいて同一であるようにします。ファイルをすべてのクラスタノードまたはゾーンに伝達するには、クラスタ設定にもっとも適した方法を使用します。
すべてのノードまたはゾーンが共有するファイルシステム上でファイルを検出する
高可用性ローカルファイルシステム上でファイルを検出する
rcp(1) コマンドまたたは rdist(1) コマンドなどのオペレーティングシステムコマンドを使用して、ファイルを各クラスタノードまたはゾーンのローカルファイルシステムにコピーする
サーバー障害モニターにカスタマイズされたアクションを適用するには、障害モニターが使用すべきカスタムアクションファイルを指定する必要があります。サーバー障害モニターがカスタムアクションファイルを読み取ったときに、カスタマイズされたアクションがサーバー障害モニターに適用されます。サーバー障害モニターは、ファイルが指定されたときにカスタムアクションファイルを読み取ります。
カスタムアクションファイルを指定すると、ファイルも検査されます。ファイルが構文エラーを含む場合、エラーメッセージが表示されます。そのため、カスタムアクションファイルを修正したあと、ファイルを再度指定して、ファイルを検査します。
修正されたカスタムアクションファイルに構文エラーが検出された場合、障害モニターを再起動する前に、エラーを修正します。障害モニターを再起動したときに、構文エラーがまだ修正されていない場合、障害モニターはエラーのあるファイルを読み取り、最初の構文エラー後に起きたエントリを無視します。
クラスタノードでスーパーユーザーになるか、solaris.cluster.modify RBAC の承認を提供する役割になります。
SUNW.oracle_server リソースの Custom_action_file 拡張プロパティーを設定します。
このプロパティーをカスタムアクションファイルの絶対パスに設定します。
# clresource set -p custom_action_file=filepath server-resource |
カスタムアクションファイルの絶対パスを指定します。
SUNW.oracle_server リソースを指定します。
Sun Cluster HA for Oracle データサービスの既存のリソースタイプは次のとおりです。
Oracle リスナーを表す SUNW.oracle_listener
Oracle サーバーを表す SUNW.oracle_server
既存のリソースタイプに加えて、3 種類の追加のリソースタイプが ASM の Sun Cluster HA for Oracle データサービスに含まれています。これらのリソースタイプは次のとおりです。
SUNW.asm_diskgroup、Sun Cluster 構成内の単一またはクラスタインスタンス ASM ディスクグループを表しています。リソースタイプの詳細については、asm_diskgroup(5) を参照してください。
SUNW.scalable_asm_instance、Sun Cluster 構成のシングルインスタンス ASM を表しています。リソースタイプの詳細については、SUNW.scalable_asm_instance(5) を参照してください。
SUNW.scalable_asm_instance_proxy、Sun Cluster 構成内のクラスタ ASM インスタンスのプロキシを表しています。リソースタイプの詳細については、SUNW.scalable_asm_instance_proxy(5) を参照してください。
Sun Cluster HA for Oracle の旧バージョンからアップグレードする場合は、既存のリソースタイプをアップグレードします。
リソースタイプをアップグレードする方法に関する一般的な注意点については、『Sun Cluster Data Services Planning and Administration Guide for Solaris OS』の「Upgrading a Resource Type」を参照してください。
以下の副節では、SUNW.oracle_listener リソースタイプのアップグレードを実行するために必要な情報について説明します。
SUNW.oracle_listener リソースタイプのバージョンと Sun Cluster データサービスのリリースの関係は、次の表のとおりです。Sun Cluster データサービスのリリースは、リソースタイプが導入されたバージョンを表します。この表は、それぞれの新しいバージョンで導入された変更の概要も示しています。
SUNW.oracle_listener リソースタイプバージョン |
Sun Cluster データサービスのリリース |
変更の概要 |
---|---|---|
1 |
1.0 |
なし |
3.1 |
3.1 5/03 |
導入したこのリソースタイプのアップグレードを有効にする指示 |
4 |
3.1 4/04 |
Probe_timeout 拡張プロパティーの導入 |
5 |
3.1 8/05 |
Probe_timeout 拡張プロパティーのデフォルト値が 180 秒に延長されました。 |
登録されているリソースタイプのバージョンを調べるには、次のどちらかのコマンドを使用します。
clresourcetype list
clresourcetype show
このリソースタイプのリソースタイプ登録 (RTR) ファイルは /opt/SUNWscor/oracle_listener/etc/SUNW.oracle_listener です。
SUNW.oracle_listener リソースタイプの各インスタンスの編集に必要な情報は、次のとおりです。
移行はいつでも実行できます。
バージョン 3.1 4/04 で導入された SUNW.oracle_listener リソースタイプの機能を使用する必要がある場合、Type_version プロパティーの値は 4 である必要があります。
バージョン 3.1 8/05 で導入された SUNW.oracle_listener リソースタイプの機能を使用する必要がある場合、Type_version プロパティーの値は 5 である必要があります。
障害モニターが Oracle リスナーの検査で使用する秒単位のタイムアウト値を指定する必要がある場合は、Probe_timeout 拡張プロパティーを設定します。詳細については、「SUNW.oracle_listener 拡張プロパティー」を参照してください。
SUNW.oracle_listener リソースタイプのバージョン 4 を使用する場合、新しいデフォルト値が必要な場合にだけ バージョン 4 にアップグレードします。バージョン 4 のデフォルト値で十分であれば、アップグレードする必要はありません。
次の例は、 SUNW.oracle_listener リソースタイプのインスタンスを編集するコマンドです。
# clresource set -p Type_version=4 \ -p probe_timeout=60 oracle-lrs |
このコマンドは SUNW.oracle_listener リソースを次のように編集します。
SUNW.oracle_listener リソースは oracle-lrs と名付けられます。
このリソースの Type_version プロパティーを 4 に設定します。
障害モニターが Oracle リスナーの検査で使用するタイムアウト値 (秒単位) を 60 秒に設定します。
以下の副節では、SUNW.oracle_server リソースタイプのアップグレードを実行するために必要な情報について説明します。
SUNW.oracle_server リソースタイプのバージョンと Sun Cluster データサービスのリリースの関係は、次の表のとおりです。Sun Cluster データサービスのリリースは、リソースタイプが導入されたバージョンを表します。この表は、それぞれの新しいバージョンで導入された変更の概要も示しています。
登録されているリソースタイプのバージョンを調べるには、次のどちらかのコマンドを使用します。
clresourcetype list
clresourcetype show
この ソースタイプのリソースタイプ登録 (RTR) ファイルは、/opt/SUNWscor/oracle_server/etc/SUNW.oracle_server です。
SUNW.oracle_server リソースタイプの各インスタンスの編集に必要な情報は、次のとおりです。
移行はいつでも実行できます。
バージョン 3.1 10/03 で導入された SUNW.oracle_server リソースタイプの機能を使用する必要がある場合、Type_version プロパティーの値は 4 である必要があります。
バージョン 3.1 8/05 で導入された SUNW.oracle_server リソースタイプの機能を使用する必要がある場合、Type_version プロパティーの値は 5 である必要があります。
サーバー障害モニターの動作をカスタマイズした場合は、Custom_action_file 拡張プロパティーを設定する必要があります。詳細については、「Sun Cluster HA for Oracle サーバー 障害モニターのカスタマイズ」を参照してください。
SUNW.oracle_server リソースタイプのバージョン 4 を使用する場合、新しいデフォルト値が必要な場合のみ バージョン 4 にアップグレードします。バージョン 4 のデフォルト値で十分であれば、アップグレードする必要はありません。
次の例は、 SUNW.oracle_server リソースタイプのインスタンスの編集のコマンドです。
# clresource set -p Type_version=4 \ -p custom_action_file=/opt/SUNWscor/oracle_server/etc/srv_mon_cust_actions \ oracle-srs |
このコマンドは SUNW.oracle_server リソースを次のように編集します。
SUNW.oracle_server リソースは oracle-srs と名付けられます。
このリソースの Type_version プロパティを 4 に設定します。
このリソースの障害モニターのカスタム動作は、ファイル /opt/SUNWscor/oracle_server/etc/srv_mon_cust_actions で指定します。
Oracle プライマリデータベースと Oracle スタンバイデータベースの間で、データベースロールのフェイルオーバーまたはスイッチオーバーが可能です。Oracle コマンドを使用して DataGuard インスタンスのロールを変更する場合、変更はこれらのインスタンスを表す Sun Cluster リソースには伝播しません。したがって、必ず Sun Cluster コマンドを使用してこれらのリソースのプロパティーを変更して、データベースのインスタンスが正しいロールで起動するようにする必要があります。
Sun Cluster が間違ったロールのインスタンスを起動しないようにします。
DataGuard インスタンスのロールの変更中にノードまたはゾーンが失敗した場合、Sun Cluster がインスタンスを正しくないロールで起動することがあります。これを防ぐには、インスタンスを表す Oracle サーバーリソースの拡張プロパティー Dataguard_role を IN_TRANSITION に変更します。
# clresource set -p Dataguard_role=IN_TRANSITION server-rs |
Oracle データベースで必要な操作を行って、データベースを新しいロールに変換します。
インスタンスを表す Oracle サーバーリソースの次の拡張プロパティーを変更して、インスタンスの新しいロールを反映させます。
Dataguard_role
Standby_mode
次のように、Dataguard_role と Standby_mode の必要な組み合せはロールの変更に依存します。
プライマリデータベースからプリマリスタンバイデータベースに変更するには、次のコマンドを実行します。
# clresource set -p Dataguard_role=STANDBY -p Standby_mode=PHYSICAL server-rs |
プライマリデータベースから論理スタンバイデータベースに変更するには、次のコマンドを実行します。
# clresource set -p Dataguard_role=STANDBY \ -p Standby_mode=LOGICAL server-rs |
スタンバイデータベースからプライマリデータベースに変更するには、次のコマンドを実行します。
# clresource set -p Dataguard_role=PRIMARY server-rs |