Sun Cluster 3.0 データサービスのインストールと構成

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

この章では、Sun Cluster ノード上で Sun Cluster HA for Oracle データサービスを設定、管理する方法について説明します。

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

Sun Cluster HA for Oracle は、フェイルオーバーサービスとして構成する必要があります。データサービス、リソースグループ、リソース、関連事項については、第 1 章「Sun Cluster データサービスの計画」および『Sun Cluster 3.0 の概念』を参照してください。

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

表 2-1 に、インストールと構成作業について説明している節を示します。

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

作業 

参照箇所 

Sun Cluster HA for Oracle をインストールする準備 

「Sun Cluster HA for Oracle をインストールする準備」

Oracle アプリケーションソフトウェアのインストール 

「Oracle サーバーソフトウェアのインストール」

Oracle データベースの作成 

「Oracle データベースの作成」

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

「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 をインストールする Sun Cluster ノードを準備するには、Oracle アプリケーションファイル (Oracle バイナリ、構成ファイル、パラメータファイル) とデータベース関連のファイル (制御ファイル、redo ログファイル、データファイル) の場所を選択する必要があります。

表 2-2 に、インストール可能な場所の組み合わせを示します。これらのファイルは、クラスタファイルシステム、raw 広域デバイス、物理ホストのローカルディスクにインストールできます。Oracle バイナリをローカルファイルシステムに配置した場合と、広域ファイルシステムに配置した場合の長所と短所については、「アプリケーションバイナリの格納先の決定」を参照してください。

表 2-2 Oracle アプリケーションとデータベースファイルの場所

Oracle バイナリ、構成ファイル、パラメータファイル 

データベース制御ファイル、redo ログ、データファイル 

ローカルファイルシステム 

クラスタファイルシステム 

ローカルファイルシステム 

raw 広域デバイス 

クラスタファイルシステム 

raw 広域デバイス 

クラスタファイルシステム 

クラスタファイルシステム 

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

この節で説明する手順を使用して、以下の操作を行います。

Sun Cluster HA for Oracle の設定を開始する前に、『Sun Cluster 3.0 ソフトウェアのインストール』で説明されている手順を使用し、各ノード上で Sun Cluster ソフトウェアを構成する必要があります。

ノードを準備する

Oracle アプリケーションソフトウェアのインストール用にクラスタノードを準備する方法について説明します。


注意 - 注意 -

ここで説明する手順は、すべての Sun Cluster ノードで実行してください。


この手順を実行する前に、Oracle のマニュアルを参照してください。

Sun Cluster ノードを準備し、Oracle ソフトウェアをインストールする手順は、次のとおりです。

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

  2. スイッチオーバーやフェイルオーバーの発生時に、データサービスが正しく起動または停止するように、/etc/nsswitch.conf ファイルを次のように設定します。

    Sun Cluster HA for Oracle を実行する論理ホストをマスターできる各ノードで、/etc/nsswitch.conf ファイルに、次の group エントリのいずれか 1 つが登録されている必要があります。


    group:
    group:		 	files
    group:		 	files [NOTFOUND=return] nis
    group:		 	files [NOTFOUND=return] nisplus

    Sun Cluster HA for Oracle は、データベースノードの起動および停止に su user コマンドを使用します。上記のように設定しておくことで、クラスタノード上のパブリックネットワークの障害が原因でネットワーク情報ネームサービスが利用できない場合に、su(1M)コマンドは、NIS/NIS+ を参照しません。

  3. Sun Cluster HA for Oracle 用にクラスタファイルシステムを設定します。

    データベースの格納に raw デバイスを使用している場合は、raw デバイスにアクセスするために広域デバイスを構成する必要があります。広域デバイスの構成方法については、『Sun Cluster 3.0 ソフトウェアのインストール』を参照してください。

    SolsticeTM DiskSuite を使用する場合は、UFS ロギングまたはミラー化された raw メタデバイスを使用するように、Oracle を構成します。ミラー化された raw メタデバイスの設定方法については、Solstice DiskSuite のマニュアルを参照してください。

  4. Oracle インストール用に Oracle ホームディレクトリを用意します。

    ローカルディスクまたは多重ホストディスク上に、$ORACLE_HOME ディレクトリを設定します。


    注 -

    Oracle バイナリを物理ホストのローカルディスク上にインストールする場合は、できる限り専用のディスクを使用してください。Oracle バイナリを専用のディスクにインストールすることで、オペレーティング環境の再インストール時に、Oracle バイナリが上書きされるのを防止できます。


  5. 各ノードで、/etc/group ファイルにデータベース管理者グループ用のエントリを作成し、グループに潜在的ユーザーを追加します。

    通常、このグループの名前は dba です。root および oracle_id がこの dba グループのメンバーになっていることを確認し、必要に応じて、他の DBA ユーザー用のエントリを追加します。Sun Cluster HA for Oracle を実行するすべてのノードで、グループ ID が同じであることを確認します。次の例を参照してください。


    dba:*:520:root,oracle 

    NIS や NIS+ などのネットワークネームサービス内にグループのエントリを作成することができます。また、ローカルの /etc ファイルにエントリを作成することで、ネットワークネームサービスに依存しないようにできます。

  6. 各ノードで、Oracle ユーザー ID (oracle_id) 用のエントリを作成します。

    通常、oracle_id は oracle です。次のコマンド行は、/etc/passwd および /etc/shadow ファイルを更新します。


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

    Sun Cluster HA for Oracle を実行するすべてのノードで oracle_id が同じであることを確認してください。

