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

Sun Cluster HA for Oracle のインストールと構成

この章では、Sun Cluster HA for Oracle のインストールと構成方法について説明します。

この章の内容は次のとおりです。


注 –

Sun Cluster Manager を使用して、このデータサービスを構成できます。詳細については、Sun Cluster Manager のオンラインヘルプを参照してください。


Sun Cluster HA for Oracle のインストールと構成のプロセスの概要

次の表は、Sun Cluster HA for Oracle のインストールと構成の作業をまとめたものです。最初の表は、ASM を使用しない Sun Cluster HA for Oracle のインストールと構成の作業をまとめたものです。次以降の表は、ASM を使用したSun Cluster HA for Oracle のインストールと構成の作業をまとめたものです。表は、作業手順の詳細が記載されている参照先も示しています。作業は、一覧表示されている順番に従って行います。Sun Cluster HA for Oracle を Oracle DataGuard とともに使用している場合は、Oracle データベースのインスタンスを実行している各クラスタでこれらの作業を行います。

表 1 作業マップ: HA for Oracleのインストールと構成

作業 

参照先 

Sun Cluster HA for Oracle のインストールと構成の計画 

「Sun Cluster HA for Oracle のインストールと構成の計画」

ノードとディスクの準備 

「ノードとディスクの準備」

Oracle ソフトウェアのインストール 

「Oracle ソフトウェアのインストール方法」

Oracle のインストールの確認 

「Oracle のインストールの確認方法」

Oracle データベースの作成 

「プライマリ Oracle データベースの作成方法」

Oracle データベースのアクセス権の設定 

「Oracle データベースのアクセス権を設定する」

Sun Cluster HA for Oracle パッケージのインストール 

「Sun Cluster HA for Oracle パッケージのインストール」

Sun Cluster HA for Oracle の登録と構成 

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

Sun Cluster HA for Oracle のインストールの確認 

「Sun Cluster HA for Oracle のインストールの確認」

&Sun Cluster HA for Oracle 障害モニターのチューニング 

「 Sun Cluster HA for Oracle 障害モニターのチューニング」

(省略可能) Sun Cluster HA for Oracle サーバー障害モニターのカスタマイズ 

「Sun Cluster HA for Oracle サーバー 障害モニターのカスタマイズ」

(省略可能) Sun Cluster HA for Oracle リソースタイプのアップグレード 

「Sun Cluster HA for Oracle リソースタイプのアップグレード」

(省略可能) DataGuard インスタンスのロールの変更 

「DataGuard インスタンスのロールの変更」

表 2 作業マップ: シングルインスタンスの ASM を使用した HA for Oracle のインストールと構成

作業 

参照先 

Sun Cluster HA for Oracle のインストールと構成の計画 

「Sun Cluster HA for Oracle のインストールと構成の計画」

ノードとディスクの準備 

「ノードとディスクの準備」

ASM ソフトウェアのインストール  

「ASM ソフトウェアのインストール方法」

Oracle ソフトウェアのインストール 

「Oracle ソフトウェアのインストール方法」

Oracle のインストールの確認 

「Oracle のインストールの確認方法」

Oracle データベースの作成 

「プライマリ Oracle データベースの作成方法」

Oracle データベースのアクセス権の設定 

「Oracle データベースのアクセス権を設定する」

Sun Cluster HA for Oracle パッケージのインストール 

「Sun Cluster HA for Oracle パッケージのインストール」

Sun Cluster HA for Oracle の登録と構成 

「Sun Cluster メンテナンスコマンドを使用するシングルインスタンス ASM の Sun Cluster HA for Oracle の登録および構成の方法」

Sun Cluster HA for Oracle のインストールの確認 

「Sun Cluster HA for Oracle のインストールの確認」

&Sun Cluster HA for Oracle 障害モニターのチューニング 

「 Sun Cluster HA for Oracle 障害モニターのチューニング」

(省略可能) Sun Cluster HA for Oracle サーバー障害モニターのカスタマイズ 

「Sun Cluster HA for Oracle サーバー 障害モニターのカスタマイズ」

(省略可能) Sun Cluster HA for Oracle リソースタイプのアップグレード 

「Sun Cluster HA for Oracle リソースタイプのアップグレード」

(省略可能) DataGuard インスタンスのロールの変更 

「DataGuard インスタンスのロールの変更」

表 3 作業マップ: クラスタ ASM を使用した HA for Oracle のインストールと構成

作業 

参照先 

Sun Cluster HA for Oracle のインストールと構成の計画 

「Sun Cluster HA for Oracle のインストールと構成の計画」

ノードとディスクの準備 

「ノードとディスクの準備」

ASM ソフトウェアのインストール  

「ASM ソフトウェアのインストール方法」

Oracle ソフトウェアのインストール 

「Oracle ソフトウェアのインストール方法」

Oracle のインストールの確認 

「Oracle のインストールの確認方法」

Oracle データベースの作成 

「プライマリ Oracle データベースの作成方法」

Oracle データベースのアクセス権の設定 

「Oracle データベースのアクセス権を設定する」

Sun Cluster HA for Oracle パッケージのインストール 

「Sun Cluster HA for Oracle パッケージのインストール」

Sun Cluster HA for Oracle の登録と構成 

「Sun Cluster メンテナンスコマンドを使用したクラスタ ASM インスタンスの Sun Cluster HA for Oracle の登録および構成の方法」

Sun Cluster HA for Oracle のインストールの確認 

「Sun Cluster HA for Oracle のインストールの確認」

&Sun Cluster HA for Oracle 障害モニターのチューニング 

「 Sun Cluster HA for Oracle 障害モニターのチューニング」

(省略可能) Sun Cluster HA for Oracle サーバー障害モニターのカスタマイズ 

「Sun Cluster HA for Oracle サーバー 障害モニターのカスタマイズ」

(省略可能) Sun Cluster HA for Oracle リソースタイプのアップグレード 

「Sun Cluster HA for Oracle リソースタイプのアップグレード」

(省略可能) DataGuard インスタンスのロールの変更 

「DataGuard インスタンスのロールの変更」

Sun Cluster HA for Oracle のインストールと構成の計画

この節では、Sun Cluster HA for Oracle のインストールと構成の計画に必要な情報について説明します。

構成の必要条件


注意 – 注意 –

以下の条件を守らないと、データサービスの構成がサポートされない場合があります。


この節で説明する条件に従って、Sun Cluster HA for Oracle のインストールと構成を計画します。これらの条件は、Sun Cluster HA for Oracle にだけ適用されます。Sun Cluster HA for Oracle のインストールと構成を進める前に、これらの条件を満たしておく必要があります。必要に応じて、Sun Cluster HA for Oracle は非大域ゾーンで実行するように構成できます。Sun Cluster HA for Oracle を非大域ゾーンで実行するように構成する場合は、高可用性ローカルファイルシステムを使用する必要があります。Sun Cluster HA for Oracle はゾーンクラスタで構成することも可能です。


注意 – 注意 –

非大域ゾーンでは、Sun Cluster デバイスグループの raw デバイスはサポートされません。


すべてのデータサービスに適用される条件については、『Sun Cluster Data Services Planning and Administration Guide for Solaris OS』「Configuration Guidelines for Sun Cluster Data Services」を参照してください。

構成の計画に関する質問

この節で説明されている質問を活用して、Sun Cluster HA for Oracle のインストールと構成を計画してください。『Sun Cluster Data Services Planning and Administration Guide for Solaris OS』「Configuration Worksheets」にあるデータサービスのワークシートの余白に、これらの質問への回答を書き込みます。

ノードとディスクの準備

この節では、ノードとディスクの準備に必要な手順を説明します。

Procedureノードの準備方法

この手順を使用して、Oracle ソフトウェアのインストールと構成の準備をします。


注意 – 注意 –

すべてのノードで、この節で説明するすべての手順を実行します。すべてのノードで、すべての手順を実行しないと、Oracle のインストールは完了しません。Oracle のインストールが不完全であると、Sun Cluster HA for Oracle は起動中に失敗します。



注 –

この手順を実行する前に Oracle のドキュメントを参照してください。


以下の手順でノードを準備し、Oracle ソフトウェアをインストールします。

  1. すべてのクラスタのメンバーでスーパーユーザーになります。

  2. Sun Cluster HA for Oracle のクラスタファイルシステムを構成します。


    注意 – 注意 –

    非大域ゾーンでは、Sun Cluster デバイスグループの raw デバイスはサポートされません。


    データベースが raw デバイスに含まれる場合は、raw デバイスにアクセスするグローバルデバイスを構成します。グローバルデバイスの構成方法については、『Sun Cluster ソフトウェアのインストール (Solaris OS 版)』を参照してください。

    Solaris ボリュームマネージャーソフトウェアを使用する場合は、Oracle ソフトウェアがミラーメタデバイスまたは raw ミラーメタデバイスで UNIX ファイルシステム (UFS) ログ記録を使用するように構成します。raw ミラーメタデバイスの構成方法の詳細については、Solaris ボリュームマネージャー のドキュメントを参照してください。

    Oracle のファイルに Solaris Zettabyte File System (ZFS) を使用する場合は、高可用性ローカル ZFS を構成します。詳細については、『Sun Cluster Data Services Planning and Administration Guide for Solaris OS』「How to Set Up the HAStoragePlus Resource Type to Make a Local Solaris ZFS Highly Available」を参照してください。

    Sun QFS ファイルシステムを使用する場合は、Sun QFS ファイルシステムを Oracle で使用できるよう構成します。Sun QFS ファイルシステムの構成の詳細については、『Sun Cluster Data Service for Oracle RAC Guide for Solaris OS』「Using the Sun QFS Shared File System」を参照してください。

  3. ローカルディスクまたはマルチホストディスクで $ORACLE_HOME ディレクトリを準備します。


    注 –

    Oracle バイナリファイルをローカルディスクにインストールする場合は、できる限り別のディスクを使用します。Oracle バイナリファイルを別のディスクにインストールすると、オペレーティング環境を再インストールしたときに上書きされることを防げます。ASM を使用する場合は、2 つの $ORACLE_HOME ディレクトリを作成する必要があります。1 つは Oracle データベース用 $ORACLE_HOME、もう 1 つは ASM 用 $ORACLE_HOME です。


  4. それぞれのノードまたはゾーンで、/etc/group ファイルにデータベース管理者 (DBA) グループのエントリを作成し、必要なユーザーをそのグループに追加します。

    通常は、DBA グループの名前は dba とします。oracle ユーザーが dba グループのメンバーであることを確認し、必要に応じてほかの DBA ユーザーのエントリを追加します。次の例で示すように、Sun Cluster HA for Oracle を実行するすべてのノードまたはゾーンでグループ ID が同じであることを確認します。


    dba:*:520:root,oracle

    ASM を使用する場合、/etc/group ファイルに ASM 用の DBA グループの追加エントリを加える必要があります。


    dba:*:520:root,oracle,oraasm

    ネットワークネームサービス (たとえば、NIS または NIS+) でグループのエントリを作成できます。この方法でグループのエントリを作成する場合は、ローカルの /etc/inet/hosts ファイルにエントリを追加して、ネットワークネームサービスに対する依存関係を削除します。

  5. それぞれのノードまたはゾーンで、Oracle ユーザー ID (oracle) のエントリを作成します。

    通常は、Oracle ユーザー ID は oracle とします。次のコマンドは、/etc/passwd ファイルおよび /etc/shadow ファイルを Oracle ユーザー ID のエントリで更新します。


    # useradd -u 120 -g dba -d /Oracle-home oracle
    

    oracle ユーザーのエントリが、Sun Cluster HA for Oracle を実行するすべてのノードまたはゾーンで同じであることを確認します。

    ASM を使用する場合、ASM 用に追加の Oracle ユーザー ID を作成する必要があります。


    # useradd -u 121 -g dba -d /asm-home oraasm
    
  6. 10.2.0.3 以上の Oracle データベースを使用している場合、それぞれの Solaris ゾーンで以下の手順を実行する必要があります。


    注 –

    これらの手順は、ゾーンの作成中に実行する必要があります。これらの手順の実行が失敗すると、エラーになります。エラーを解決するには、必要な特権を設定して、ORACLE_HOME /bin/localconfig reset ORACLE_HOME を実行します。



    # zoneadm -Z zcname halt
    zonecfg -Z zcname info limitpriv
    zoneadm -Z zcname set limitpriv=default,proc_priocntl
    zoneadm -Z zcname info limitpriv
    zoneadm -Z zcname boot
    

