この手順では、Oracle Solaris Cluster の保守コマンドを使用して、クラスタ Oracle ASM インスタンスを含む HA for Oracle Database を登録および構成する手順について説明します。
オプションでサードパーティーのボリュームマネージャーを使用して、クラスタ Oracle ASM ディスクグループに候補ディスクを指定できます。このタイプの構成では、この手順によって、Oracle Solaris Cluster SUNW.ScalDeviceGroup リソースをプロキシ設定する Oracle Grid Infrastructure リソースを手動で作成します。この手順では、Oracle Grid Infrastructure リソースの名前は sun.resource です。sun.resource がオンラインになるまで、対応する Oracle ASM ディスクグループがマウントされないように、sun.resource を構成します。sun.resource リソースは、対応する SUNW.ScalDeviceGroup リソースがオンラインの場合のみ、オンラインになります。また、SUNW.ScalDeviceGroup リソースは、実際のボリュームマネージャーのディスクセットまたはディスクグループがオンラインの場合だけ、オンラインになります。
Oracle ASM ディスクグループがこの依存関係チェーンのメリットを得られるようにするには、sun.resource を定義したあと、ハードスタート依存関係に sun.resource が含まれるように、適切な Oracle ASM ディスクグループリソースを変更します。Oracle ASM ディスクグループリソースのハードスタート依存関係の変更は、VALIDATE メソッドを使用して、SUNW.scalable_asm_diskgroup_proxy リソースによってのみ実行できます。したがって、SUNW.scalable_asm_diskgroup_proxy および SUNW.ScalDeviceGroup リソース間のオフライン再起動依存関係を設定する必要があります。
始める前に
すべての論理ホスト名の IP アドレスのサブネットとネットマスクのエントリが /etc/netmasks ファイルにあることを確認してください。必要に応じて、/etc/netmasks ファイルを編集して、不足しているエントリがある場合は追加します。
ボリューム管理に Solaris Volume Manager for Sun Cluster を使用している場合は、使用するクラスタ Oracle ASM インスタンスの複数所有者ディスクセットを構成します。Oracle Solaris Cluster Data Service for Oracle Real Application Clusters ガイド のOracle RAC データベース用の Solaris Volume Manager for Sun Cluster に複数所有者ディスクセットを作成する方法の手順に従ってください。
Oracle Grid Infrastructure ソフトウェアがインストールされていることを確認します。
Oracle Grid Infrastructure SCAN リスナーを使用する場合は、使用する論理ホスト名の IP アドレスが、その SCAN リスナーの IP アドレスと同じサブネット上に存在することを確認してください。別のサブネット上にある場合、パブリックネットワークで障害が発生した場合に、Oracle Database リソースはフェイルオーバーしません。
Oracle ASM インスタンスとデータベースインスタンスの Oracle Clusterware リソースが構成されていることを確認します。
Oracle_Home に使用するファイルシステムが設定されていることを確認します。手順についてはOracle Solaris Cluster ノードとディスクの準備を参照してください。
Oracle ASM 候補ディスクは、次のいずれかから指定できます。
Solaris Volume Manager ディスクセット
ハードウェア RAID ストレージデバイス (/dev/did/rdsk/dNsX など)
# /Grid_home/bin/crsctl add type sun.storage_proxy.type -basetype local_resource
# /Grid_home/bin/crsctl add res sun.scal-svmdg-rs \ -type sun.storage_proxy.type \ -attr "ACTION_SCRIPT='/opt/SUNWscor/dsconfig/bin/scproxy_crs_action' \ ACL='owner:root:rwx,pgrp:oinstall:rwx,other::r--' SCRIPT_TIMEOUT='20' RESTART_ATTEMPTS='60'"
SUNW.ScalDeviceGroup リソース名。
sun.storage_proxy.type リソースタイプを指定します。
/opt/SUNWscor/dsconfig/bin/scproxy_crs_action アクションスクリプトを指定します。
所有者を root と、グループを Oracle ASM ディスクグループの ACL グループエントリと同一に設定します。次のコマンドは、ACL グループエントリを表示します。
# /Grid_home/bin/crsctl stat res ora.DATA1.dg -p | grep ACL= ACL=owner:oragrid:rwx,pgrp:oinstall:rwx,other::r--
この出力例は、oinstall がそのグループエントリであることを示しています。
20 に設定します。
60 に設定します。
次に出力例を示します。
# /Grid_home/bin/crsctl stat res sun.scal-svmdg-rs -p NAME=sun.scal-svmdg-rs TYPE=sun.storage_proxy.type ACL=owner:root:rwx,pgrp:oinstall:rwx,other::r-- ACTIONS= ACTION_FAILURE_TEMPLATE= ACTION_SCRIPT=/opt/SUNWscor/dsconfig/bin/scproxy_crs_action ACTION_TIMEOUT=60 AGENT_FILENAME=%CRS_HOME%/bin/scriptagent ALERT_TEMPLATE= ALIAS_NAME= AUTO_START=restore CHECK_INTERVAL=60 CHECK_TIMEOUT=0 CLEAN_TIMEOUT=60 DEBUG=1 DEFAULT_TEMPLATE= DEGREE=1 DELETE_TIMEOUT=60 DESCRIPTION= ENABLED=1 INSTANCE_FAILOVER=1 INTERMEDIATE_TIMEOUT=- LOAD=1 LOGGING_LEVEL=1 MODIFY_TIMEOUT=60 NOT_RESTARTING_TEMPLATE= OFFLINE_CHECK_INTERVAL=0 PROFILE_CHANGE_TEMPLATE= RESTART_ATTEMPTS=60 SCRIPT_TIMEOUT=20 SERVER_CATEGORY= START_CONCURRENCY=0 START_DEPENDENCIES= START_TIMEOUT=0 STATE_CHANGE_TEMPLATE= STOP_CONCURRENCEY=0 STOP_DEPENDENCIES= STOP_TIMEOUT=0 UPTIME_THRESHOLD=1h USER_WORKLOAD=no #
# /Grid_home/bin/crsctl stat res ora.DATA1.dg -p | grep START_DEPENDENCIES START_DEPENDENCIES=pullup:always(ora.asm) hard(ora.asm,sun.svmdg-rs)
# clresourcetype register SUNW.crs_framework
# clresource create -g rac-fmwk-rg \ -t SUNW.crs_framework \ -p Resource_dependencies_offline_restart=rac-fmwk-rs \ -d crs-fmwk-rs
# clresourcetype register SUNW.scalable_asm_instance_proxy
# clresourcetype register SUNW.scalable_asm_diskgroup_proxy
# clresourcegroup create -S asm-inst-rg asm-dg-rg
# clresourcegroup set -p Rg_affinities=++rac-fmwk-rg asm-inst-rg
# clresourcegroup set -p Rg_affinities=++asm-inst-rg asm-dg-rg
# clresource create -g asm-inst-rg \ -t SUNW.scalable_asm_instance_proxy \ -p Oracle_home=Oracle_home \ -p CRS_HOME=Grid_home \ -p "oracle_sid{node1}"=instance \ -p "oracle_sid{node2}"=instance \ -p Resource_dependencies_offline_restart=crs-fmwk-rs \ -d asm-inst-rs
リソースを配置するリソースグループの名前を指定します。
追加するリソースのタイプを指定します。
Oracle Database ホームディレクトリへのパスを設定します。
クラスター用 Oracle Grid Infrastructure のホームディレクトリへのパスを設定します。
Oracle Database システム識別子を設定します。
作成するリソースの名前を指定します。
SUNW.scalable_asm_diskgroup_proxy リソースタイプを使用します。
# clresource create -g asm-dg-rg \ -t SUNW.scalable_asm_diskgroup_proxy \ -p Asm_diskgroups=dg[,dg…] \ -p Resource_dependencies_offline_restart=asm-inst-rs,scal-svmdg-rs \ -d asm-dg-rs
# clresourcegroup online -eM asm-inst-rg
# clresourcegroup online -eM asm-dg-rg
# clresource status +
# clresourcegroup create ora-db-rg
SUNW.oracle_server と SUNW.oracle_listener の 2 つのリソースタイプを登録します。
# clresourcetype register SUNW.oracle_server # clresourcetype register SUNW.oracle_listener
# clreslogicalhostname create -g ora-db-rg [-h logical-hostname] logical-hostname-rs
論理ホスト名を指定します。この論理ホスト名は、ネームサービスデータベースに存在する必要があります。logical-hostname と logical-hostname-rs が同一の場合、logical-hostname はオプションです。
作成する論理ホスト名リソースに割り当てる名前を指定します。
# clresourcegroup online -eM ora-db-rg
# clresource create -g ora-db-rg \ -t SUNW.oracle_server \ -p Db_unique_name=db-unique-name \ -p Resource_dependencies_offline_restart=asm-dg-rs \ -p Oracle_home=Oracle_home \ -p Oracle_sid=instance \ -d ora-db-rs
リソースを配置するリソースグループの名前を指定します。
追加するリソースのタイプを指定します。
Oracle Database ホームディレクトリへのパスを設定します。
Oracle Database システム識別子を設定します。
Oracle Database の一意の名前を設定します。
作成するリソースの名前を指定します。
# clresource enable ora-db-rs
次のステップ
HA for Oracle Database を登録および構成したあとは、HA for Oracle Database のインストールの確認に進みます。