Sun Cluster の Oracle 用データサービス (Solaris OS 版)

ProcedureASM を使用しないで Sun Cluster メンテナンスコマンドを使用して Sun Cluster HA for Oracle を登録および構成する方法

この手順では、Sun Cluster の保守コマンドの長い形式を使用します。多くのコマンドには短縮形もあります。コマンド名の形式を除き、コマンドは同じです。コマンドリストとコマンドの短縮形については、『Sun Cluster 3.1 - 3.2 Hardware Administration Manual for Solaris OS』の付録 A「Sun Cluster Geographic Edition Object-Oriented Commands」を参照してください。

始める前に

次の前提条件を満たしていることを確認します。

次の情報を用意してください。

  1. クラスタメンバーで、スーパーユーザーになるか、solaris.cluster.modify および solaris.cluster.admin RBAC の承認を提供する役割になります。

  2. データサービスのリソースタイプを登録します。

    Sun Cluster HA for Oracle に対して、次のように SUNW.oracle_serverSUNW.oracle_listener の 2 つのリソースタイプを登録します。


    # clresourcetype register SUNW.oracle_server
    # clresourcetype register SUNW.oracle_listener
    
  3. フェイルオーバーリソースグループを作成して、ネットワークとアプリケーションのリソースを保持します。

    高可用性ローカル ZFS を構成したときにリソースグループを作成したため、Solaris ZFS を使用する場合は、この手順は不要です。この手続きの別の手順で作成したリソースは、このリソースグループに追加する必要があります。

    オプションとして、次のようにデータサービスを -n オプションで実行できるノードまたはゾーンのセットを選択できます。


    # clresourcegroup create [-n node-zone-list] resource-group
    
    -n node-zone-list

    このリソースグループをマスターできるゾーンの、コンマ区切りの順序付けされたリストを指定します。リスト内の各エントリの形式は node:zone です。この形式では、 node はノードの名前または ID を指定し、zone は非大域 Solaris ゾーンの名前を指定します。大域ゾーンを指定する、または非大域ゾーンを持たないノードを指定するには、node のみを指定します。

    このリストの順番が、フェイルオーバー中にプライマリであると考えられるノードまたはゾーンの順番を決定します。このリストはオプションです。このリストを省略すると、各クラスタの大域ゾーンはリソースグループをマスターできます。

    resource-group

    リソースグループの名前を指定します。これには任意の名前が指定できますが、クラスタ内のリソースグループで一意である必要があります。

  4. 使用するすべてのネットワークリソースがネームサービスのデータベースに追加されていることを確認します。

    Sun Cluster のインストールの間に、この確認を実行する必要があります。


    注 –

    ネームサービスの検索による障害を避けるために、すべてのネットワークリソースがサーバーとクライアントの /etc/inet/hosts ファイルに存在することを確認します。


  5. 論理ホスト名リソースをフェイルオーバーリソースグループに追加します。


    # clreslogicalhostname create -g resource-group [-h logicalhostname] \
    logicalhotname-rs
    
    logicalhostname

    論理ホスト名を指定します。この論理ホスト名は、ネームサービスデータベースに存在する必要があります。logicalhostname logicalhostname-rs が同一なら、logicalhostname は省略可能です。

    logicalhostname-rs

    作成している論理ホスト名リソースに割り当てる名前を指定します。

  6. クラスタにSUNW.HAStoragePlus リソースタイプを登録します。


    # clresourcetype register SUNW.HAStoragePlus
    
  7. タイプ 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 拡張プロパティーをグローバルデバイスのパスに設定します。

    • データベースがクラスタファイルシステムにある場合は、クラスタファイルシステムおよびローカルファイルシステムのマウントポイントを指定します。


    注 –

    AffinityOnTRUE に設定し、ローカルファイルシステムはフェイルオーバーであるグローバルディスクグループにある必要があります。


    リソースは有効状態で作成されます。

  8. クラスタのノードまたはゾーンで管理状態にあるフェイルオーバーリソースグループをオンラインにします。


    # clresourcegroup online -M resource-group
    
    -M

    オンラインになったリソースグループを管理状態にします。

  9. フェイルオーバーリソースグループで、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
      
    -g resource-group

    リソースを配置するリソースグループの名前を指定します。

    -t SUNW.oracle_server/listener

    追加するリソースのタイプを指定します。

    -p Alert_log_file =path-to-log

    サーバーのメッセージログのパスの $ORACLE_HOME 以下を設定します。

    -p Connect_string =user/passwd

    障害モニターがデータベースへの接続に使用するユーザーおよびパスワードを指定します。この設定は、「Oracle データベースのアクセス権を設定する」 で設定したアクセス権と一致している必要があります。Solaris の認証を使用する場合は、ユーザー名とパスワードの代わりにスラッシュ (/) を入力します。

    -p ORACLE_SID= instance

    Oracle システム識別子を設定します。

    -p LISTENER_NAME= listener

    Oracle リスナーインスタンスの名前を設定します。この名前は、listener.ora の対応するエントリと一致している必要があります。

    -p ORACLE_HOME= Oracle-home

    Oracle のホームディレクトリへのパスを設定します。

    -p Restart_type= entity-to-restart

    障害への応答が再起動されたときに、サーバーの障害モニターが再起動させるエンティティーを指定します。entity-to-restart は、次のように設定します。

    • このリソースだけが再起動するように指定するには、 entity-to-restartRESOURCE_RESTART に設定します。デフォルトでは、このリソースだけが再起動されます。

    • このリソースを含むリソースグループのすべてのリソースが再起動されるように指定するには、entity-to-restart RESOURCE_GROUP_RESTART に設定します。

      entity-to-restart RESOURCE_GROUP_RESTART に設定すると、たとえ障害がなくても、リソースグループのほかのすべてのリソース (Apache または DNS など) が再起動されます。したがって、リソースグループには、Oracle サーバーリソースを再起動したときに、再起動する必要があるリソースだけを含めます。

    -p Dataguard_role= role

    データベースインスタンスのロールを指定します。 role を以下のように変更します。

    • スタンバイインスタンスが構成されていないプライマリデータベースインスタンスのリソースを作成するには、role NONE に変更します。この値は、デフォルト値です。

    • スタンバイインスタンスが構成されていないプライマリデータベースインスタンスのリソースを作成し、role PRIMARY に変更します。

    • スタンバイデータベースのインスタンスを作成するには、 roleSTANDBY に変更します。

    -p Standby_mode= mode

    スタンバイデータベースインスタンスのモードを指定します。Dataguard_roleNONE または PRIMARY に変更すると、Standby_modeの値は無視されます。

    • 論理スタンバイデータベースを指定し、モード LOGICAL に変更します。この値は、デフォルト値です。

    • 物理スタンバイデータベースを指定し、モード LOGICAL に変更します。

    resource

    作成するリソースグループの名前を指定します。


    注 –

    オプションとして、Oracle のデータサービスに属している追加の拡張プロパティを設定して、それらのデフォルト値を上書きすることが可能です。拡張プロパティーのリストについては、「Sun Cluster HA for Oracle 拡張プロパティーの設定」を参照してください。


    リソースは有効状態で作成されます。


例 1 大域ゾーンで実行する 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 の登録

次の例は、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


例 3 ゾーンクラスタで実行する Sun Cluster HA for Oracle の登録

次の例は、ゾーンクラスタでの 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