ProcedureSolaris ボリュームマネージャー を使用した Oracle データベースアクセスの構成方法

Solaris ボリュームマネージャー を使用して Oracle データベースを構成するには、この手順を使用します。


注 –

この手順は、大域ゾーンでのみ実行できます。


  1. Solaris ボリュームマネージャー ソフトウェアが使用するディスクデバイスを構成します。

    Solaris ボリュームマネージャー ソフトウェアの構成方法については、『Sun Cluster ソフトウェアのインストール (Solaris OS 版)』を参照してください。

  2. データベースを含む raw デバイスを使用する場合、次のコマンドを実行してそれぞれの raw ミラーメタデバイスの所有者、グループ、およびモードを変更します。

    raw デバイスを使用しない場合は、この手順を実行しないでください。

    1. raw デバイスを作成する場合、Oracle のリソースグループをマスターできる各ノードの各デバイスで次のコマンドを実行します。


      # chown oracle /dev/md/metaset/rdsk/dn
      # chgrp dba /dev/md/metaset/rdsk/dn
      # chmod 600 /dev/md/metaset/rdsk/dn
      
      metaset

      ディスクセットの名前を指定します。

      /rdsk/dn

      metaset ディスクセット内から raw ディスクデバイスの名前を指定します。

    2. 変更が有効であることを確認します。


      # ls -lL /dev/md/metaset/rdsk/dn
      

ProcedureVeritas Volume Manager を使用した Oracle データベースアクセスの構成方法

Veritas Volume Manager ソフトウェアを使用して Oracle データベースを構成するには、この手順を使用します。


注 –

この手順は、大域ゾーンでのみ実行できます。


  1. Veritas Volume Manager ソフトウェアが使用するディスクデバイスを構成します。

    Veritas Volume Manager の構成方法については、『Sun Cluster ソフトウェアのインストール (Solaris OS 版)』 を参照してください。

  2. データベースを含む raw デバイスを使用する場合、現在のディスクグループプライマリで次のコマンドを実行して、各デバイスの所有者、グループ、およびモードを変更します。

    raw デバイスを使用しない場合は、この手順を実行しないでください。

    1. raw デバイスを作成する場合、各 raw デバイスに対して次のコマンドを実行します。


      # vxedit -g diskgroup set user=oracle group=dba mode=600 volume
      
      diskgroup

      ディスクグループの名前を指定します

      volume

      ディスクグループ内の raw デバイスの名前を指定します。

    2. 変更が有効であることを確認します。


      # ls -lL /dev/vx/rdsk/diskgroup/volume
      
    3. デバイスグループをクラスタと同期させ、クラスタ全体で VxVM の一貫性を保ちます。


      # cldevicegroup sync diskgroup
      

ProcedureASM を使用した Oracle データベースアクセスの構成方法

この手順を使用して、ASM を使用する Oracle データベースアクセスを構成します。VxVM または SVM で ASM を使用できます。

  1. ASM ソフトウェアが使用するディスクデバイスを構成します。

    ASM の構成方法については、『Sun Cluster Data Service for Oracle RAC Guide for Solaris OS』「Using ASM」を参照してください。

  2. Oracle ASM ディスクグループが使用する Oracle ASM ディスクのアクセス権を設定します。

    1. Oracle のリソースグループのマスターを作ることができる各ノードの各デバイスで次のコマンドを実行します。


      # chown oraasm:dba /dev/did/rdisk/dn
      # chmod 660 /dev/did/rdisk/dn
      
    2. 変更が有効であることを確認します。


      # ls -lhL  /dev/did/rdisk/dn
      

ASM ソフトウェアのインストール方法

ASM のインストールでは、ASM インスタンスのインストールと作成、および必要な ASM ディスクグループの構成を実行します。ASM ディスクグループは、ASM インスタンスが管理する単位であるデータファイルを格納するディスクデバイスの集合です。ASM インスタンスはディスクグループをマウントして、ASM ファイルをデータベースインスタンスが使用できるようにします。

使用する ASM インスタンスのタイプを決定する必要があります。ASM インスタンスを、Oracle Clusterware インスタンスを使用する、シングルインスタンス ASM またはクラスタ ASM として使用できます。適切な ASM インスタンスを選択する方法については、「適切な ASM インスタンスの選択」を参照してください。

クラスタ ASM を使用している場合、まず Oracle CRS ソフトウェアをインストールし、次に ASM をインストールします。SPARC でクラスタ ASM を使用している場合、ASM のインストールの前に ORCLudlm パッケージもインストールする必要があります。

Oracle Universal Installer を実行する際は、ASM を構成、インストールし、ディスクグループを作成するオプションがあります。ASM のインストールおよび構成の詳細については、使用している Oracle データベースのバージョンに対応する Oracle のドキュメントを参照してください。

別のクラスタノードに ASM と同じディスクグループを作成する際は、ディスクグループをノードごとに 1 つずつ作成し、ほかのクラスタノードで同じディスクグループを作成する前にそのディスクグループをマウント解除する必要があります。


注 –

ASM のインストールを実行する前に、ASM の ORACLE_HOME があるファイルシステムを設定および構成する必要があります。


ASM ソフトウェアのインストールの確認方法

ASM ソフトウェアのインストール後、次の手順を実行することで、ASM ソフトウェアがインストールされ、ASM ディスクグループがクラスタノードにマウントされていることを確認できます。


# sqlplus  "/ as sysdba"
sql>	select * from v$sga;
sql>	select name,state from v$asm_diskgroup;
sql>	exit;
#

注 –

Oracle データベース 11g を使用している場合、sqlplus "/ as sysdba" の代わりに sqlplus "/ as sysasm" を使用する必要があります。


Oracle ソフトウェアのインストール

この節では、Oracle ソフトウェアのインストールに必要な手順を説明します。

ProcedureOracle ソフトウェアのインストール方法

  1. クラスタのメンバーでスーパーユーザーになります。

  2. クラスタファイルシステムでの Oracle ソフトウェアのインストールを計画している場合は、Sun Cluster ソフトウェアを起動し、デバイスグループの所有者になります。

    Oracle ソフトウェアをほかの場所にインストールする計画の場合は、この手順は省略します。

    インストール場所については、「ノードとディスクの準備」を参照してください。

  3. Oracle ソフトウェアをインストールします。

    Oracle のインストールを開始する前に、Oracle に必要なシステムリソースが構成されていることを確認します。oracle としてログインし、この手順を実行する前に、ディレクトリ全体の所有権を確認します。Oracle ソフトウェアのインストール方法に関する注意点は、該当する Oracle のインストールおよび構成ガイドを参照してください。

    • Solaris 9 OS を使用している場合、各ノードの /etc/system ファイルを標準的な Oracle インストール手順に適合するように変更します。変更が有効になるように各ノードを再起動します。

    • Solaris 10 OS を使用している場合は、Solaris Resource Management (SRM) を使用して、カーネルパラメータが Oracle の必要最小値以上に設定されていることを確認できます。Oracle カーネルパラメータ設定の詳細については、「Oracle カーネルパラメータの設定方法」を参照してください。Oracle 用にシステムリソースを構成したら、インストール自体を開始できます。

  4. (省略可能) Sun Cluster HA for Oracle を Oracle 10g R1 とともに使用している場合、Oracle の cssd デーモンが起動しないようにします。Sun Cluster HA for Oracle を Oracle 10g R2 とともに使用している場合は、この手順は省略します。

    Oracle の cssd デーモンのエントリを、Oracle ソフトウェアがインストールされているノードの /etc/inittab ファイルから削除します。このエントリを削除するには、 /etc/inittab ファイルから次の行を削除します。

    h1:23:respawn:/etc/init.d/init.cssd run >/dev/null 2>&1 > </dev/null

    Sun Cluster HA for Oracle は、Oracle の cssd デーモンを必要としません。したがって、このエントリを削除しても Oracle 10g R1 と Sun Cluster HA for Oracle の動作には影響しません。Oracle のインストールが変わり、Oracle の cssd デーモンが必要になった場合は、/etc/inittab ファイルのこのデーモンに対するエントリを復元します。


    注意 – 注意 –

    Oracle 10g R1Real Application Clusters を使用している場合は、/etc/inittab ファイルから cssd デーモンのエントリを削除しないでください。


    Oracle の cssd デーモンのエントリを /etc/inittab ファイルから削除する場合は、不要なエラーメッセージを表示しないように設定しておきます。そのように設定しておかないと、init(1M) コマンドが Oracle の cssd デーモンを起動しようとすることによって不要なエラーメッセージが表示されることがあります。Oracle バイナリファイルを高可用性ローカルファイルシステムまたはクラスタファイルシステムにインストールすると、これらのエラーメッセージが表示されます。Oracle バイナリファイルをインストールしたファイルシステムがマウントされるまで、メッセージは繰り返して表示されます。

    エラーメッセージは次のとおりです。


    INIT: Command is respawning too rapidly. Check for possible errors.
    id:  h1 "/etc/init.d/init.cssd run >/dev/null 2>&1 >/dev/null"

    Waiting for filesystem containing $CRSCTL.

    x86 プラットフォームで Sun Cluster HA for Oracle を使用している場合は、UNIX Distributed Lock Manager (Oracle UDLM) が使用できないことに関する不要なエラーメッセージも表示されることがあります。

    次のイベントが発生すると、これらのメッセージが表示されます。

    • ノードが非クラスタモードで実行されている。この場合、Sun Cluster が制御するファイルシステムがマウントされることはありません。

    • ノードをブートしている。この場合、Oracle バイナリファイルがインストールされているファイルシステムを Sun Cluster がマウントするまで、メッセージが繰返し表示されます。

    • Oracle のインストールが実行されていなかったノードまたはゾーンで、Oracleが起動されたか、あるいは失敗した。このような構成では、Oracle バイナリファイルは高可用性ローカルファイルシステムにインストールされます。この場合、Oracle のインストールが実行されたノードまたはゾーンのコンソールにメッセージが表示されます。

ProcedureOracle カーネルパラメータの設定方法

defaultプロジェクトは RGM がデータサービスを実行するためにを使用します。そのため default プロジェクトは Oracle に必要なリソースが含まれるように変更されます。Oracle を実行するために特定の SRM プロジェクトを使用したい場合は、プロジェクトを作成し、そのプロジェクトのシステムリソースを同じ手順で構成する必要があります。default に代わるプロジェクトの名前を指定します。リソースグループまたは Oracle サーバーのリソースを構成する場合、リソースグループまたはリソースの対応するプロパティーにそのプロジェクトの名前を指定します。

  1. default プロジェクトの設定を表示します。


    phys-X# prctl -i project default
    
  2. カーネルパラメータがまったく設定されていない場合や、いずれかのカーネルパラメータが Oracle に必要な最小値 (次の表を参照) に設定されていない場合は、パラメータを設定します。


    phys-X# projmod -s -K "parameter=(priv,value,deny)" default
    

    Oracle のカーネルパラメータ 

    必要な最小値 

    process.max-sem-nsems

    256 

    project.max-sem-ids

    100 

    project.max-shm-ids

    100 

    project.max-shm-memory

    4294967295 

    これらのパラメータの詳細については、Oracle10g インストールガイドを参照してください。

  3. 新しい設定を確認します。


    phys-X# prctl -i project default
    

Oracle のインストールと構成の確認

この節では、Oracle のインストールと構成の確認に必要な手順を説明します。

ProcedureOracle のインストールの確認方法

