この手順では、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 |