Oracle ソフトウェアをインストールする
  1. クラスタ内の 1 つのノードで、スーパーユーザーになります。

  2. Oracle のインストール条件を確認します。

    Oracle バイナリは、物理ホストのローカルディスク、またはクラスタファイルシステムにインストールできます。インストールする場所については、「Sun Cluster HA for Oracle をインストールする準備」を参照してください。

    Oracle ソフトウェアをクラスタファイルシステムにインストールする場合は、最初に Sun Cluster を起動し、ディスクデバイスグループの所有権を取得する必要があります。

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

    Oracle ソフトウェアをどこにインストールする場合でも、標準の Oracle インストール手順に従って、各ノードで /etc/system ファイルを変更します。変更した後に再起動します。

    この手順を実行する前に、oracle_id でログインし、すべてのディレクトリの所有権を確認します。Oracle ソフトウェアのインストールについては、Oracle のインストールと構成についての説明書を参照してください。

Oracle のインストールを確認する

  1. ユーザー oracle_id および グループ dba が、$ORACLE_HOME/bin/oracle を所有していることを確認します。

  2. $ORACLE_HOME/bin/oracle のアクセス権が次のように設定されていることを確認します。


    -rwsr-s--x
  3. リスナーバイナリが $ORACLE_HOME/bin にあることを確認します。

次の作業

この節での作業を終了したら、「Oracle データベースの作成」に進みます。

Oracle データベースの作成

この節で説明する 2 つの手順を完了し、Sun Cluster 構成で初期 Oracle データベースを構成し作成します。追加のデータベースを作成し、構成する場合は、「Oracle データベースを作成する」の手順のみを行います。

Oracle データベースアクセスを構成する

  1. ボリューム管理ソフトウェアがディスクデバイスを使用できるように構成します。

    詳細は、『Sun Cluster 3.0 ソフトウェアのインストール』のボリューム管理ソフトウェアに関する付録を参照してください。

  2. Solstice DiskSuite を使用している場合は、UFS ロギングまたはミラー化 raw メタデバイスを Sun Cluster HA for Oracle を実行するすべてのノードで設定します。

    データベースの格納に raw デバイスを使用している場合は、各ミラー化された raw メタデバイスの所有者、グループ、モードを変更します。raw デバイスを使用していない場合は、この手順を省略してください。raw デバイスの構成方法については、『Sun Cluster 3.0 ソフトウェアのインストール』を参照してください。

    raw デバイスを使用している場合は、Oracle リソースグループをマスターできる「各ノード」上のデバイスごとに、次のコマンドを入力します。


    # chown oracle_id /dev/md/disk_device_group/rdsk/dn
    # chgrp dba_id /dev/md/disk_device_group/rdsk/dn
    # chmod 600 /dev/md/disk_device_group/rdsk/dn
    

    正しく変更されたことを確認します。


    # ls -lL /dev/md/disk_device_group/rdsk/dn
    
  3. VERITAS Volume Manager を使用している場合は、UFS ログまたは raw デバイスをすべてのノードで設定します。

    Solaris UFS ロギングについては、mount_ufs(1M) のマニュアルページおよび『Solaris 移行ガイド』を参照してください。データベースの格納に raw デバイスを使用している場合は、各デバイスの所有者、グループ、モードを変更します。raw デバイスを使用していない場合は、この手順を省略してください。

    raw デバイスを使用している場合は、各 raw デバイスに対して次のコマンドを入力します。


    # vxedit -g disk_device_group set user=oracle_id ¥
    group=dba mode=600 volume_name
    

    正しく変更されたことを確認します。


    # ls -lL /dev/vx/rdsk/disk_device_group/volume_name
    

    次に、クラスタでディスデバイスグループを再登録します。この操作は、クラスタ全体を通して VxVM 名前空間の整合性を維持するために必要です。Solstice DiskSuite を使用している場合は、この手順を省略できます。


    # scconf -c -D name=disk_device_group
    

