ここでは Sun Cluster HA for Oracle の構成手順について説明します。
表 1–2 の拡張プロパティを使用して、リソースを作成します。 リソースを作成するときに、コマンド scrgadm -x parameter=value を使用して拡張プロパティを構成します。 リソースが作成済みの場合は、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「データサービスリソースの管理」に記載されている手順で、拡張プロパティを構成します。 拡張プロパティの中には動的に変更できるものがあります。 それ以外の拡張プロパティは、リソースを作成するか無効にするときにしか更新できません。 そのプロパティをいつ変更できるかについては、説明欄の「調整 : 」を参照してください。 Sun Cluster の全プロパティの詳細は、『 Sun Cluster データサービスの計画と管理』の「標準プロパティ」を参照してください。
表 1–2 Sun Cluster HA for Oracle リスナー拡張プロパティ
名前/データタイプ |
説明 |
---|---|
Oracle リスナーの名前
初期値: LISTENER 範囲: なし 調整:無効時 (When_disabled)
|
|
Oracle ホームディレクトリへのパス
初期値: なし 範囲: 最小 = 1 調整:無効時 (When_disabled) |
|
障害モニターが Oracle リスナーを検証するときに使用するタイムアウト時間 (秒) です。 初期値: 30 範囲: 1– 99,999 調整: 任意の時点 導入リリース: 3.1 4/04 |
|
環境変数が含まれているファイル。リスナーの起動と停止の前に設定されます。 Oracle の初期値と値が異なる環境変数は、このファイルに定義する必要があります。 たとえば、ユーザーの listener.ora ファイルが、 /var/opt/oracle ディレクトリまたは $ORACLE_HOME/network/admin ディレクトリにないことがあります。 その場合は、TNS_ADMIN 環境変数を定義する必要があります。 各環境変数の定義は、VARIABLE_NAME = VARIABLE_VALUE という書式で行う必要があります。 これらの環境変数は、それぞれ環境ファイル内で 1 行に 1 つずつ指定する必要があります。
初期値: "" 範囲: なし 調整: 任意の時点 (Anytime) |
表 1–3 に、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 など) として指定できます。 ノードは、sc_ipmp0@1、sc_ipmp@phys-schost-1 などのノード名またはノード IDで特定できます。
現在 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_GROUP_RESTART を設定します。 デフォルトでは、このリソースを含むリソースグループが再起動します。
entity-to-restart に RESOURCE_GROUP_RESTART を設定すると、障害が発生していない場合でも、リソースグループ内の他のすべてのリソース (Apache、DNS など) が再起動します。 したがって、リソースグループには、Oracle サーバーリソースの再起動時に再起動する必要があるリソースだけを含めます。
このリソースだけを再起動する場合は、 entity-to-restart に RESOURCE_RESTART を設定します。
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 のインストールの確認 に進みます。