「CRS-2549:リソース’ora.asmgroup’は配置ポリシーに対して有効な候補ではないため、’node1’に配置できません」の解決方法

  • URLをコピーしました!
Oracle Error Handling
僕の作業環境
  • 導入製品:Oracle Grid Infrastructure 19.30.0.0.0

Oracle Grid Infrastructure 19c環境で、crsctl start crsやsrvctl start asmを実行してもASMインスタンスが起動せずに、以下のエラーが発生する事象に遭遇しました。

C:\grid>srvctl start asm -n node1
PRCR-1013 : リソースora.asmの起動に失敗しました
PRCR-1064 : ノードnode1でリソースora.asmの起動に失敗しました
CRS-2549: リソース'ora.asmgroup'は配置ポリシーに対して有効な候補ではないため、'node1'に配置できません

本記事では、「CRS-2549:リソース’ora.asmgroup’は配置ポリシーに対して有効な候補ではないため、’node1’に配置できません」の解決方法を解説します。

この記事でわかること
  • srvctl start asm/crsctl start crs実行時に発生するCRS-2549の発生原因
  • CRS-2549の解決手順
目次

問題点

node1のClusterwareを起動しようとしたところ、ora.asmを含むora.asmgroup配下のリソースがOFFLINEのままになっていました。

C:\grid>crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  OFFLINE      node1                    STABLE
               ONLINE  ONLINE       node2                    STABLE
ora.net1.network
               ONLINE  ONLINE       node1                    STABLE
               ONLINE  ONLINE       node2                    STABLE
ora.ons
               ONLINE  OFFLINE      node1                    STABLE
               ONLINE  ONLINE       node2                    STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  OFFLINE                               STABLE
      2        ONLINE  ONLINE       node2                    STABLE
ora.CRST.dg(ora.asmgroup)
      1        ONLINE  OFFLINE                               STABLE
      2        ONLINE  ONLINE       node2                    STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       node2                    STABLE
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  ONLINE       node2                    STABLE
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  ONLINE       node2                    STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  OFFLINE                               Instance Shutdown,STABLE
      2        ONLINE  ONLINE       node2                    Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  OFFLINE                               STABLE
      2        ONLINE  ONLINE       node2                    STABLE
ora.cvu
      1        ONLINE  ONLINE       node2                    STABLE
ora.node1.vip
      1        ONLINE  INTERMEDIATE node2                    FAILED OVER,STABLE
ora.node2.vip
      1        ONLINE  ONLINE       node2                    STABLE
ora.qosmserver
      1        ONLINE  ONLINE       node2                    STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       node2                    STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       node2                    STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       node2                    STABLE
--------------------------------------------------------------------------------

srvctl start asmコマンドでASMインスタンスの起動を試みても、CRS-2549エラーで失敗しました。

C:\grid>srvctl start asm -n node1
PRCR-1013 : リソースora.asmの起動に失敗しました
PRCR-1064 : ノードnode1でリソースora.asmの起動に失敗しました
CRS-2549: リソース'ora.asmgroup'は配置ポリシーに対して有効な候補ではないため、'node1'に配置できません

CRS-02549: リソース’string‘は配置ポリシーに対して有効な候補ではないため、’string‘に配置できません
原因: リソースの配置ポリシーによる制約のため、リソースを配置できません。
処置: リソースの配置ポリシーを変更するか、リクエストを再確認してください。

引用元:Oracle公式サイト

解決方法

解決手順
  1. RESOURCE_USE_ENABLEDを確認
  2. RESOURCE_USE_ENABLEDを1に変更
  3. Oracle High Availability Servicesを再起動する

RESOURCE_USE_ENABLEDを確認する

crsctl stat server -f コマンドで、各ノードのステータスおよび構成情報を取得します。

C:\grid>crsctl stat server -f				
NAME=node1				
MEMORY_SIZE=16382				
CPU_COUNT=8				
CPU_CLOCK_RATE=2594				
CPU_HYPERTHREADING=0				
CPU_EQUIVALENCY=1000				
DEPLOYMENT=other				
CONFIGURED_CSS_ROLE=hub				
RESOURCE_USE_ENABLED=0				
SERVER_LABEL=				
PHYSICAL_HOSTNAME=				
CSS_CRITICAL=no				
CSS_CRITICAL_TOTAL=0				
RESOURCE_TOTAL=0				
SITE_NAME=ngo-cluster				
STATE=ONLINE				
ACTIVE_POOLS=Free				
STATE_DETAILS=				
ACTIVE_CSS_ROLE=hub				
				