Oracle データベースを作成する

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

    すべてのデータベース関連ファイル (データファイル、redo ログファイル、制御ファイル) を、共有 raw 広域デバイスまたはクラスタファイルシステムに格納します。インストール場所については、「Sun Cluster HA for Oracle をインストールする準備」を参照してください。

    場合によっては、init$ORACLE_SID.ora または config$ORACLE_SID.ora ファイル内の control_filesbackground_dump_dest の設定を、制御ファイルとアラートファイルの格納場所を示すように変更する必要があります。


    注 -

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


  2. データベースを作成します。

    Oracle インストーラを起動し、データベースを作成するオプションを選択します。Oracle のバージョンによっては、Oracle の svrmgrl コマンドを使用してデータベースを作成できます。

    作成中、すべてのデータベース関連ファイルが、共有広域デバイスまたはクラスタファイルシステムの適切な場所に配置されていることを確認してください。

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

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

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

次の作業

この節での作業を終了したら、「Oracle データベースのアクセス権の設定」に進みます。

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

この節で説明する手順を使用し、Oracle データベースのアクセス権を設定します。

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

使用する認証機能 (Oracle 認証または Solaris 認証) によって、手順 1 または 手順 2 を実行します。

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

    手順 2 で、Solaris 認証を有効にしない場合は、この手順を完了する必要があります。

    サポートされているすべての Oracle リリースで、srvmgrl(1M) コマンドで表示した画面に以下のスクリプトを入力し、アクセスを有効にします。


    # svrmgrl
     
    	connect internal;
    			grant connect, resource to user identified by passwd;
    			alter user user default tablespace system quota 1m on
    				system;
           			grant select on v_$sysstat to user;
    			grant create session to user;
    			grant create table to user;
    	disconnect;
     
       exit;
  2. データベースに対するアクセス権を付与し、Solaris 認証を使用します。

    手順 1 を実行しない場合は、この手順を実行してください。


    注 -

    Solaris 認証を有効にするユーザーは、$ORACLE_HOME 下のファイルを所有するユーザーです。次のコード例では、ユーザー oracle が、これらのファイルを所有しています。



    # svrmgrl
     
    	connect internal;
    			create user ops$oracle identified by externally
    				default tablespace system quota 1m on system;
    			grant connect, resource to ops$oracle;
          			grant select on v_$sysstat to ops$oracle;
    			grant create session to ops$oracle;
    			grant create table to ops$oracle;
    	disconnect;
     
       exit;
  3. Sun Cluster 用に NET8 を構成します。

    listener.ora および tnsnames.ora ファイルは、クラスタ内のすべてのノードからアクセスできるようにしてください。これらのファイルは、Oracle リソースを実行することができる各ノードのクラスタファイルシステム下、またはローカルファイルシステム内に配置できます。

    Sun Cluster HA for Oracle では、リスナー名に制限はありません。任意の有効な Oracle リスナー名を指定できます。

    次のコード例は、listener.ora ファイル内で更新された行を示しています。


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

    次のコード例は、クライアントマシンで更新された tnsnames.ora ファイルの行を示しています。


    service_name =
    	.
    			.
    						(ADDRESS = 
    								(PROTOCOL = TCP)
    								(HOST = logicalhostname)	<- logical host name
    								(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

    ora7

    hadbms4

    LISTENER-ora7

    対応する listener.ora エントリは次のようになります。


    LISTENER-ora7 =
    	(ADDRESS_LIST =
    			(ADDRESS =
    				(PROTOCOL = TCP)
    				(HOST = hadbms4)
    				(PORT = 1530)
    			)
    		)
    SID_LIST_LISTENER-ora7 =
    	(SID_LIST =
    			(SID_DESC =
    				(SID_NAME = ora7)
    			)
    		)
    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))
    )
    ora7 =
    (DESCRIPTION =
      (ADDRESS_LIST =
            (ADDRESS = 
    				(PROTOCOL = TCP) 
    				(HOST = hadbms4) 
    				(PORT = 1530))
      )
      	(CONNECT_DATA = (SID = ora7))
    )
  4. Sun Cluster がインストールされ、すべてのノードで実行されていることを確認します。


    # scstat
    