データサービスがまだインストールされていないので、この手順ではアプリケーションが高可用性であるかは確認しません。

  1. $ORACLE_HOME/bin/oracle ファイルの所有者、グループ、およびモードが次のとおりであることを確認します。

    • 所有者: oracle

    • グループ: dba

    • モード: -rwsr-s--x


    # ls -l $ORACLE_HOME/bin/oracle
    
  2. リスナーバイナリが $ORACLE_HOME/bin ディレクトリに存在することを確認します。

次の手順

この節で説明されている作業を完了したら、「Oracle データベースの作成」 に進みます。

Oracle データベースの作成

Oracle のインストールと構成を確認した後、必要な Oracle データベースを作成します。スタンバイデータベースなしで Oracle データベースを使用している場合、「プライマリ Oracle データベースの作成方法」 の手順を実行します。この手順は、追加で作成および構成するデータベースでは不要です。Oracle DataGuard を使用している場合、次のデータベースインスタンスを作成します。

Procedureプライマリ Oracle データベースの作成方法

  1. データベース構成ファイルを準備します。

    すべてのデータベース関連ファイル (データファイル、REDO ログファイル、および制御ファイル) を、共有 raw グローバルデバイスまたはクラスタファイルシステムのどちらかに配置します。インストール場所については、「ノードとディスクの準備」を参照してください。


    注 –

    データベースが非大域ゾーンに存在する場合は、データベース関連ファイルを共有 raw デバイスに配置しないでください。


    init$ORACLE_SID.ora または config$ORACLE_SID.ora ファイルで、control_files および background_dump_dest の割り当てが制御ファイルと警告ファイルの場所を指定するように変更します。


    注 –

    データベースへのログインに Solaris の認証を使用する場合、init$ORACLE_SID.ora ファイルの remote_os_authent 変数を True に設定します。


  2. 次のリストの中のユーティリティーを使用して、データベースの作成を開始します。

    • Oracle インストーラ

    • Oracle sqlplus(1M) コマンド

    • Oracle Database Configuration Assistant

    作成中、すべてのデータベース関連ファイルが、共有グローバルデバイス、クラスタファイルシステム、または高可用性ローカルファイルシステムのいずれかの適切な場所に配置されていることを確認します。

  3. 制御ファイルのファイル名が、構成ファイル内のファイル名と一致していることを確認します。

  4. v$sysstat ビューを作成します。

    カタログスクリプトを実行して v$sysstat ビューを作成します。Sun Cluster HA for Oracle 障害モニターでは、このビューを使用します。

次の手順

この節で説明する作業を完了したら、「Oracle データベースのアクセス権のセットアップ」 に進みます。

Oracle データベースのアクセス権のセットアップ


注意 – 注意 –

Oracle の物理スタンバイデータベースに対しては、この節の手順を実行しないでください。


この節にある手順を実行して、Oracle プライマリデータベースまたは Oracle 論理スタンバイデータベースのデータベースアクセス権限を設定します。

ProcedureOracle データベースのアクセス権を設定する

  1. 障害モニターに使用するユーザーのアクセスとパスワードを有効にします。

    • Oracle の認証方式を使用するには、v_$sysstat ビューと v_$archive_dest ビューでこのユーザーに権限を付与します。


      # sqlplus  "/ as sysdba"
      
      sql>	create user user identified by passwd;
      sql>	alter user user default tablespace system quota 1m on system;
      sql>	grant select on v_$sysstat to user;
      sql>	grant select on v_$archive_dest to user;
      sql>	grant select on v_$database to user;
      sql>	grant create session to user;
      sql>	grant create table to user;
      
      sql>	exit;
      #

      サポートされるすべての Oracle のリリースで、この方式を使用できます。

    • Solaris の認証方式を使用するには、次の手順を実行します。

      1. remote_os_authent パラメータが TRUE に設定されていることを確認します。


        # sqlplus  "/ as sysdba"
        sql> show parameter remote_os_authent
        
        NAME                       TYPE        VALUE
        ---------------------- ----------- ---------------
        remote_os_authent         boolean     TRUE
      2. os_authent_prefix パラメータの設定を決定します。


        # sql>  show parameter os_authent_prefix
        
        NAME                       TYPE        VALUE
        ---------------------- ----------- ---------------
        os_authent_prefix         string      ops$
      3. データベースに、Solaris の認証を使用する権限を付与します。


        sql> create user prefix user identified by externally default 
        tablespace system quota 1m on system;
        sql> grant connect, resource to prefix user;
        sql> grant select on v_$sysstat to prefix user;
        sql> grant select on v_$archive_dest to prefix user;
        sql> grant create session to prefix user;
        sql> grant create table to prefix user;
        sql> exit;
        
        #

        上記コマンドの各項目の意味は次のとおりです。

        • prefix os_authent_prefix パラメータの設定です。このパラメータのデフォルト設定は ops$ です。

        • user は、Solaris の認証を有効にするユーザーです。このユーザーが $ORACLE_HOME ディレクトリの下にあるファイルの所有権を持っていることを確認します。


        注 –

        prefix user の間にはスペースを入力しません。


  2. Sun Cluster ソフトウェア用に NET8 を構成します。

    listener.ora ファイルは、クラスタのすべてのノードまたはゾーンからアクセス可能である必要があります。これらのファイルは、クラスタファイルシステムか、Oracle のリソースを実行する可能性があるそれぞれのノードまたはゾーンのローカルファイルシステムに配置します。


    注 –

    listener.ora ファイルを /var/opt/oracle ディレクトリまたは $ORACLE_HOME/network/admin ディレクトリ以外の場所に配置する場合は、ユーザー環境ファイルの TNS_ADMIN 変数またはそれに相当する Oracle の変数を指定する必要があります。Oracle 変数については、Oracle のドキュメントを参照してください。また、clresource(1CL) コマンドを実行して、ユーザー環境ファイルをソースとするリソース拡張パラメータ User_env も設定する必要があります。形式の詳細については、SUNW.oracle_listener 拡張プロパティー」またはSUNW.oracle_server 拡張プロパティー」を参照してください。


    Sun Cluster HA for Oracle ではリスナーの名前に制限がありません - 有効な Oracle のリスナーの名前なら、何でも使用できます。

    次のコーディング例は、listener.ora で更新された行を示します。


    LISTENER =
    	(ADDRESS_LIST =
    			(ADDRESS =
    				(PROTOCOL = TCP) 
    					(HOST = logical-hostname) <- use logical hostname
    				(PORT = 1527)
    			)
    	)
    .
    .
    SID_LIST_LISTENER =
    	.
    			.
    						(SID_NAME = SID) <- Database name, 
    default is ORCL	

    次のコーディング例は、クライアントのマシンで更新された tnsnames.ora の行を示します。


    service_name =
    	.
    			.
    						(ADDRESS = 
    								(PROTOCOL = TCP)
    								(HOST = logicalhostname)	<- logical hostname
    								(PORT = 1527) <- must match port in LISTENER.ORA
    						)
    				)
    				(CONNECT_DATA =
    						(SID = <SID>)) <- database name, default is ORCL

    次の例は、以下の Oracle のインスタンスに対して listener.ora および tnsnames.ora ファイルを更新する方法を示します。

    インスタンス 

    論理ホスト 

    リスナー 

    ora8

    hadbms3

    LISTENER-ora8

    ora9

    hadbms4

    LISTENER-ora9

    対応する listener.ora のエントリは次のとおりです。


    LISTENER-ora9 =
    	(ADDRESS_LIST =
    			(ADDRESS =
    				(PROTOCOL = TCP)
    				(HOST = hadbms4)
    				(PORT = 1530)
    			)
    		)
    SID_LIST_LISTENER-ora9 =
    	(SID_LIST =
    			(SID_DESC =
    				(SID_NAME = ora9)
    			)
    		)
    LISTENER-ora8 =
      (ADDRESS_LIST =
        (ADDRESS= (PROTOCOL=TCP) (HOST=hadbms3)(PORT=1806))
      )
    SID_LIST_LISTENER-ora8 =
      (SID_LIST =
         (SID_DESC =
    			(SID_NAME = ora8)
    		 )	
      )

    対応する tnsnames.ora のエントリは次のとおりです。


    ora8 =
    (DESCRIPTION =
       (ADDRESS_LIST = 
    			(ADDRESS = (PROTOCOL = TCP) 
    			(HOST = hadbms3) 
    			(PORT = 1806))
       	)    
    	(CONNECT_DATA = (SID = ora8))
    )
    ora9 =
    (DESCRIPTION =
      (ADDRESS_LIST =
            (ADDRESS = 
    				(PROTOCOL = TCP) 
    				(HOST = hadbms4) 
    				(PORT = 1530))
      )
      	(CONNECT_DATA = (SID = ora9))
    )
  3. すべてのノードで Sun Cluster ソフトウェアがインストールされ、実行されていることを確認します。


    # cluster status +
    
次の手順

「Sun Cluster HA for Oracle パッケージのインストール」 に進んで Sun Cluster HA for Oracle パッケージをインストールします。

Sun Cluster HA for Oracle パッケージのインストール

初期 Sun Cluster インストール時に Sun Cluster HA for Oracle パッケージをインストールしなかった場合、この手順を実行してパッケージをインストールします。パッケージをインストールするには、Sun Java Enterprise System Common Installer を使用します。


注 –

ゾーンクラスタではなく、グローバルクラスタにある Sun Cluster HA for Oracle パッケージをインストールする必要があります。


ProcedureSun Cluster HA for Oracle パッケージをインストールする

Sun Cluster HA for Oracle パッケージをインストールする各クラスタノードに対して、この手順を実行します。

コマンド行インターフェース (CLI) またはグラフィカルユーザーインタフェース (GUI) を使用して、Sun Java Enterprise System Common Installer を実行することができます。CLI および GUI の内容および順序は類似しています。


注 –

このデータサービスを構成して非大域ゾーンで実行することを計画している場合でも、グローバルゾーンにこのデータのパッケージをインストールします。パッケージは、任意の既存の非大域ゾーンおよびパッケージをインストールしたあとに作成された非大域ゾーンに伝達されます。


始める前に

Sun JavaTM Availability Suite DVD-ROM があることを確認します。

GUI を使用して Sun Java Enterprise System Common Installer を実行することを意図している場合、DISPLAY 環境変数が設定されていることを確認します。

  1. データサービスパッケージをインストールするクラスタノード上で、スーパーユーザーになります。

  2. Sun Java Availability Suite DVD-ROM を DVD-ROM ドライブに読み込みます。

    ボリューム管理デーモン vold(1M) が実行中で、DVD-ROM デバイスを管理するために設定されている場合、デーモンは自動的に DVD-ROM を /cdrom ディレクトリにマウントします。

  3. DVD-ROM の Sun Java Enterprise System Common Installerディレクトリに移動します。

    • SPARC® プラットフォームにデータサービスパッケージをインストールする場合、次のコマンドを入力します。


      # cd /cdrom/cdrom0/Solaris_sparc
      
    • x86 プラットフォームにデータサービスパッケージをインストールする場合、次のコマンドを入力します。


      # cd /cdrom/cdrom0/Solaris_x86
      
  4. Sun Java Enterprise System Common Installer を起動します。


    # ./installer
    
  5. プロンプトが表示されたら、ライセンス契約を受け入れます。

    Sun Java Enterprise System コンポーネントがインストールされている場合、コンポーネントを更新するか、新しいソフトウェアをインストールするかを選択するプロンプトが表示されます。

  6. 使用可能なサービスの Sun Cluster エージェントのリストから、Oracle のデータサービスを選択します。

  7. 英語以外の言語のサポートが必要な場合、多言語パッケージをインストールするオプションを選択します。

    英語のサポートは常にインストールされます。

  8. データサービスを今すぐまたはあとで構成するかを尋ねるプロンプトが表示されたら、[あとで構成] を選択します。

    [あとで構成] を選択して、インストール後に構成を実行します。

  9. 画面の指示に従い、データサービスパッケージをノード上にインストールします。

    Sun Java Enterprise System Common Installer によって、インストールの状態が表示されます。インストールが完了すると、ウィザードによってインストールの概要およびインストールログが表示されます。

  10. (GUI のみ) 製品を登録せず、製品のアップデートを受け取らない場合は、製品登録オプションを選択解除します。

    CLI では製品登録オプションは使用できません。CLI を使用して Sun Java Enterprise System Common Installer を実行している場合は、このステップは省略します。

  11. Sun Java Enterprise System Common Installer を終了します。

  12. DVD-ROM ドライブから、Sun Java Availability Suite DVD-ROM を読み取り解除します。

    1. DVD-ROM が使用されていないことを確認し、DVD-ROM 上にないディレクトリに移動します。

    2. DVD-ROM を取り出します。


      # eject cdrom
      