NAME=node2				
MEMORY_SIZE=16382				
CPU_COUNT=8				
CPU_CLOCK_RATE=2594				
CPU_HYPERTHREADING=0				
CPU_EQUIVALENCY=1000				
DEPLOYMENT=other				
CONFIGURED_CSS_ROLE=hub				
RESOURCE_USE_ENABLED=1				
SERVER_LABEL=				
PHYSICAL_HOSTNAME=				
CSS_CRITICAL=no				
CSS_CRITICAL_TOTAL=0				
RESOURCE_TOTAL=0				
SITE_NAME=ngo-cluster				
STATE=ONLINE				
ACTIVE_POOLS=Free				
STATE_DETAILS=				
ACTIVE_CSS_ROLE=hub				

当該ノード(今回の場合はnode1)のRESOURCE_USE_ENABLED=0がCRS-2549の根本原因です。

RESOURCE_USE_ENABLEDは、サーバーをリソース配置の対象にするかを制御するOracle Clusterwareのサーバー構成属性です。

  • 1(デフォルト)・・・サーバーをリソースの配置に使用できます。
  • 0・・・サーバーでのサーバー・プール・リソースの起動が禁止されます。

つまり、node1は「クラスタには参加しているが、リソースを受け取らない状態」になっており、ASM・ASMディスクグループ・ASMネットワーク、ASMリスナーが起動できていませんでした。

RESOURCE_USE_ENABLEDを1に変更する

変更対象のノード(今回の場合はnode1)上で、crsctl set resource use 1コマンドを実行します。

C:\grid>crsctl set resource use 1
CRS-4416: サーバー属性'RESOURCE_USE_ENABLED'が正常に変更されました。新しい値を有効にするには、Oracle High Availability Servicesを再起動してください。

次の手順でOracle High Availability Services(OHAS)を再起動します。

Oracle High Availability Servicesを再起動する

crsctl stop crs/crsctl start crsでClusterwareの停止・起動を行います。

C:\grid>crsctl stop crs						
CRS-2791: 'node1'上にある、Oracle高可用性サービス管理下のリソースの停止を開始しています						
CRS-2673: 'ora.crsd'('node1')の停止を試行しています						
CRS-2790: サーバー'node1'上にある、Cluster Ready Services管理下のリソースの停止を開始しています						

~省略~					
					
CRS-2793: 'node1'上にある、Oracle高可用性サービス管理下のリソースの停止が完了しました						
CRS-4133: Oracle高可用性サービスは停止されました。						

C:\grid>crsctl start crs -wait						
CRS-4123: Oracle高可用性サービス管理下のリソースを起動しています						
CRS-2672: 'ora.mdnsd'('node1')の起動を試行しています						

~省略~					

CRS-6016: サーバーnode1でのリソースの自動起動が完了しました						
CRS-6024: Oracle Cluster Ready Services管理下のリソースの起動が完了しました						
CRS-4123: Oracle高可用性サービスは起動されています。						

crsctl stat res -t で全リソースが起動したことを確認しました。

C:\grid>crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       node1                    STABLE
               ONLINE  ONLINE       node2                    STABLE
ora.net1.network
               ONLINE  ONLINE       node1                    STABLE
               ONLINE  ONLINE       node2                    STABLE
ora.ons
               ONLINE  ONLINE       node1                    STABLE
               ONLINE  ONLINE       node2                    STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       node1                    STABLE
      2        ONLINE  ONLINE       node2                    STABLE
ora.CRST.dg(ora.asmgroup)
      1        ONLINE  ONLINE       node1                    STABLE
      2        ONLINE  ONLINE       node2                    STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       node1                    STABLE
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  ONLINE       node2                    STABLE
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  ONLINE       node2                    STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       node1                    Started,STABLE
      2        ONLINE  ONLINE       node2                    Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       node1                    STABLE
      2        ONLINE  ONLINE       node2                    STABLE
ora.cvu
      1        ONLINE  ONLINE       node2                    STABLE
ora.node1.vip
      1        ONLINE  ONLINE       node1                    STABLE
ora.node2.vip
      1        ONLINE  ONLINE       node2                    STABLE
ora.qosmserver
      1        ONLINE  ONLINE       node2                    STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       node1                    STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       node2                    STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       node2                    STABLE
--------------------------------------------------------------------------------

まとめ

「CRS-2549:リソース’ora.asmgroup’は配置ポリシーに対して有効な候補ではないため、’node1’に配置できません」が発生する場合は、以下の手順で解決できます。

解決手順
  1. RESOURCE_USE_ENABLEDを確認
  2. RESOURCE_USE_ENABLEDを1に変更
  3. Oracle High Availability Servicesを再起動する

最後までご愛読ありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Fラン卒・未経験からデータベースエンジニアに転身。
使用技術:Oracle製品
資格取得:情報処理安全確保支援士試験|応用情報技術者試験|OracleMaster Gold DBA|OCI Architect Associate

目次