次の作業

Sun Cluster HA for Oracle データサービスを登録して構成するには、「Sun Cluster HA for Oracle パッケージのインストール」へ進みます。

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

scinstall(1M) ユーティリィティは、 Sun Cluster HA for Oracle データサービスパッケージ (SUNWscor) をクラスタにインストールします。対話型の scinstall を使用すると、Sun Cluster データサービス CD から特定のデータサービスパッケージをインストールすることができます。また、scinstall-s オプションを指定して非対話型で使用することで、CD 内のすべてのデータサービスパッケージをインストールすることもできます。望ましい方法は、次の手順で説明する対話型の scinstall を使用することです。

データサービスパッケージ は、Sun Cluster の初期インストール時に、インストールされます。インストールされていない場合は、ここで説明する手順を使用してインストールしてください。

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

この手順を実行するには、Sun Cluster データサービス CD が必要です。Sun Cluster HA for Oracle を実行するすべてのクラスタノードで、この手順を実行してください。

  1. データサービス CD を CD-ROM ドライブに挿入します。

  2. オプションは指定せずに、scinstall を実行します。

    scinstall が対話型モードで起動します。

  3. 「Add support for new data service to this cluster node.」メニューオプションを選択します。

    CD 内にある任意のデータサービスのソフトウェアを読み込むことができます。

  4. scinstall を終了し、ドライブから CD を取り出します。

次の作業

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

Sun Cluster HA for Oracle の登録と構成

Sun Cluster HA for Oracle は、フェイルオーバーデータサービスとして登録して構成できます。そのためには、Oracle サーバーおよびリスナー用に、データサービスを登録し、リソースグループとリソースを構成する必要があります。リソースとリソースグループの詳細については、第 1 章「Sun Cluster データサービスの計画」および『Sun Cluster 3.0 の概念』を参照してください。

Sun Cluster HA for Oracle を登録して構成する

Sun Cluster HA for Oracle データサービスを登録して構成するには、Sun Management Center のクラスタモジュールを使用するか、以下の手順を使用します。

この手順を実行するには、次の情報が必要になります。