次の手順

Sun Cluster HA for Oracle を登録し、データサービス用にクラスタを設定するには、「Sun Cluster HA for Oracle の登録と構成」を参照してください。

Sun Cluster HA for Oracle の登録と構成

Sun Cluster HA for Oracle の登録と構成のツール

Sun Cluster は、Sun Cluster HA for Oracle の登録と構成のための以下のツールを提供します。

clsetup ユーティリティーと Sun Cluster Manager のそれぞれには、Sun Cluster HA for Oracle を構成するウィザードがあります。ウィザードは、コマンドの構文エラーや省略から生じる構成エラーの可能性を低減します。また、これらのウィザードは、すべての必須リソースが作成され、リソース間で必要なすべての依存関係が設定されるようにします。

Sun Cluster HA for Oracle 拡張プロパティーの設定

NULL の拡張プロパティーを使用してリソースを作成します。リソースの拡張プロパティーを設定するには、リソースを作成または変更する clresource(1CL) コマンドにオプション -p property=value を指定します。すでにリソースを作成している場合は、『Sun Cluster Data Services Planning and Administration Guide for Solaris OS』の第 2 章「Administering Data Service Resources」の手順を使用して、拡張プロパティーを構成します。一部の拡張プロパティーは、動的に更新できます。ただし、ほかはリソースを作成するときか、無効にするときだけ更新できます。「調整可能」なエントリでは、それぞれのプロパティーを更新できます。すべての Sun Cluster プロパティーについては、『Sun Cluster Data Services Planning and Administration Guide for Solaris OS』の付録 B「Standard Properties」を参照してください。

SUNW.oracle_server 拡張プロパティー」 は、Oracle のサーバーに対して設定できる拡張プロパティーを説明します。Oracle サーバーでは、次の拡張プロパティーの設定だけが必要です。

Procedureclsetup ユーティリティーを使用して、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」を参照してください。


注 –

clsetup ユーティリティーは、ZFSでの Sun Cluster HA for Oracle 構成をサポートしません。


始める前に

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

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

  1. 任意のクラスタノードでスーパーユーザーになります。

  2. clsetup ユーティリティーを起動します。


    # clsetup
    

    clsetup のメインメニューが表示されます。

  3. データサービスのオプションに対応する番号を入力し、Return キーを押します。

    データサービス メニューが表示されます。

  4. Sun Cluster HA for Oracle の構成のオプションに対応する番号を入力し、Return キーを押します。

    clsetup ユーティリティーは、この作業を実行するための前提条件のリストを表示します。

  5. 前提条件が満たされていることを確認し、Return キーを押します。

    clsetup ユーティリティーに、クラスタノードのリストが表示されます。

  6. Oracle を実行するノードまたはゾーンを選択します。

    • 任意の順序で並んでいる一覧表示されたすべてのノードまたはゾーンのデフォルト選択をそのまま使用するには、Return キーを押します。

    • 一覧表示されたノードまたはゾーンのサブセットを選択するには、ノードまたはゾーンに対応する番号をコンマまたは空白で区切って並べて入力します。続いて、Return キーを押します。

      ノードまたはゾーンが、Oracle リソースを配置するリソースグループのノードリストに表示される順序で一覧表示されていることを確認します。リストの最初のノードまたはゾーンは、このリソースグループの一次ノードまたはゾーンです。

    • 特定の順序ですべてのノードまたはゾーンを選択するには、ノードまたはゾーンに対応する番号のコンマ区切りまたはスペース区切りの順序付きリストを入力し、Return キーを押します。

      ノードまたはゾーンが、Oracle リソースを配置するリソースグループのノードリストに表示される順序で一覧表示されていることを確認します。リストの最初のノードまたはゾーンは、このリソースグループのプライマリのノードまたはゾーンです。

  7. ノードまたはゾーンの選択を確定するには、d を入力して、Return キーを押します。

    clsetup ユーティリティーに、構成する Oracle コンポーネントのタイプが表示されます。

  8. 構成する Oracle コンポーネントの番号を入力して、Return キーを押します。

    clsetup ユーティリティーに、Oracle のホームディレクトリが一覧表示されます。

  9. Oracle ソフトウェアをインストールする Oracle ホームディレクトリを指定します。

    • ディレクトリが一覧表示されたら、次のようにディレクトリを選択します。

      1. 選択しているディレクトリに対応する番号を入力します。

        clsetup ユーティリティーに、クラスタに構成されている Oracle のシステム識別子のリストが表示されます。また、このユーティリティーから、Oracle のインストールのシステム識別子を指定するよう求められます。

    • ディレクトリが一覧表示されない場合は、ディレクトリを明示的に指定します。

      1. e と入力して、Return キーを押します。

        clsetup ユーティリティーによって、Oracle ホームディレクトリを指定するよう求められます。

      2. Oracle ホームディレクトリへのフルパスを入力して、Return キーを押します。

        clsetup ユーティリティーに、クラスタに構成されている Oracle のシステム識別子のリストが表示されます。また、このユーティリティーから、Oracle のインストールのシステム識別子を指定するよう求められます。

  10. 構成する Oracle データベースの Oracle SID を指定します。

    • SID が一覧表示されたら、次のように SID を選択します。

      1. 選択する SID に対応する番号を入力します。

        clsetup ユーティリティーに、このユーティリティーが作成する Sun Cluster リソースのプロパティーが表示されます。

    • SID が一覧表示されない場合は、SID を明示的に指定します。

      1. e と入力して、Return キーを押します。

        clsetup ユーティリティーから、SID を入力するよう求められます。

      2. SID を入力して、Return キーを押します。

        clsetup ユーティリティーに、このユーティリティーが作成する Sun Cluster リソースのプロパティーが表示されます。

    clsetup ユーティリティーに、このユーティリティーが作成する Sun Cluster リソースのプロパティーが表示されます。

  11. Sun Cluster リソースのプロパティーに別の名前が必要な場合は、それぞれの名前を次のように変更します。

    1. 変更する名前に対応する番号を入力し、Return キーを押します。

      clsetup ユーティリティーは、新しい名前を指定できる画面を表示します。

    2. 「新しい値」プロンプトで、新しい名前を入力し、Return キーを押します。

    clsetup ユーティリティーは、このユーティリティーが作成する Sun Cluster リソースのプロパティーのリストに戻ります。

  12. Sun Cluster リソースのプロパティーの選択を確定するには、d を入力して、Return キーを押します。

    clsetup ユーティリティーに、既存のストレージリソースのリストが表示されます。ストレージリソースが使用できない場合、clsetup ユーティリティーに、データを格納する共有ストレージの種類のリストが表示されます。

  13. データの格納に使用する共有ストレージの種類に対応する番号を入力し、Return キーを押します。

    clsetup ユーティリティーに、クラスタ内に構成されているファイルシステムのマウントポイントが表示されます。

  14. 次のように、ファイルシステムのマウントポイントを選択します。

    • 任意の順序で一覧表示されたすべてのファイルシステムのマウントポイントのデフォルト選択をそのまま使用するには、a と入力します。続いて、Return キーを押します。

    • 一覧表示されたファイル a システムのマウント イントのサブセットを選択するには、ファイルシステムのマウントポイントに対応する番号の、コンマまたはスペースで区切られたリストを入力します。続いて、Return キーを押します。

    clsetup ユーティリティーは、クラスタ内で構成されている広域ディスクセットとデバイスグループを表示します。

  15. 次のようにデバイスグループを選択します。

    • 任意の順序で並んでいる一覧表示されたすべてのデバイスグループのデフォルト選択をそのまま使用するには、a と入力し、Return キーを押します。

    • 一覧表示されたデバイスグループのサブセットを選択するには、デバイスグループに対応する番号の、コンマまたはスペースで区切られたリストを入力し、Return キーを押します。

    clsetup ユーティリティーは、高可用性ストレージリソースのリストに戻ります。

  16. データサービスに必要なストレージリソースに対応する番号のコンマまたはスペースで区切られたリストを入力し、Return キーを押します。

  17. Sun Cluster ストレージリソースの選択を確定するには、d を入力して、Return キーを押します。

    clsetup ユーティリティーに、クラスタ内のすべての既存の論理ホスト名リソースが表示されます。使用できる論理ホスト名リソースがない場合、clsetup ユーティリティーから、リソースを高可用性にする論理ホスト名を入力するよう求められます。

  18. 論理ホスト名を指定し、Return キーを押します。

    clsetup ユーティリティーは、使用できる論理ホスト名リソースのリストに戻ります。

  19. データサービスに必要な論理ホスト名リソースに対応する番号のコンマまたはスペースで区切られたリストを入力し、Return キーを押します。

  20. Sun Cluster 論理ホスト名リソースの選択を確定するには、d を入力して、Return キーを押します。

    clsetup ユーティリティーは、このユーティリティーが作成する Sun Cluster オブジェクトの名前を表示します。

  21. Sun Cluster オブジェクトに別の名前が必要である場合、それぞれの名前を次のように変更します。

    • 変更する名前に対応する番号を入力し、Return キーを押します。

      clsetup ユーティリティーは、新しい名前を指定できる画面を表示します。

    • 「新しい値」プロンプトで、新しい名前を入力し、Return キーを押します。

      clsetup ユーティリティーは、このユーティリティーが作成する Sun Cluster オブジェクトの名前のリストに戻ります。

  22. Sun Cluster オブジェクト名の選択を確認するには、d を入力して、Return キーを押します。

  23. 構成を作成するには、c を入力し、Return キーを押します。

    clsetup ユーティリティーは、構成を作成するためにこのユーティリティーがコマンドを実行していることを示す進行状況のメッセージを表示します。構成が完了した時点で、clsetup ユーティリティーは、構成を作成するためにユーティリティーが実行したコマンドを表示します。

  24. Return キーを押して続けます。

  25. (省略可能) clsetup ユーティリティーが終了するまで、繰り返し q を入力し、Return キーを押します。

    必要に応じて、ほかの必要な作業を実行している間、clsetup ユーティリティーを動作させたままにし、そのあとでユーティリティーを再度使用することができます。

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

ProcedureSun Cluster メンテナンスコマンドを使用するシングルインスタンス ASM の Sun Cluster HA for Oracle の登録および構成の方法

この手順は、ASM のための Oracle_Home がローカルファイルシステムにある場合に、Sun Cluster メンテナンスコマンドを使用するシングルインスタンス ASM を登録および構成する手順を説明します。


注 –

