ここでは Sun Cluster HA for Oracle の構成手順について説明します。
付録 A 「Sun Cluster HA for Oracle 拡張プロパティー」 の拡張プロパティーを使用して、リソースを作成します。リソースを作成するときに、コマンド scrgadm -x parameter=value を使用して、拡張プロパティーを構成します。リソースをすでに作成してある場合は、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の第 2 章「データサービスリソースの管理」の手順を使用して拡張プロパティーを構成します。拡張プロパティーの中には動的に変更できるものがあります。それ以外の拡張プロパティーは、リソースを作成するか無効にするときにしか更新できません。そのプロパティーをいつ変更できるかについては、説明欄の「調整 : 」を参照してください。Sun Cluster の全プロパティーの詳細は、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の付録 A「標準プロパティー」を参照してください。
「SUNW.oracle_server 拡張プロパティー」に、Oracle サーバーに設定できる拡張プロパティーを示します。Oracle サーバーの場合、設定する必要があるのは、次の拡張プロパティーだけです。
ORACLE_HOME
ORACLE_SID
Alert_log_file
Connect_string
次の手順に従って、Sun Cluster HA for Oracle をフェイルオーバーデータベースサービスとして構成します。この手順は、Sun Cluster の初回のインストール時にデータサービスパッケージをインストールしたことを前提としています。Sun Cluster の初回のインストールで Sun Cluster HA for Oracle パッケージをインストールしなかった場合は、「Sun Cluster HA for Oracle パッケージのインストール」に移動してデータサービスパッケージをインストールしてください。それ以外の場合は、次の手順で Sun Cluster HA for Oracle を構成します。
この手順を実行するには、次の情報を確認しておく必要があります。
データサービスをマスターするクラスタノードの名前。
クライアントがデータサービスにアクセスするために使用するネットワークリソース。通常、この IP アドレスはクラスタをインストールするときに設定します。ネットワークリソースの詳細は、『Sun Cluster の概念 (Solaris OS 版)』を参照してください。
構成しようと計画しているリソース用の Oracle アプリケーションのバイナリへのパス。
クラスタメンバー上でスーパーユーザーになります。
scrgadm コマンドを実行して、データサービスのリソースタイプを登録します。
Sun Cluster HA for Oracle の場合は、次のように、SUNW.oracle_server および SUNW.oracle_listener の 2 つのリソースタイプを登録します。
# scrgadm -a -t SUNW.oracle_server # scrgadm -a -t SUNW.oracle_listener |
データサービスのリソースタイプを追加します。
当該データサービス用にあらかじめ定義されているリソースタイプを指定します。
ネットワークとアプリケーションのリソースを格納するためのフェイルオーバーリソースグループを作成します。
次のように -h オプションを使用すると、データサービスを実行できるノードのセットを選択できます。
# scrgadm -a -g resource-group [-h nodelist] |
リソースグループの名前を指定します。どのような名前でもかまいませんが、クラスタ内のリソースグループごとに一意である必要があります。
潜在マスターを識別するための物理ノード名または ID をコンマで区切って指定します (省略可能)。フェイルオーバー時、ノードはこのリスト内の順番に従ってプライマリとして判別されます。
ノードリストの順番を指定するには、-h オプションを使用します。クラスタ内にあるすべてのノードが潜在マスターである場合、-h オプションを使用する必要はありません。
使用するすべてのネットワークリソースがネームサービスデータベースに追加されていることを確認します。
Sun Cluster のインストール時に、この確認を行なっておく必要があります。
ネームサービスの検索における問題を回避するために、すべてのネットワークリソースがサーバーとクライアントの /etc/inet/hosts ファイルに存在することを確認します。
ネットワークリソースをフェイルオーバーリソースグループに追加します。
# scrgadm -a -L -g resource-group -l logical-hostname [-n netiflist] |
ネットワークリソースを指定します。ネットワークリソースは、クライアントが Sun Cluster HA for Oracle にアクセスするときに使用する論理ホスト名または共有アドレス (IP アドレス) です。
各ノード上の IP ネットワークマルチパス グループをコンマで区切って指定します (省略可能)。netiflist の各要素は、netif@node の形式にする必要があります。netif は IP ネットワークマルチパス グループ名 (sc_ipmp0 など) として指定できます。ノードは、ノード名またはノード ID (sc_ipmp0@1、sc_ipmp@phys-schost-1 など) で識別できます。
現在 Sun Cluster では、netif にアダプタ名は使用できません。
SUNW.HAStoragePlus リソースタイプをクラスタに登録します。
# scrgadm -a -t SUNW.HAStoragePlus |
タイプ SUNW.HAStoragePlus のリソース oracle-hastp-rs を作成します。
# scrgadm -a -j oracle-hastp-rs -g oracle-rg -t SUNW.HAStoragePlus \ [データベースが raw デバイスにある場合は、広域デバイスパスを指定します。] -x GlobalDevicePaths=ora-set1,/dev/global/dsk/dl \ [データベースが Cluster File Service にある場合は、 広域ファイルシステムとローカルファイルシステムマウントポイントを指定します。] -x FilesystemMountPoints=/global/ora-inst,/global/ora-data/logs,/ local/ora-data \ [AffinityOn を true に設定します。] -x AffinityOn=TRUE |
フェイルオーバーを行うためには、AffinityOn が TRUE に設定され、ローカルファイルシステムが広域ディスクグループ上に存在する必要があります。
scswitch コマンドを実行して次の作業を完了し、リソースグループ oracle-rg をクラスタノード上でオンラインにします。
切り替えは、リソースグループレベルに限定して行なってください。デバイスグループレベルで切り替えると、リソースグループが混乱し、フェイルオーバーが発生します。
リソースグループを MANAGED (管理) 状態にします。
リソースグループをオンラインにします。
このノードは、デバイスグループ ora-set1 および raw デバイス /dev/global/dsk/d1 のプライマリになります。ファイルシステムに関連するデバイスグループ (/global/ora-inst、/global/ora-data/logs など) もこのノード上でプライマリになります。
# scswitch -Z -g oracle-rg |
Oracle アプリケーションリソースをフェイルオーバーリソースグループに作成します。
Oracle サーバーリソース :
# scrgadm -a -j resource -g resource-group \ -t SUNW.oracle_server \ -x Connect_string=user/passwd \ -x ORACLE_SID=instance \ -x ORACLE_HOME=Oracle-home \ -x Alert_log_file=path-to-log \ -x Restart_type=entity-to-restart -y resource_dependencies=storageplus-resource |
Oracle リスナーリソース :
# scrgadm -a -j resource -g resource-group \ -t SUNW.oracle_listener \ -x LISTENER_NAME=listener \ -x ORACLE_HOME=Oracle-home -y resource_dependencies=storageplus-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 サーバーリソースの再起動時に再起動する必要があるリソースだけを含めます。
Oracle データサービスに属する拡張プロパティーを設定して、そのデフォルト値を変更できます。どのような拡張プロパティーがあるかについては、「Sun Cluster HA for Oracle 拡張プロパティーの設定」を参照してください。
リソースと障害の監視を有効にします。
# scswitch -Z -g resource-group |
リソースとモニターを有効にし、リソースグループを MANAGED 状態にし、リソースグループをオンラインにします。
リソースグループの名前を指定します。
次に、2 ノード構成のクラスタで Sun Cluster HA for Oracle を登録する例を示します。
クラスタ情報 ノード名: phys-schost-1, phys-schost-2 論理ホスト名: schost-1 リソースグループ: resource-group-1 (フェイルオーバーリソースグループ) Oracle リソース: oracle-server-1, oracle-listener-1 Oracle インスタンス: ora-lsnr (リスナー), ora-srvr (サーバー) (フェイルオーバーリソースグループを追加してすべてのリソースを含めます。) # scrgadm -a -g resource-group-1 ((論理ホスト名をリソースをリソースグループに追加します。) # scrgadm -a -L -g resource-group-1 -l schost-1 (Oracle リソースタイプを登録します。) # scrgadm -a -t SUNW.oracle_server # scrgadm -a -t SUNW.oracle_listener (Oracle アプリケーションリソースをリソースグループに追加します。) # scrgadm -a -j oracle-server-1 -g resource-group-1 \ -t SUNW.oracle_server -x ORACLE_HOME=/global/oracle \ -x Alert_log_file=/global/oracle/message-log \ -x ORACLE_SID=ora-srvr -x Connect_string=scott/tiger # scrgadm -a -j oracle-listener-1 -g resource-group-1 \ -t SUNW.oracle_listener -x ORACLE_HOME=/global/oracle \ -x LISTENER_NAME=ora-lsnr (リソースグループをオンラインにします。) # scswitch -Z -g resource-group-1 |
Sun Cluster HA for Oracle の登録と構成が完了したら、「Sun Cluster HA for Oracle のインストールの確認」に進みます。