Oracle® Solaris Cluster データサービス (Oracle Database 用)

印刷ビューの終了

更新: 2014 年 9 月
 
 

Oracle Grid Infrastructure なしで HA for Oracle Database を登録および構成する方法 (CLI)

この手順では、Oracle Solaris Cluster の長い形式の保守コマンドを使用します。多くのコマンドには短縮形もあります。コマンド名の形式を除き、コマンドは同一です。

始める前に

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

  • /etc/netmasks ファイルに、すべての論理ホスト名の IP アドレスのサブネットとネットマスクのエントリがある。必要に応じて、/etc/netmasks ファイルを編集して、不足しているエントリがある場合は追加します。

  • ボリュームマネージャーを使用している場合、クラスタのボリュームマネージャーが、Oracle Database ソフトウェアを実行する可能性があるすべての Oracle Solaris Cluster ノードからアクセスできる共有ストレージのボリュームを提供するように構成されている。

  • ボリュームマネージャーを使用している場合、Oracle Database ソフトウェアがそのデータベースに使用するストレージボリュームに raw デバイスとファイルシステムが作成されている。

  • Oracle Database ソフトウェアが、Oracle Database を実行する可能性のあるすべてのクラスタノードからアクセスできるようにインストールされている。

  • UNIX オペレーティングシステムのカーネル変数が Oracle Database 用に構成されている。

  • Oracle Database ソフトウェアが、Oracle Database を実行する可能性のあるすべてのクラスタノードに対して構成されている。

  • データサービスパッケージがインストールされている。

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

  • データサービスをマスターするクラスタノードの名前。

  • クライアントがデータサービスにアクセスするために使用する論理ホスト名。通常は、クラスタをインストールする際に、この IP アドレスを設定します。ネットワークリソースの詳細については、Oracle Solaris Cluster Concepts Guide を参照してください。

  • 構成する予定があるリソースの Oracle Database アプリケーションバイナリへのパス。

  • データベースのタイプ。

  1. クラスタメンバーで、スーパーユーザーになるか、solaris.cluster.modify および solaris.cluster.admin RBAC 承認を提供する役割になります。
  2. データサービスのリソースタイプを登録します。

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


    注 -  クラスタ用 Oracle Grid Infrastructure の単一クライアントアクセス名 (SCAN) リスナーを使用している場合は、SUNW.oracle_listener リソースタイプの登録を省略します。
    # clresourcetype register SUNW.oracle_server
    # clresourcetype register SUNW.oracle_listener
  3. ネットワークとアプリケーションのリソースを保持するフェイルオーバーリソースグループを作成します。

    Oracle Solaris ZFS ファイルシステムを使用している場合は、Oracle Solaris Cluster ノードの準備方法で高可用性ローカル ZFS ファイルシステムを構成したときに、リソースグループが作成されているため、この段階は必要ありません。この手順のほかのステップで作成したリソースは、このリソースグループに追加されます。

    オプションで、次のようにデータサービスを –n オプションで実行できるクラスタノードのセットを選択できます。

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

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

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

    この確認は、Oracle Solaris Cluster のインストール中に行う必要があります。


    注 -  ネームサービスの検索による障害を回避するために、サーバーとクライアントの /etc/inet/hosts ファイルにすべてのネットワークリソースが存在することを確認します。
  5. 論理ホスト名リソースをフェイルオーバーリソースグループに追加します。
    # clreslogicalhostname create -g resource-group [-h logical-hostname] logical-hostname-rs
    logical-hostname

    論理ホスト名を指定します。この論理ホスト名は、ネームサービスデータベースに存在する必要があります。logical-hostnamelogical-hostname-rs が同一の場合、logical-hostname はオプションです。

    logical-hostname-rs

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

  6. SUNW.HAStoragePlus リソースタイプをクラスタに登録します。
    # clresourcetype register SUNW.HAStoragePlus
  7. タイプ SUNW.HAStoragePlus のリソースをフェイルオーバーリソースグループに追加します。

    注 -  Oracle ファイルに Oracle Solaris ZFS ファイルシステムを使用する場合は、この手順を省略します。HAStoragePlus リソースは、高可用性ローカル ZFS ファイルシステムを構成したときに作成されています。詳細は、Oracle Solaris Cluster ノードの準備方法を参照してください。

    Caution

    注意  -  Oracle Solaris Cluster デバイスグループの raw デバイスは非大域ゾーンでサポートされていません。


    # 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 Database アプリケーションリソースを作成します。
    • Oracle Database サーバーリソース:

      # clresource create -g resourcegroup \
      -t SUNW.oracle_server \
      -p Alert_log_file=path-to-log \
      -p Connect_string=user/passwd \
      -p Oracle_sid=instance \
      -p Oracle_home=Oracle_home \
      -p Restart_type=entity-to-restart \
      [-p Dataguard_role=role] \
      [-p Standby_mode=mode] \
      -p Resource_dependencies_offline_restart=storageplus-resource \
      resource
    • Oracle Database リスナーリソース:

      # clresource create -g resource-group \
      -t SUNW.oracle_listener \
      -p Listener_name=listener \
      -p Oracle_home=Oracle_home \
      -p Resource_dependencies_offline_restart=storageplus-resource \
      resource
    –g resource-group

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

    –t

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

    –p Alert_log_file =path-to-log

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

    –p Connect_string =user/passwd

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

    –p Oracle_sid=instance

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

    –p Oracle_home=Oracle_home

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

    –p Listener_name=listener

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

    –p Restart_type=entity-to-restart

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

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

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

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

    –p Dataguard_role=role

    データベースインスタンスの役割を指定します。role を次のように変更します。

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

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

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

    –p Standby_mode=mode

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

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

    • 物理スタンバイデータベースを指定するには、modePHYSICAL に変更します。

    • スナップショットスタンバイデータベースを指定するには、modeSNAPSHOT に変更します。

    resource

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


    注 -  オプションとして、Oracle Database のデータサービスに属している追加の拡張プロパティーを設定して、それらのデフォルト値をオーバーライドできます。拡張プロパティーのリストについては、HA for Oracle Database 拡張プロパティーの設定を参照してください。

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