ASM ディスクグループと Oracle データベースは、別のリソースグループで構成できます。ASM ディスクグループと Oracle データベースを別のリソースグループで構成する場合、ASM ディスクグループのリソースグループと Oracle データベースのリソースグループの間に強い正のアフィニティー (+++) を設定する必要があります。


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

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


    # clresourcetype register SUNW.scalable_asm_instance
    # clresourcetype register SUNW.asm_diskgroup
    
  3. ASM インスタンスのスケーラブルなリソースグループ asm-inst-rg を作成します。


    # clresourcegroup create -S asm-inst-rg
    
    -S asm-inst-rg

    ASM インスタンスのスケーラブルなリソースグループの名前を指定します。

  4. 論理ホスト名リソースを asm-dg-rg リソースグループに追加します。


    # clreslogicalhostname create -g asm-dg-rg [-h logicalhostname] \
    logicalhotname-rs
    
    -h logicalhostname

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

    logicalhostname-rs

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

  5. タイプ SUNW.scalable_asm_instance のリソースを asm-inst-rg リソースグループに追加します。


    # clresource create -g asm-inst-rg -t SUNW.scalable_asm_instance
    -p ORACLE_HOME=oracle-home \
    -d asm-inst-rs
    
    -g asm-inst-rg

    ASM インスタンスのリソースグループの名前を指定します。

    -p ORACLE_HOME= oracle-home

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

    -d asm-inst-rs

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

  6. クラスタノードで管理状態にあるスケーラブルなリソースグループをオンラインにします。


    # clresourcegroup online -eM asm-inst-rg
    
  7. ASM ディスクリソースグループ asm-dg–rg を作成します。


    # clresourcegroup create asm-dg-rg
    
  8. ASM ディスクグループに asm-dg-rg との強い正のアフィニティーを設定します。


    # clresourcegroup set -p rg_affinities=++asm-inst-rg asm-dg-rg
    
  9. タイプ SUNW.asm_diskgroup のリソースを asm-dg-rg リソースグループに追加します。


    # clresource create -g asm-dg-rg -t SUNW.asm_diskgroup -p asm_diskgroups=dg \
    -p resource_dependencies_offline_restart=asm-inst-rs -d asm-dg-rs
    
  10. 管理状態の ASM ディスクリソースグループをオンラインにします。


    # clresource online -eM asm-dg-rg
    
  11. ステータスコマンドを発行して Oracle の ASM のインストールを確認します。


    # clresource status +
    
  12. Sun Cluster HA for Oracle データサービスのリソースタイプを登録します。

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


    # clresourcetype register SUNW.oracle_server
    # clresourcetype register SUNW.oracle_listener
    
  13. フェイルオーバーリソースグループで、Oracle アプリケーションリソースを作成します。

    • Oracle サーバーリソース:


      # clresource create -g asm-dg-rg \
      -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 Resource_dependencies_offline_restart=asm-dg-rs \
      -d  ora-db-rs
      
    • Oracle リスナーリソース:


      # clresource create -g asm-dg-rg \
      -t SUNW.oracle_listener \ 
      -p LISTENER_NAME=listener \
      -p ORACLE_HOME=Oracle-home \
      -p resource_dependencies_offline_restart=asm-dg-rs logicalhostname-rs \
      -d ora-lsr-rs
      
    -g asm-dg-rg

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

    -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 のホームディレクトリへのパスを設定します。


    注 –

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


  14. Oracle サーバーのリソースをオンラインにします。


    # clresource enable ora-db-rs 
    
  15. Oracle リスナーのリソースをオンラインにします。


    # clresource enable ora-lsr-rs 
    

ProcedureSun Cluster メンテナンスコマンドを使用したクラスタ ASM インスタンスの Sun Cluster HA for Oracle の登録および構成の方法

この手順は、Sun Cluster メンテナンスコマンドを使用してクラスタ ASM インスタンスの Sun Cluster HA for Oracle を登録および構成する手順を説明します。


注 –

この手順を実行する前に、Oracle CRS ソフトウェアをインストールしておく必要があります。


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


    注 –

    また、clsetup ユーティリティーを使用して、この手順のステップ 1 から 6 を実行することも可能です。


  2. Oracle RAC フレームワークおよび CRS フレームワークのリソースタイプを登録します。


    # clresourcetype register SUNW.rac_framework
    # clresourcetype register SUNW.crs_framework
    
  3. スケーラブルなリソースグループ rac-fmwk-rg を作成します。


    # clresourcegroup create -S rac-fmwk-rg
    
  4. タイプ SUNW.rac_framework のリソースを rac-fmwk-rg リソースグループに追加します。


    # clresource create -g rac-fmwk-rg -t SUNW.rac_framework rac-fmwk-rs
    
  5. タイプ SUNW.crs_framework のリソースを rac-fmwk-rg リソースグループに追加します。


    # clresource create -g rac-fmwk-rg -t SUNW.crs_framework \
    -p resource_dependencies=rac-fmwk-rs \
    -d crs-fmwk-rs
    
  6. Oracle データベースに対してフェイルオーバーリソースグループ ora-db-rg を作成します。


    # clresourcegroup create ora-db-rg
    
  7. SPARC: SPARC を使用している場合は、次の手順を実行します。使用していなければ、手順 8 へ進みます。


    注 –

    この手順を実行できるのは、ASM ソフトウェアのインストールの前に ORCLudlm をインストールしている場合だけです。


    1. Oracle UDLM のリソースタイプを登録します。


      # clresourcetype register SUNW.rac_udlm
      
    2. タイプ SUNW.rac_udlm のリソースを rac-fmwk-rg リソースグループに追加します。


      # clresource create -g rac-fmwk-rg -t SUNW.rac_udlm \
      -p resource_dependencies=rac-fmwk-rs rac-udlm-rs
      
  8. 使用しているファイルシステムに適したリソースタイプを登録し、リソースグループを作成します。


    注 –

    Oracle_Home に使用するファイルシステムを決定し、この手順を実行する前にファイルシステムを設定します。ファイルシステムの設定については、「ノードとディスクの準備」を参照してください。


    QFS 共有ファイルシステムを使用している場合、次の手順を実行して QFS 共有ファイルシステムのリソースタイプを登録し、リソースグループを作成します。使用していない場合は、SUNW.HAStoragePlus リソースタイプを使用する必要があります。

    • QFS 共有ファイルシステムを使用している場合、次の手順を実行して QFS 共有ファイルシステムのリソースタイプを登録し、リソースグループを作成します。使用していない場合は、SUNW.HAStoragePlus リソースタイプを使用する必要があります。

      1. QFS 共有ファイルシステムのリソースタイプを登録します。


        # clresourcetype register SUNW.qfs
        
      2. リソースグループ qfs-rg を作成します。


        # clresourcegroup create qfs-rg
        
      3. タイプ SUNW.qfs のリソースを qfs-rg リソースグループに追加します。


        # clresource create -g qfs-rg -t SUNW.qfs -p QFSFileSystem=qfs-mp qfs-rs
        
        -g qfs-rg

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

        -t SUNW.qfs

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

        -p QFSFileSystem= qfs-mp

        QFS 共有ファイルシステムのマウントポイントを指定します。

        qfs-rs

        作成する QFS 共有ファイルシステムリソースの名前を指定します。

      4. クラスタノードで管理状態にある qfs-rg リソースグループをオンラインにします。


        # clresourcegroup online -eM qfs-rg
        
      5. SUNW.ScalMountPoint のリソースタイプを登録します。


        # clresourcetype register SUNW.ScalMountPoint
        
      6. スケーラブルなリソースグループ scal-mp-rg を作成します。


        # clresourcegroup create -S scal-mp-rg
        
      7. タイプ SUNW.ScalMountPoint のリソースを scal-mp-rg リソースグループに追加します。


        # clresource create -g scal-mp-rg -t SUNW.ScalMountPoint \
        -p mountpointdir=mount-point \
        -p filesystemtype=s-qfs \
        -p targetfilesystem=qfs-name \
        -p resource_dependencies=qfs-rs \
        -d scal-mp-rs
        
        -g scal-mp-rg

        スケーラブルなリソースグループの名前を指定します。

        -t SUNW.ScalMountPoint

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

        -p mountpointdir= mount-point

        ファイルシステムをマウントするディレクトリを指定します。

        -p filesystemtype =s-qfs

        使用するファイルシステムのタイプを指定します。

        -p targetfilesystem =qfs-name

        このマウントポイントにマウントするファイルシステムの名前を指定します。

        -d scal-mp-rs

        作成するマウントポイントのリソースの名前を指定します。

      8. クラスタノードで管理状態にある scal-mp-rg リソースグループをオンラインにします。


        # clresourcegroup online -eM scal-mp-rg
        
    • QFS 共有ファイルシステム以外のファイルシステムを使用する場合は、次の手順を実行して SUNW.HAStoragePlus リソースタイプを登録し、リソースグループを作成します。

      1. SUNW.HAStoragePlus リソースタイプのリソースタイプを登録します。


        # clresourcetype register SUNW.HAStoragePlus
        
      2. タイプ SUNW.HAStorgePlus のリソースを ora-db-rg リソースグループに追加します。


        # clresource create -g ora-db-rg -t SUNW.HAStoragePlus \
        -p filesystemmountpoints=mount-point-list -d hastp-rs
        
      3. クラスタノードで管理状態にある ora-db-rg リソースグループをオンラインにします。


        # clresourcegroup online -eM ora-db-rg
        
  9. データサービスの ASM リソースタイプを登録します。


    # clresourcetype register SUNW.scalable_asm_instance_proxy
    # clresourcetype register SUNW.asm_diskgroup
    
  10. リソースグループ asm-inst-rg および asm-dg-rg を作成します。


    # clresourcegroup create -S asm-inst-rg asm-dg-rg
    
  11. rac-fmwk-rg asm-inst-rg との強い正のアフィニティーを設定します。


    # clresourcegroup set -p rg_affinities=++rac-fmwk-rg asm-inst-rg
    
  12. asm-inst-rg asm-dg-rg との強い正のアフィニティーを設定します。


    # clresourcegroup set -p rg_affinities=++asm-inst-rg asm-dg-rg
    
  13. タイプ SUNW.crs_framework のリソースを rac-fmwk-rg リソースグループに追加します。


    # clresource create -g rac-fmwk-rg -t SUNW.crs_framework \
    -p resource_dependencies=rac-fmwk-rs \
    -d crs-fmwk-rs
    
  14. タイプ SUNW.scalable_asm_instance_proxy のリソースを asm-inst-rg リソースグループに追加します。


    # clresource create -g asm-inst-rg -t SUNW.asm_instance_proxy \
    -p ORACLE_HOME=oracle-home \
    -p crs_home=crs-home \
    -p "oracle_sid{node1}"=instance \
    -p "oracle_sid{node2}"=instance \
    -p resource_dependencies_offline_restart=crs-fmwk-rs,qfs-mp-rs \
    -d asm-inst-rs
    
    -g asm-inst-rg

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

    -t SUNW.asm_inst_proxy

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

    -p ORACLE_SID= instance

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

    -p ORACLE_HOME= Oracle-home

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

    -d asm-inst-rs

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

  15. タイプ SUNW.asm_diskgroup のリソースを asm-dg-rg リソースグループに追加します。


    # clresource create -g asm-dg-rg -t SUNW.asm_diskgroup \
    -p asm_diskgroups=dg \
    -p resource_dependencies_offline_restart=asm-inst-rs,qfs-mp-rs \
    -d asm-dg-rs
    
    -g asm-dg-rg

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

    -t SUNW.asm_diskgroup

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

    -p asm_diskgroups =dg

    ASM ディスクグループを指定します。

    -d asm-dg-rs

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

  16. クラスタノードで管理状態にある asm-inst-rg リソースグループをオンラインにします。


    # clresourcegroup online -eM asm-inst-rg
    
  17. クラスタノードで管理状態にある asm-dg-rg リソースグループをオンラインにします。


    # clresourcegroup online -eM asm-dg-rg
    
  18. ステータスコマンドを発行して Oracle の ASM のインストールを確認します。


    # clresource status +
    
  19. Sun Cluster HA for Oracle データサービスのリソースタイプを登録します。

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


    # clresourcetype register SUNW.oracle_server
    # clresourcetype register SUNW.oracle_listener
    
  20. 論理ホスト名リソースを Oracle データベースのフェイルオーバーリソースグループに追加します。


    # clreslogicalhostname create -g ora-db-rg [-h logicalhostname] \
    logicalhostname-rs
    
    logicalhostname

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

    logicalhostname-rs

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

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


    # clresourcegroup online -eM ora-db-rg
    
  22. フェイルオーバーリソースグループで、Oracle アプリケーションリソースを作成します。

    • Oracle サーバーリソース:


      # clresource create -g ora-db-rg \
      -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 Resource_dependencies_offline_restart=asm-dg-rs \
      -d ora-db-rs
      
    • Oracle リスナーリソース:


      # clresource create -g ora-db-rg \
      -t SUNW.oracle_listener \
      -p ORACLE_HOME=Oracle-home \
      -p listener_name=listener \
      -p resource_dependencies_offline_restart=asm-dg-rs,logicalhostname-rs \
      -d ora-ls-rs
      
    -g ora-db-rg

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

    -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 ORACLE_HOME= Oracle-home

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

    -p listener_name= listener

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

    -d ora-ls-rs

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


    注 –

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


  23. Oracle サーバーのリソースをオンラインにします。


    # clresource enable ora-db-rs
    
  24. Oracle リスナーのリソースをオンラインにします。


    # clresource enable ora-ls-rs
    