この手順は、任意のクラスタメンバーで実行します。

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

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

    Sun Cluster HA for Oracle の場合は、次のように、SUNW.oracle_server および SUNW.oracle_listener の 2 つのリソースタイプを登録します。


    # scrgadm -a -t SUNW.oracle_server
    # scrgadm -a -t SUNW.oracle_listener
    
    -a

    データサービスのリソースタイプを追加します。

    -t SUNW.oracle_type

    データサービス用に事前に定義したリソースタイプ名を指定します。

  3. ネットワークリソースとアプリケーションリソースを保持するフェイルオーバーリソースグループを作成します。

    必要に応じて、-h オプションを指定し、データサービスを実行できる一群のノードを任意で選択することもできます。


    # scrgadm -a -g resource-group-name [-h nodelist]
    -g resource-group-name

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

    -h nodelist ...

    潜在的マスターを識別する物理ノード名または ID をコンマで区切って指定します (任意)。フェイルオーバー時は、この順序で主ノードが決まります。


    注 -

    -h を使用してノードリストの順序を指定します。クラスタ内のすべてのノードが潜在的マスターの場合、-h オプションを使用する必要はありません。


  4. 使用しているすべての論理ホスト名が、ネームサービスデータベースに追加されていることを確認します。

    Sun Cluster のインストールの一部として、この確認を行います。


    注 -

    ネームサービスの検索が原因で障害が発生するのを防ぐために、サーバーおよびクライアントの /etc/hosts ファイルにすべての論理ホスト名が登録されていることを確認してください。


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


    # scrgadm -a -L -g resource-group-name -l logical-hostname ¥
    [-j resource-name] [-n network-interface-id-list] 
    -l logical-hostname

    論理ホスト名を指定します。

    -j resource-name

    論理ホスト名リソースに名前を指定します (任意)。名前を指定しない場合、リソース名は、デフォルトで -l オプションで最初に指定した名前になります。

    -n network-interface-id-list

    各ノードの NAFO グループをコンマで区切って指定します。リソースグループの nodelist 内のすべてのノードが network-interface-list に含まれている必要があります。このオプションを指定しない場合は、scrgadm は、nodelist 内の各ノードの hostname リストによって識別されるサブネット上からネットアダプタを見つけようとします。

  6. Oracle アプリケーションリソースをフェイルオーバーリソースグループに作成します。


    # scrgadm -a -j resource-name -g resource-group-name ¥
     
    -t SUNW.oracle_server ¥ 
    -x Connect_string=user/passwd ¥
    -x ORACLE_SID=instance-name ¥
    -x ORACLE_HOME=Oracle-home ¥
    -x Alert_log_file=path-to-log
    

    # scrgadm -a -j resource-name -g resource-group-name ¥
     
    -t SUNW.oracle_listener ¥ 
    -x LISTENER_NAME=listener-name ¥
    -x ORACLE_HOME=Oracle-home
    
    -j resource-name

    追加するリソースの名前を指定します。

    -g resource-group-name

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

    -t SUNW.oracle_server/ listener

                      

    追加するリソースの種類を指定します。

    -x Alert_log_file=path-to-log

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

    -x Connect_string=user/passwd

                      

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

    -x ORACLE_SID=instance-name

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

    -x LISTENER_NAME=listener-name

                      

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

    -x ORACLE_HOME=Oracle-home

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


    注 -

    必要に応じて、Oracle データサービスに属する拡張プロパティをさらに設定し、デフォルト値を上書きできます。拡張プロパティの一覧については、「Sun Cluster HA for Oracle 拡張プロパティの構成」を参照してください。


  7. リソースと障害モニターを有効にした後、リソースグループを管理状態にし、オンラインにします。


    # scswitch -Z -g resource-group-name
    
    -Z

    リソースとモニターを有効にし、リソースグループを管理状態にし、オンラインにします。

    -g resource-group-name

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

例 - 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: oracle-rg (フェイルオーバーリソースグループ), Oracle Resources: oracle-server, oracle-listener,Oracle Instances: ora-lsnr (リスナー), ora-srvr (サーバー)
 
(フェイルオーバーリソースグループを追加し、すべてのリソースを含む)
# scrgadm -a -g oracle-rg
 
(リソースグループに論理ホスト名リソースを追加する)
# scrgadm -a -L -g oracle-rg -l schost-1 
 
(Oracle リソースタイプを登録する)
# scrgadm -a -t SUNW.oracle_server
# scrgadm -a -t SUNW.oracle_listener
 
(Oracle アプリケーションリソースをリソースグループに追加する)
# scrgadm -a -j oracle-server -g oracle-rg ¥
-t SUNW.oracle_server -x ORACLE_HOME=/global/oracle ¥
-x Alert_log_file=/global/oracle/message-log ¥
-x ORACLE_SID=ora-srvr -x Connect_string=scott/tiger
 
# scrgadm -a -j oracle-listener -g oracle-rg ¥
-t SUNW.oracle_listener -x ORACLE_HOME=/global/oracle ¥
-x LISTENER_NAME=ora-lsnr
 
(リソースグループをオンラインにする)
# scswitch -Z -g oracle-rg

SUNW.HAStorage リソースタイプを構成する

SUNW.HAStorage リソースタイプは、HA 記憶装置とデータサービス間の動作を同期させます。Sun Cluster HA for Oracle は、ディスクに負荷がかかることが多いため、SUNW.HAStorage を設定することを推奨します。

詳細は、SUNW.HAStorage(5) マニュアルページおよび 「リソースグループとディスクデバイスグループの関連性」を参照してください。手順については、新しいリソース用に SUNW.HAStorage リソースタイプを設定する」を参照してください。

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

次の確認テストを実行し、Sun Cluster HA for Oracle が正しくインストールされていることを確認してください。