使用例 1-1  大域ゾーンで実行する HA for Oracle Database の登録

この例は、2 ノードのクラスタでの HA for Oracle Database の登録方法を示しています。コマンドで使用する名前の例は、次のとおりです。

ノード名

phys-schost-1、phys-schost-2

論理ホスト名

schost-1

リソースグループ

resource-group-1 (フェイルオーバーリソースグループ)

HAStoragePlus リソース

hastp-rs

Oracle リソース

oracle-server-1、oracle-listener-1

Oracle インスタンス

ora-lsnr (リスナー)、ora-srvr (サーバー)

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 Database resource types.
# clresourcetype register SUNW.oracle_server
# clresourcetype register SUNW.oracle_listener
 
Add the Oracle Database application resources to the resource group.
# clresource create -g resource-group-1 \
-t SUNW.oracle_server \
-p Alert_log_file=/global/oracle/message-log \
-p Connect_string=scott/tiger \
-p Oracle_home=/global/oracle \
-p Oracle_sid=ora-srvr \-p Dataguard_role=STANDBY \
-p Standby_mode=PHYSICAL \
-p Resource_dependencies_offline_restart=hastp-rs \
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
使用例 1-2  ゾーンクラスタで実行する HA for Oracle Database の登録

この例は、ゾーンクラスタでの HA for Oracle Database の登録方法を示しています。グローバルクラスタから発行されるコマンドで使用される名前の例は、次のとおりです。

ノード名

phys-schost-1、phys-schost-2

ゾーンクラスタ名

zonecluster1、zonecluster2

論理ホスト名

zchost-1

リソースグループ

resource-group-1 (フェイルオーバーリソースグループ)

HAStoragePlus リソース

hastp-rs

Oracle リソース

oracle-server-1、oracle-listener-1

Oracle インスタンス

ora-lsnr (リスナー)、ora-srvr (サーバー)

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 Database resource types.)
# clresourcetype register -Z zonecluster1 SUNW.oracle_server
# clresourcetype register -Z zonecluster1 SUNW.oracle_listener
 
Add the Oracle Database application resources to the resource group.)
# clresource create -Z zonecluster1 \
-g resource-group-1 \
-t SUNW.oracle_server \
-p Alert_log_file=/global/oracle/message-log \
-p Connect_string=scott/tiger \
-p Oracle_home=/global/oracle \
-p Oracle_sid=ora-srvr \
-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