クラスタファイルシステム

注 –

ASM の Oracle_Home をクラスタファイルシステムにインストールすることも可能です。クラスタファイルシステムを使用している場合、リソース SUNW.HAStoragePlus および SUNW.scalable_asm_instance を作成し、この 2 つのリソースの間に適切な依存関係を設定する必要があります。

SUNW.HAStoragePlus リソースおよび SUNW.scalable_asm_instance リソースを作成するコマンドのサンプルは、次のとおりです。


# clresource create -g asm-inst-rg -t SUNW.HAStoragePlus \ 
-p FilesystemMountPoints=cluster-file-system \
hastp-rs

# clresource create -g asm-inst-rg -t SUNW.scalable_asm_instance \
-p ORACLE_HOME=oracle-home \
-p "oracle_sid{node1}"=instance \
-p "oracle_sid{node2}"=instance \
-p resource_dependencies_restart=hastp-rs \
-p resource_dependencies_offline_restart=crs-fmwk-rs \
asm-inst-rs

参照情報

Sun Cluster HA for Oracle を登録および構成したら、「Sun Cluster HA for Oracle のインストールの確認」 へ進みます。

Sun Cluster HA for Oracle のインストールの確認

次の確認テストを実行して、Sun Cluster HA for Oracle を正しくインストールしたことを確認します。

この妥当性検査で、Sun Cluster HA for Oracle を実行するすべてのノードまたはゾーンが Oracle のインスタンスを起動でき、構成したほかのノードまたはゾーンが Oracle のインスタンスにアクセスできることを確認します。Sun Cluster HA for Oracle から Oracle ソフトウェアを起動する際の問題を切り分ける場合も、この妥当性検査を実行します。

ProcedureSun Cluster HA for Oracle のインストールの確認方法

  1. 現在 Oracle リソースグループをマスターしているノードまたはゾーンに、oracle としてログインします。

  2. 環境変数 ORACLE_SID および ORACLE_HOME を設定します。

  3. このノードまたはゾーンから Oracle のインスタンスを起動できることを確認します。

  4. Oracle のインスタンスに接続できることを確認します。

    sqlplus コマンドを、connect_string プロパティーで定義した user/password 変数とともに使用します。


    # sqlplus user/passwd@tns_service
    
  5. Oracle のインスタンスをシャットダウンします。

    Oracle のインスタンスは Sun Cluster のコントロール下にあるので、Sun Cluster ソフトウェアが Oracle のインスタンスを再起動させます。

  6. Oracle データベースリソースを含むリソースグループを、ほかのクラスタ番号に切り替えます。


    # clresourcegroup switch -n node-zone-list resource-group
    
    -n node-zone-list

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

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

    resource-group

    切り替えるリソースグループの名前を指定します。

  7. 現在、リソースグループのあるノードまたはゾーンに、oracle としてログインします。

  8. 手順 3 および手順 4 を繰り返して、Oracle のインスタンスとの交信を確認します。

Oracle クライアント

クライアントは必ず、物理ホスト名ではなくネットワークリソースを使用してデータベースを参照する必要があります。ネットワークリソースは、フェイルオーバーの間に物理ノード間で移動できる IP アドレスです。物理ホスト名はマシン名です。

たとえば、tnsnames.ora ファイルで、ネットワークリソースはデータベースのインスタンスを実行するホストとして指定する必要があります。ネットワークリソースは、論理ホスト名または共有アドレスです。「Oracle データベースのアクセス権を設定する」を参照してください。


注 –

Oracle のクライアントとサーバー間の接続は、 Sun Cluster HA for Oracle のスイッチオーバーによって切断されます。クライアントアプリケーションは、切断、再接続または復旧を適切に処理できるように準備する必要があります。トランザクションモニターはアプリケーションを簡略化します。さらに、Sun Cluster HA for Oracle ノードの復旧時間はアプリケーションによって異なります。


Sun Cluster HA for Oracle ログファイルの位置

Sun Cluster HA for Oracle データサービスの各インスタンスは、/var/opt/SUNWscor ディレクトリのサブディレクトリにログファイルを保持します。

これらのファイルには、Sun Cluster HA for Oracle データサービスが実行するアクションに関する情報が入っています。これらのファイルを参照して、構成をトラブルシューティングする診断情報を取得し、Sun Cluster HA for Oracle データサービスの動作を監視します。

Sun Cluster HA for Oracle 障害モニターのチューニング

Sun Cluster HA for Oracle データサービスの障害モニタリングは、次の障害モニターが行います。

各障害モニターには、次の表に示すリソースタイプを持つリソースがあります。

表 4 Sun Cluster HA for Oracle 障害モニターのリソースタイプ

障害モニター 

リソース型 

Oracle サーバー 

SUNW.oracle_server

Oracle リスナー 

SUNW.oracle_listener

障害モニターの動作は、このリソースのシステムプロパティーと拡張プロパティーによって制御されます。事前に設定された障害モニターの動作は、これらのプロパティーのデフォルト値に基づいています。現在の動作は、ほとんどの Sun Cluster システムに適しているはずです。したがって、事前に設定されたこの動作を変更する場合「のみ」、障害モニターを調整してください。

Sun Cluster HA for Oracle 障害モニターの調整には、次のような作業があります。

詳細については、『Sun Cluster Data Services Planning and Administration Guide for Solaris OS』「Tuning Fault Monitors for Sun Cluster Data Services」を参照してください。これらの作業を行うのに必要な Sun Cluster HA for Oracle 障害モニターについては、次の副節を参照してください。

Sun Cluster HA for Oracle を登録、構成する際に、Sun Cluster HA for Oracle 障害モニターを調整します。詳細については、「Sun Cluster HA for Oracle の登録と構成」を参照してください。

Oracle サーバー障害モニターの操作

Oracle サーバーの障害モニターは、サーバーへのリクエストを使用して、サーバーの状態をクエリします。

サーバー障害モニターは、pmfadm を介して起動され、モニターの可用性を高めます。何らかの理由でモニターが終了すると、手順モニター機能 (PMF) がモニターを自動的に再起動します。

サーバー障害モニターは、次の要素から構成されます。

このセクションには、サーバー障害モニターに関する次の情報が含まれています。

主要障害モニターの操作

主要障害モニターは、データベースがオンラインで、トランザクション中にエラーが返されない場合、操作が成功したと見なします。

データベースクライアント障害プローブの操作

データベースクライアント障害プローブは、次の操作を実行します。

  1. アーカイブされた再実行ログの区分のモニター「アーカイブされた再実行ログの区分をモニターする操作」を参照してください。

  2. 区分が健全である場合、データベースが操作可能かどうかを決定します。「データベースが操作可能かどうかを決定する操作」を参照してください。

プローブは、リソースプロパティ Probe_timeout で設定されているタイムアウト値を使用して、Oracle のプローブを成功させるために割り当てる時間を決定します。

アーカイブされた再実行ログの区分をモニターする操作

データベースクライアント障害プローブは、動的パフォーマンス表示 v$archive_dest をクエリーし、アーカイブされた再実行ログのすべての可能な送信先を決定します。すべてのアクティブな送信先に対して、プローブは送信先が健全で、アーカイブされた再実行ログを保存するための十分な空き容量があるかどうかを決定します。

データベースが操作可能かどうかを決定する操作

アーカイブされた再実行ログ用の区分が健全な場合、データベースクライアント障害プローブは動的パフォーマンス表示 v$sysstat をクエリーし、データベースパフォーマンス統計を取得します。これらの統計が変更されている場合、データベースが操作されていることを示します。連続したクエリー間で統計が変化しなかった場合、障害プローブはデータベーストランザクションを実行し、データベースが運用されているかを判定します。これらのトランザクションには、ユーザー表スペースでの、表の作成、更新およびドロップが関係しています。

データベースクライアント障害プローブは、Oracle ユーザーとしてすべてのトランザクションを実行します。このユーザーの ID は、「ノードの準備方法」に説明されているように、ノードまたはゾーンの準備中に指定されます。

データベーストランザクション障害に対応する、サーバー障害モニターによるアクション

データベーストランザクションに失敗した場合、サーバー障害モニターは障害の原因になったエラーによって決定されるアクションを実行します。サーバー障害モニターが実行するアクションを変更するには、「Sun Cluster HA for Oracle サーバー 障害モニターのカスタマイズ」に説明されているように、サーバー障害モニターをカスタマイズします。

アクションで外部プログラムの実行が必要な場合、そのプログラムはバックグラウンドで別のプロセスとして実行されます。

可能なアクションは、次のとおりです。

サーバー障害モニターによる記録された警告のスキャン

Oracle ソフトウェアは、警告を警告ログファイルに記録します。このファイルの絶対パスは、SUNW.oracle_server リソースの alert_log_file 拡張プロパティーにより指定されます。サーバー障害モニターは、次のタイミングで新しい警告があるかどうか、警告ログファイルをスキャンします。

サーバー障害モニターが検出する警告ログに対するアクションが定義されている場合、サーバー障害モニターは警告に対してアクションを実行します。

記録された警告用の事前設定アクションは、表 2 に一覧表示されています。サーバー障害モニターが実行するアクションを変更するには、「Sun Cluster HA for Oracle サーバー 障害モニターのカスタマイズ」に説明されているように、サーバー障害モニターをカスタマイズします。

Oracle リスナー障害モニターの操作

Oracle リスナー障害モニターは、Oracle リスナーの状態を確認します。

リスナーが実行されている場合、Oracle リスナー障害モニターはプローブが成功したと見なします。障害モニターがエラーを検出すると、リスナーは再起動されます。


注 –

リスナーリソースは、リスナーパスワードを設定する機構を提供していません。Oracle リスナーセキュリティが有効の場合、リスナー障害モニターによって、プローブは Oracle エラー TNS-01169 を返すことがあります。リスナーは応答することができるので、リスナー障害モニターはプローブが成功したものと見なします。このアクションのためにリスナーが検出されないままになるという障害が生じることはありません。リスナーが故障している場合、異なるエラーが返されるか、プローブがタイムアウトになります。


リスナープローブは、pmfadm を介して起動することで、プローブの可用性を高めます。プローブが終了した場合、PMF は自動的にプローブを再起動します。

プローブ中にリスナーに問題が生じた場合、プローブはリスナーの再起動を試みます。リソースプロパティ retry_count に設定されている値は、プローブが再起動を試みる最大回数を決定します。最大回数まで起動を試みても、まだプローブが成功しない場合は、プローブは障害モニターを停止し、リソースグループの切り換えを行いません。

DBMS タイムアウトのトラブルシューティング用にコアファイルを取得

不明な DBMS タイムアウトのトラブルシューティングを容易にするために、障害モニターを有効にして、プローブタイムアウトが生じたときにコアファイルを作成することができます。コアファイルの内容は、障害モニター手順に関連します。障害モニターは、/ ディレクトリにコアファイルを作成します。障害モニターがコアファイルを作成できるためには、coreadm コマンドを使用して set-id コアダンプを有効にします。詳細は、coreadm(1M) のマニュアルページを参照してください。