これらの妥当性検査によって、Sun Cluster HA for Oracle を実行するすべてのノードで Oracle インスタンスが起動され、構成内のほかのノードからアクセスできることが保証されます。これらの妥当性検査を実行し、Sun Cluster HA for Oracle データサービスから Oracle を起動するときに発生する問題を特定してください。

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

  1. Oracle リソースが含まれているリソースグループを監視するノードにログインし、Oracle 環境変数を設定します。

    Oracle リソースグループを現在マスターしているノードに oracle_id でログインし、環境変数 ORACLE_SID および ORACLE_HOME を設定します。

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

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

    sqlplus コマンドと、tnsnames.ora ファイルで定義されている tns_service 変数を使用します。


    # sqlplus user/passwd@tns_service
    
  4. Oracle インスタンスを停止します。

    Oracle インスタンスは、Sun Cluster によって制御されるため、Sun Cluster は後でこのインスタンスを再起動します。

  5. Oracle データベースリソースが含まれているリソースグループを、そのクラスタ内の別のノードに切り替えます。

    例:


    # scswitch -z -g rg-name -h phys-nodename 
    
  6. ここで、リソースグループが含まれているノードにログインし、手順 1 で説明した検査を実行します。

    新しいマスターノードに oracle_id でログインし、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 拡張プロパティの構成方法について説明します。

各 Sun Cluster プロパティの詳細については、付録 A 「標準プロパティ」を参照してください。

Sun Cluster HA for Oracle 拡張プロパティを構成する

通常、拡張プロパティは、Oracle サーバーおよびリスナーリソースの作成時に、Sun Management Center のクラスタモジュールを使用するか、scrgadm -x parameter=value コマンド行を使用して構成します。また、第 9 章「データサービスリソースの管理」で説明する手順を使用し、後で構成することもできます。

拡張プロパティには、動的に更新されるものと、リソースが作成されたときやリソースが無効化されたときにのみ更新されるものとがあります。次の 2 つの表の調整の列は、いつプロパティを更新できるかを示しています。

Oracle リスナーリソースを作成するための必須拡張プロパティは、ORACLE_HOME です。表 2-3 に、Oracle リスナーリソースに対して設定できる拡張プロパティを示します。

表 2-3 Sun Cluster HA for Oracle リスナーの拡張プロパティ

名前/データタイプ 

デフォルト 

範囲 

調整 

説明 

LISTENER_ NAME (文字列)

LISTENER

なし 

無効化されたとき 

Oracle リスナーの名前 

ORACLE_HOME (文字列)

なし 

最小 = 1 

無効化されたとき 

Oracle ホームディレクトリへのパス 

User_env (文字列)

"" 

なし 

任意の時点 

環境変数が含まれているファイル。リスナーの起動と停止の前に設定される。 

表 2-4 に、Oracle サーバーに設定できる拡張プロパティを示します。Oracle サーバーに対して設定する必要のある拡張プロパティは、ORACLE_HOMEORACLE_SIDAlert_log_fileConnect_string です。

表 2-4 Sun Cluster HA for Oracle サーバーの拡張プロパティ

名前/データタイプ 

デフォルト 

範囲 

調整 

説明 

Alert_log_file (文字列)

なし 

最小 = 1 

任意の時点 

Oracle 警告ログファイル 

Connect_cycle (整数)

0 - 99999 

任意の時点 

データベースから切り離されるまでの障害モニターの接続検証サイクル数 

Connect_string (文字列)

なし 

最小 = 1 

任意の時点 

障害モニターがデータベースに接続するのに使用する Oracle ユーザーとパスワード 

ORACLE_HOME (文字列)

なし 

最小 = 1 

無効化されたとき 

Oracle ホームディレクトリへのパス 

ORACLE_SID (文字列)

なし 

最小 = 1 

無効化されたとき 

Oracle システム識別子identifier 

Parameter_ file (文字列)

"" 

最小 = 0 

任意の時点 

Oracle パラメータファイル。指定しない場合は、Oracle プロパティのデフォルトが使用される。 

Probe_ timeout

(整数) 

60 

0 - 99999 

任意の時点 

Oracle サーバーインスタンスの検証に障害モニターが使用するタイムアウト時間 (秒) 

User_env (文字列)

"" 

なし 

任意の時点 

環境変数が含まれているファイル。リスナーの起動と停止の前に設定される。 

Wait_for_ online (ブール値)

True

なし 

任意の時点 

データベースがオンラインになるまで START メソッドで待機