Sun Cluster HA for Oracle サーバー 障害モニターのカスタマイズ

Sun Cluster HA for Oracle サーバー 障害モニターをカスタマイズすると、次のようにサーバー障害モニターの動作を修正できます。


注意 – 注意 –

Sun Cluster HA for Oracle サーバー 障害モニターをカスタマイズする前に、カスタマイズの影響を考慮してください。特に、再起動からアクションを変更する場合、またはモニターを無視または停止する場合は注意してください。エラーが長期間修正されない場合、エラーはデータベースに問題を起こす場合があります。Sun Cluster HA for Oracle サーバー 障害モニターをカスタマイズしたあとにデータベースで問題が発生した場合、事前設定アクションの使用に戻ってください。事前設定アクションに戻ることで、問題がカスタマイズによって発生したものかどうかを判定することができます。


Sun Cluster HA for Oracle サーバー 障害モニターのカスタマイズには、次のアクティビティーが関係しています。

  1. エラーに対するカスタム動作の定義

  2. クラスタのすべてのノードにカスタムアクションファイルを伝達する

  3. サーバー障害モニターが使用する必要のあるカスタムアクションファイルを指定する

エラーに対するカスタム動作の定義

Sun Cluster HA for Oracle サーバー 障害モニターは、次のタイプのエラーを検出します。

これらのタイプのエラーに対して、カスタム動作を定義するには、カスタムアクションファイルを作成します。このセクションには、カスタムアクションファイルに関する次の情報が含まれます。

カスタムアクションファイルの形式

カスタムアクションファイルは、プレーンテキストファイルです。ファイルには、Sun Cluster HA for Oracle サーバー 障害モニターのカスタム動作を定義する 1 つ以上のエントリが含まれます。各エントリは、1 つの DBMS エラー、1 つのタイムアウトエラー、または複数の警告ログに対するカスタム動作を定義します。カスタムアクションファイルは、最大 1024 のエントリが許可されています。


注 –

カスタムアクションファイルの各エントリでは、エラーに対する事前設定アクションをオーバーライドしたり、事前設定されたアクションがないエラーに対してアクションを指定したりします。オーバーライドする事前設定アクションまたはアクションが事前設定されていないエラーに対してのみ、カスタムアクションファイルにエントリを作成します。変更しないアクションに対して、エントリを作成しないでください。


カスタムアクションファイルのエントリは、セミコロンで区切られたキーワード値ペアのシーケンスで構成されています。各エントリは、中括弧で囲まれています。

カスタムアクションファイルのエントリの形式は、次のとおりです。

{
[ERROR_TYPE=DBMS_ERROR|SCAN_LOG|TIMEOUT_ERROR;]
ERROR=error-spec; 
[ACTION=SWITCH|RESTART|STOP|NONE;]
[CONNECTION_STATE=co|di|on|*;]
[NEW_STATE=co|di|on|*;]
[MESSAGE="message-string"]
}

区切られたキーワードと値ペアの間およびファイルの書式を設定するエントリの間には、空白を使用することができます。

カスタムアクションファイルのキーワードの意味および許可されている値は次のとおりです。

ERROR_TYPE

サーバー障害モニターが検出したエラーのタイプを示します。このキーワードには、次の値が許可されています。

DBMS_ERROR

エラーが DBMS エラーであることを指定します。

SCAN_LOG

エラーが警告ログファイルに記録されている警告であることを指定します。

TIMEOUT_ERROR

エラーがタイムアウトであることを指定します。

ERROR_TYPE キーワードはオプションです。このキーワードを省略すると、DBMS エラーとみなされます。

ERROR

エラーを識別します。error-spec のデータタイプと意味は、次の表に示されているとおり、ERROR_TYPE キーワードの値によって決定されます。

ERROR_TYPE

データタイプ 

意味 

DBMS_ERROR

整数 

Oracle によって生成された DBMS エラーのエラー番号 

SCAN_LOG

引用された正規表現 

Oracle が Oracle 警告ログファイルに記録したエラーメッセージの文字列 

TIMEOUT_ERROR

整数 

サーバー障害モニターが最後に起動または再起動されてから発生した、連続タイムアウトプローブの数 

ERROR キーワードを指定する必要があります。このキーワードを省略すると、カスタムアクションファイルのエントリは無視されます。

ACTION

サーバー障害モニターがエラーに対応して実行するアクションを指定します。このキーワードには、次の値が許可されています。

NONE

サーバー障害モニターがエラーを無視するように指定します。

STOP

サーバー障害モニターが停止することを指定します。

RESTART

サーバー障害モニターが SUNW.oracle_server リソースの Restart_type 拡張プロパティーの値によって指定されたエンティティーを停止および再起動することを指定します。

SWITCH

サーバー障害モニターがデータベースサーバーリソースグループを別のノードまたはゾーンに切り換えることを指定します。

ACTION キーワードは省略可能です。このキーワードを省略すると、サーバー障害モニターはエラーを無視します。

CONNECTION_STATE

エラーが検出されたとき、データベースおよびサーバー障害モニター間の接続に必要とされる状態を指定します。エラーが検出されたときに、接続が必要な状態にあるときにのみ、このエントリは適用されます。このキーワードには、次の値が許可されています。

*

接続の状態に関わらず、エントリが常に適用されることを指定します。

co

サーバー障害モニターがデータベースに接続しようと試みたときにのみ、エントリが適用されることを指定します。

on

サーバー障害モニターがオンラインのときのみ、エントリが適用されることを指定します。サーバー障害モニターは、データベースに接続されている場合はオンラインです。

di

サーバー障害モニターがデータベースに接続解除するときにのみ、エントリが適用されることを指定します。

CONNECTION_STATE キーワードは省略可能です。このキーワードを省略すると、接続状態に関わらずエントリは常に適用されます。

NEW_STATE

エラーが検出されたあとにサーバー障害モニターが到達する必要がある、データベースおよびサーバー障害モニターの接続状態を指定します。このキーワードには、次の値が許可されています。

*

接続状態が変更されずに維持されることを指定します。

co

サーバー障害モニターがデータベースから接続解除し、直ちにデータベースに再接続することを指定します。

di

サーバー障害モニターがデータベースから接続解除することを指定します。サーバー障害モニターは、次回データベースをプローブするときに再接続します。

NEW_STATE キーワードは省略可能です。このキーワードを省略すると、エラーが検出されてから、データベース接続の状態は変更されないままで維持されます。

MESSAGE

このエラーが検出されたときに、リソースのログファイルに出力される追加メッセージを指定します。メッセージは、二重引用符で囲む必要があります。このメッセージは、エラーに定義されている標準メッセージに追加されます。

MESSAGE キーワードは省略可能です。このキーワードを省略すると、このエラーが検出されたとき、リソースのログファイルに追加メッセージが出力されません。

DBMS エラーへの応答の変更

各 DBMS エラーに対応してサーバー障害モニターが実行するアクションは、表 1 で一覧表示されているように、事前に設定されています。DBMS エラーに対する応答を変更する必要があるかどうか決定するには、データベースに対する DBMS エラーの影響を考慮して、事前設定アクションが適切かどうかを判断します。例として、次のサブセクションを参照してください。

DBMS エラーに対する応答を変更するには、カスタムアクションファイルにエントリを作成します。キーワードは次のように設定されます。

影響が重大であるエラーに対する応答

サーバー障害モニターが無視するエラーが 2 つ以上のセッションに影響を及ぼす場合、サービスの損失を防ぐために、サーバー障害モニターによるアクションが必要になる場合があります。

たとえば、Oracleエラー 4031: unable to allocate num-bytes bytes of shared memory に対するアクションは事前設定されていません。しかしながら、この Oracle エラーは、共有グローバルエリア (SGA) のメモリーが不足している、断片化が激しい、またはこの両方の状態が当てはまることを示しています。このエラーが 1 つのセッションのみ影響する場合、エラーを無視することが適切な場合があります。しかしながら、このエラーが 2 つ以上のセッションに影響を及ぼす場合、サーバー障害モニターによるデータベースの再起動を指定することを考慮してください。

次の例は、DBMS エラーに対する応答を変更するための、再起動するカスタムアクションファイルのエントリを示しています。


例 4 DBMS エラーに対する応答を再起動に変更する

{
ERROR_TYPE=DBMS_ERROR;
ERROR=4031; 
ACTION=restart;
CONNECTION_STATE=*; 
NEW_STATE=*;
MESSAGE="Insufficient memory in shared pool.";
}

この例は、DBMS エラー 4031 に事前設定されているアクションをオーバーライドするカスタムアクションファイルのエントリを示します。このエントリは、次の動作を指定します。


影響が軽度のエラーを無視する

サーバー障害モニターが対応するエラーの影響が軽度の場合、エラーを無視したほうがエラーに対応するより混乱が少ないことがあります。

たとえば、Oracle エラー 4030: out of process memory when trying to allocate num-bytes bytes に対する事前設定アクションは再起動です。この Oracle エラーは、プライベートヒープメモリーを割り当てることができなかったサーバー障害モニターを示しています。このエラーの原因の 1 つとしては、オペレーティングシステムに対してメモリー不足していたことが挙げられます。このエラーが 2 つ以上のセッションに影響を及ぼす場合、データベースの再起動が適切な場合があります。しかしながら、これらのセッションはさらにプライベートメモリーを必要としないため、このエラーはほかのセッションに影響を与えない可能性があります。この場合、サーバー障害モニターでエラーを無視するよう指定することを考慮します。

次の例は、DBMS エラーを無視するためのカスタムアクションファイルのエントリを表示しています。


例 5 DBMS エラーの無視

{
ERROR_TYPE=DBMS_ERROR;
ERROR=4030;
ACTION=none;
CONNECTION_STATE=*;
NEW_STATE=*;
MESSAGE="";
}

この例は、DBMS エラー 4030 に事前設定されているアクションをオーバーライドするカスタムアクションファイルのエントリを示しています。このエントリは、次の動作を指定します。


記録された警告に対する応答の変更

Oracle ソフトウェアログは alert_log_file 拡張プロパティーによって識別されたファイルに警告を記録します。サーバー障害モニターは、このファイルをスキャンし、アクションが定義されている警告に対してアクションを実行します。

アクションが事前設定されている警告ログは、表 2 に一覧表示されています。事前設定アクションを変更するため、またはサーバー障害モニターが応答する新しい警告を定義するために、警告ログに対する応答を変更します。

警告ログに対する応答を変更するには、カスタムアクションファイルにエントリを作成します。キーワードは次のように設定します。

サーバー障害モニターは、カスタムアクションファイルのエントリをエントリが生じた順序で処理します。記録された警告と一致する最初のエントリのみが処理されます。後続の一致しているエントリは無視されます。複数の記録された警告に対してアクションを指定するために正規表現を使用している場合、より一般的なエントリの前に、より特殊なエントリが発生するようにします。一般エントリのあとに発生する特殊なエントリが無視されることがあります。

たとえば、カスタムアクションファイルは正規表現 ORA-65 および ORA-6 によって識別されるエラーに対して異なるアクションを定義することがあります。正規表現 ORA-65 を含むエントリが無視されないようにするため、このエントリが正規表現 ORA-6 を含むエントリの前に発生することを確認します。

次の例は、ログされた警告に対する応答を変更するためのカスタムアクションファイルのエントリを示しています。


例 6 記録された警告に対する応答の変更

{
ERROR_TYPE=SCAN_LOG;
ERROR="ORA-00600: internal error";
ACTION=RESTART;
}

この例は、内部エラーに関する警告ログに対する事前設定アクションをオーバーライドするカスタムアクションファイルのエントリを示しています。このエントリは、次の動作を指定しています。


連続タイムアウトプローブの最大数の変更

デフォルトでは、サーバー障害モニターはタイムアウトプローブを 2 回連続発生しあとに、データベースを再起動します。データベースの負荷が軽い場合、タイムアウトプローブが 2 回連続発生したことは、データベースがハングアップしたことを十分に示すものとなります。ただし、負荷が重い場合、サーバー障害モニタープローブは、データベースが適切に機能しているときでもタイムアウトすることがあります。サーバー障害モニターが不必要にデータベースを再起動させないようにするには、連続タイムアウトプローブの最大数を増やします。


注意 – 注意 –

連続タイムアウトプローブの最大数を増やすと、データベースがハングアップしたことを検出する時間が長くなります。


連続タイムアウトプローブの最大許容数を変更するには、許可されている各連続タイムアウトプローブに対して、最初のタイムアウトプローブ以外に、カスタムアクションファイルのエントリを 1 つ作成します。


注 –

最初にタイムアウトしたプローブに対しては、エントリを作成する必要はありません。最初にタイムアウトしたプローブに対してサーバー障害モニターが実行するアクションは事前設定されています。


許容されている最後のタイムアウトプローブには、次のようにキーワードを設定したエントリを作成します。

最初にタイムアウトしたプローブ以外の、残り各連続タイムアウトプローブに対して、エントリを作成し、キーワードを次のように設定します。


ヒント –

デバッグを容易にするため、タイムアウトプローブのシーケンス番号を示すメッセージを指定します。


次の例は、連続タイムアウトプローブの最大数を 5 に増やすための、カスタムアクションファイルのエントリを示しています。


例 7 連続タイムアウトプローブの最大数の変更

{
ERROR_TYPE=TIMEOUT;
ERROR=2;
ACTION=NONE;
CONNECTION_STATE=*;
NEW_STATE=*;
MESSAGE="Timeout #2 has occurred.";
}

{
ERROR_TYPE=TIMEOUT;
ERROR=3;
ACTION=NONE;
CONNECTION_STATE=*;
NEW_STATE=*;
MESSAGE="Timeout #3 has occurred.";
}

{
ERROR_TYPE=TIMEOUT;
ERROR=4;
ACTION=NONE;
CONNECTION_STATE=*;
NEW_STATE=*;
MESSAGE="Timeout #4 has occurred.";
}

{
ERROR_TYPE=TIMEOUT;
ERROR=5;
ACTION=RESTART;
CONNECTION_STATE=*;
NEW_STATE=*;
MESSAGE="Timeout #5 has occurred. Restarting.";
}

次の例は、連続タイムアウトプローブの最大数を 5 に増やすための、カスタムアクションファイルのエントリを示しています。これらのエントリは、次の動作を指定しています。


クラスタのすべてのノードにカスタムアクションファイルを伝達する

サーバー障害モニターは、すべてのクラスタノードまたはゾーンにおいて、一貫して動作する必要があります。そのため、サーバー障害モニターが使用するカスタムアクションファイルは、すべてのクラスタノードまたはゾーンにおいて同一である必要があります。カスタムアクションファイルを作成または修正したあと、ファイルをすべてのクラスタノードまたはゾーンに伝達して、このファイルがすべてのクラスタノードまたはゾーンにおいて同一であるようにします。ファイルをすべてのクラスタノードまたはゾーンに伝達するには、クラスタ設定にもっとも適した方法を使用します。

サーバー障害モニターが使用する必要のあるカスタムアクションファイルを指定する

サーバー障害モニターにカスタマイズされたアクションを適用するには、障害モニターが使用すべきカスタムアクションファイルを指定する必要があります。サーバー障害モニターがカスタムアクションファイルを読み取ったときに、カスタマイズされたアクションがサーバー障害モニターに適用されます。サーバー障害モニターは、ファイルが指定されたときにカスタムアクションファイルを読み取ります。

カスタムアクションファイルを指定すると、ファイルも検査されます。ファイルが構文エラーを含む場合、エラーメッセージが表示されます。そのため、カスタムアクションファイルを修正したあと、ファイルを再度指定して、ファイルを検査します。


注意 – 注意 –

修正されたカスタムアクションファイルに構文エラーが検出された場合、障害モニターを再起動する前に、エラーを修正します。障害モニターを再起動したときに、構文エラーがまだ修正されていない場合、障害モニターはエラーのあるファイルを読み取り、最初の構文エラー後に起きたエントリを無視します。


Procedureサーバー障害モニターが使用するべきカスタムアクションファイルを指定する

  1. クラスタノードでスーパーユーザーになるか、solaris.cluster.modify RBAC の承認を提供する役割になります。

  2. SUNW.oracle_server リソースの Custom_action_file 拡張プロパティーを設定します。

    このプロパティーをカスタムアクションファイルの絶対パスに設定します。


    # clresource set -p custom_action_file=filepath server-resource
    
    -p custom_action_file= ファイルパス

    カスタムアクションファイルの絶対パスを指定します。

    サーバーリソース

    SUNW.oracle_server リソースを指定します。

Sun Cluster HA for Oracle リソースタイプのアップグレード

Sun Cluster HA for Oracle データサービスの既存のリソースタイプは次のとおりです。

既存のリソースタイプに加えて、3 種類の追加のリソースタイプが ASM の Sun Cluster HA for Oracle データサービスに含まれています。これらのリソースタイプは次のとおりです。

Sun Cluster HA for Oracle の旧バージョンからアップグレードする場合は、既存のリソースタイプをアップグレードします。

リソースタイプをアップグレードする方法に関する一般的な注意点については、『Sun Cluster Data Services Planning and Administration Guide for Solaris OS』「Upgrading a Resource Type」を参照してください。

SUNW.oracle_listener リソースタイプのアップグレード

以下の副節では、SUNW.oracle_listener リソースタイプのアップグレードを実行するために必要な情報について説明します。

新しいリソースタイプバージョンの登録に関する情報

SUNW.oracle_listener リソースタイプのバージョンと Sun Cluster データサービスのリリースの関係は、次の表のとおりです。Sun Cluster データサービスのリリースは、リソースタイプが導入されたバージョンを表します。この表は、それぞれの新しいバージョンで導入された変更の概要も示しています。

SUNW.oracle_listener リソースタイプバージョン

Sun Cluster データサービスのリリース 

変更の概要 

1.0 

なし 

3.1 

3.1 5/03 

導入したこのリソースタイプのアップグレードを有効にする指示 

3.1 4/04 

Probe_timeout 拡張プロパティーの導入

3.1 8/05 

Probe_timeout 拡張プロパティーのデフォルト値が 180 秒に延長されました。

登録されているリソースタイプのバージョンを調べるには、次のどちらかのコマンドを使用します。

このリソースタイプのリソースタイプ登録 (RTR) ファイルは /opt/SUNWscor/oracle_listener/etc/SUNW.oracle_listener です。

リソースタイプの既存インスタンスの移行に関する情報

SUNW.oracle_listener リソースタイプの各インスタンスの編集に必要な情報は、次のとおりです。


注 –

SUNW.oracle_listener リソースタイプのバージョン 4 を使用する場合、新しいデフォルト値が必要な場合にだけ バージョン 4 にアップグレードします。バージョン 4 のデフォルト値で十分であれば、アップグレードする必要はありません。


次の例は、 SUNW.oracle_listener リソースタイプのインスタンスを編集するコマンドです。


例 8 SUNW.oracle_listener リソースタイプのインスタンスの編集


# clresource set  -p Type_version=4 \
  -p probe_timeout=60 oracle-lrs

このコマンドは SUNW.oracle_listener リソースを次のように編集します。


SUNW.oracle_server リソースタイプのアップグレード

以下の副節では、SUNW.oracle_server リソースタイプのアップグレードを実行するために必要な情報について説明します。

新しいリソースタイプバージョンの登録に関する情報

SUNW.oracle_server リソースタイプのバージョンと Sun Cluster データサービスのリリースの関係は、次の表のとおりです。Sun Cluster データサービスのリリースは、リソースタイプが導入されたバージョンを表します。この表は、それぞれの新しいバージョンで導入された変更の概要も示しています。

SUNW.oracle_server リソースタイプバージョン

Sun Cluster データサービスのリリース 

変更の概要 

1.0 

なし 

1.1 

3.0 5/02 asynchronous release  

導入したこのリソースタイプのアップグレードを有効にする指示 

Auto_End_Bkp 拡張プロパティーの導入

3.1 

3.1 5/03 

Restart_type 拡張プロパティーの導入

3.1 10/03 

Custom_action_file 拡張プロパティーの導入

3.1 8/05 

変更された拡張プロパティーのデフォルト値は次のとおりです。 

  • Probe_timeout 拡張プロパティーのデフォルト値が 300 秒に延長されました。

  • Restart_type 拡張プロパティのデフォルト値が RESOURCE_RESTART に変更されました。

3.2  

スタンバイインスタンスのサポート 

Dataguard_role 拡張プロパティーが導入されました。使用可能な値は次のとおりです。

  • NONE

  • PRIMARY

  • STANDBY

  • IN_TRANSITION

Standby_mode 拡張プロパティーの導入 使用可能な値は次のとおりです。

  • LOGICAL

  • PHYSICAL

登録されているリソースタイプのバージョンを調べるには、次のどちらかのコマンドを使用します。

この ソースタイプのリソースタイプ登録 (RTR) ファイルは、/opt/SUNWscor/oracle_server/etc/SUNW.oracle_server です。

リソースタイプの既存インスタンスの移行に関する情報

SUNW.oracle_server リソースタイプの各インスタンスの編集に必要な情報は、次のとおりです。


注 –

SUNW.oracle_server リソースタイプのバージョン 4 を使用する場合、新しいデフォルト値が必要な場合のみ バージョン 4 にアップグレードします。バージョン 4 のデフォルト値で十分であれば、アップグレードする必要はありません。


次の例は、 SUNW.oracle_server リソースタイプのインスタンスの編集のコマンドです。


例 9 SUNW.oracle_server リソースタイプのインスタンスの編集


# clresource set  -p Type_version=4 \
  -p custom_action_file=/opt/SUNWscor/oracle_server/etc/srv_mon_cust_actions \ 
oracle-srs

このコマンドは SUNW.oracle_server リソースを次のように編集します。


DataGuard インスタンスのロールの変更

Oracle プライマリデータベースと Oracle スタンバイデータベースの間で、データベースロールのフェイルオーバーまたはスイッチオーバーが可能です。Oracle コマンドを使用して DataGuard インスタンスのロールを変更する場合、変更はこれらのインスタンスを表す Sun Cluster リソースには伝播しません。したがって、必ず Sun Cluster コマンドを使用してこれらのリソースのプロパティーを変更して、データベースのインスタンスが正しいロールで起動するようにする必要があります。

ProcedureDataGuard インスタンスのロールの変更方法

  1. Sun Cluster が間違ったロールのインスタンスを起動しないようにします。

    DataGuard インスタンスのロールの変更中にノードまたはゾーンが失敗した場合、Sun Cluster がインスタンスを正しくないロールで起動することがあります。これを防ぐには、インスタンスを表す Oracle サーバーリソースの拡張プロパティー Dataguard_roleIN_TRANSITION に変更します。


    # clresource set -p Dataguard_role=IN_TRANSITION server-rs
    
  2. Oracle データベースで必要な操作を行って、データベースを新しいロールに変換します。

  3. インスタンスを表す Oracle サーバーリソースの次の拡張プロパティーを変更して、インスタンスの新しいロールを反映させます。

    • Dataguard_role

    • Standby_mode

    次のように、Dataguard_role Standby_mode の必要な組み合せはロールの変更に依存します。

    • プライマリデータベースからプリマリスタンバイデータベースに変更するには、次のコマンドを実行します。


      # clresource set -p Dataguard_role=STANDBY -p Standby_mode=PHYSICAL server-rs
      
    • プライマリデータベースから論理スタンバイデータベースに変更するには、次のコマンドを実行します。


      # clresource set -p Dataguard_role=STANDBY \
       -p Standby_mode=LOGICAL server-rs
      
    • スタンバイデータベースからプライマリデータベースに変更するには、次のコマンドを実行します。


      # clresource set -p Dataguard_role=PRIMARY server-rs