前回(サーバー・プール検証(UNIFORMサービス編) - 忘れかけのIT備忘録)に引き続き、今回はSINGLETONタイプのサービスを使ってサーバー・プールの動きを検証します。
■検証環境
※手抜きですが、前回srvpool1に追加したhogeサービス(UNIFORM)を削除して、今回の検証用にpiyoサービス(SINGLETON)を追加しました
■設定情報
[oracle@node1 ~]$ /u01/app/12.1.0/grid/bin/crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node4 STABLE
ONLINE ONLINE node5 STABLE
ora.FRA.dg
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node4 STABLE
ONLINE ONLINE node5 STABLE
ora.LISTENER.lsnr
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node4 STABLE
ONLINE ONLINE node5 STABLE
ora.asm
ONLINE ONLINE node1 Started,STABLE
ONLINE ONLINE node2 Started,STABLE
ONLINE ONLINE node3 Started,STABLE
ONLINE ONLINE node4 Started,STABLE
ONLINE ONLINE node5 Started,STABLE
ora.net1.network
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node4 STABLE
ONLINE ONLINE node5 STABLE
ora.ons
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node4 STABLE
ONLINE ONLINE node5 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE node4 STABLE
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE node1 STABLE
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE node5 STABLE
ora.MGMTLSNR
1 ONLINE ONLINE node1 169.254.244.153 192.
168.100.101,STABLE
ora.cvu
1 ONLINE ONLINE node1 STABLE
ora.mgmtdb
1 ONLINE ONLINE node1 Open,STABLE
ora.node1.vip
1 ONLINE ONLINE node1 STABLE
ora.node2.vip
1 ONLINE ONLINE node2 STABLE
ora.node3.vip
1 ONLINE ONLINE node3 STABLE
ora.node4.vip
1 ONLINE ONLINE node4 STABLE
ora.node5.vip
1 ONLINE ONLINE node5 STABLE
ora.oc4j
1 ONLINE ONLINE node1 STABLE
ora.orcl.db
1 ONLINE ONLINE node2 Open,STABLE
2 ONLINE OFFLINE Instance Shutdown,ST
ABLE
3 ONLINE ONLINE node4 Open,STABLE
4 ONLINE ONLINE node5 Open,STABLE
5 ONLINE ONLINE node1 Open,STABLE
ora.orcl.fuga.svc
1 ONLINE ONLINE node4 STABLE
2 ONLINE ONLINE node2 STABLE
ora.orcl.piyo.svc
1 ONLINE ONLINE node5 STABLE
ora.scan1.vip
1 ONLINE ONLINE node4 STABLE
ora.scan2.vip
1 ONLINE ONLINE node1 STABLE
ora.scan3.vip
1 ONLINE ONLINE node5 STABLE
--------------------------------------------------------------------------------
サーバー・プール設定情報
[oracle@node1 ~]# srvctl config serverpool
サーバー・プール名: Free
重要度: 0、最小: 0、最大: -1
カテゴリ:
候補サーバー名:
サーバー・プール名: Generic
重要度: 0、最小: 0、最大: -1
カテゴリ:
候補サーバー名:
サーバー・プール名: srvpool1
重要度: 10、最小: 1、最大: 2
カテゴリ: hub
候補サーバー名:
サーバー・プール名: srvpool2
重要度: 20、最小: 1、最大: 2
カテゴリ: hub
候補サーバー名:
サービス設定情報
[oracle@node1 ~]$ srvctl config service -db orcl
サービス名: fuga
サーバー・プール: srvpool2
カーディナリティ: UNIFORM
切断: false
サービス・ロール: PRIMARY
管理ポリシー: AUTOMATIC
DTPトランザクション: false
AQのHA通知: false
グローバル: false
コミット結果: false
フェイルオーバー・タイプ:
フェイルオーバー・メソッド:
TAFフェイルオーバー再試行:
TAFフェイルオーバー遅延:
接続ロード・バランシングの目標: LONG
ランタイム・ロード・バランシングの目標: NONE
TAFポリシー仕様: NONE
エディション:
プラガブル・データベース名:
最大タイム・ラグ: ANY
SQL翻訳プロファイル:
保存時間: 86400秒
リプレイ開始時間: 300秒
セッション状態一貫性:
GSMフラグ: 0
サービスは有効です
サービスはノード: で個別に有効になっています
サービスはノード: で個別に無効になっています
サービス名: piyo
サーバー・プール: srvpool1
カーディナリティ: SINGLETON
切断: false
サービス・ロール: PRIMARY
管理ポリシー: AUTOMATIC
DTPトランザクション: false
AQのHA通知: false
グローバル: false
コミット結果: false
フェイルオーバー・タイプ:
フェイルオーバー・メソッド:
TAFフェイルオーバー再試行:
TAFフェイルオーバー遅延:
接続ロード・バランシングの目標: LONG
ランタイム・ロード・バランシングの目標: NONE
TAFポリシー仕様: NONE
エディション:
プラガブル・データベース名:
最大タイム・ラグ: ANY
SQL翻訳プロファイル:
保存時間: 86400秒
リプレイ開始時間: 300秒
セッション状態一貫性:
GSMフラグ: 0
サービスは有効です
サービスはノード: で個別に有効になっています
サービスはノード: で個別に無効になっています
★srvpool1プールを使い回すため、前回作成したhogeサービスを削除して、piyoサービスを追加しました
サーバー・プール状態
[oracle@node1 ~]$ srvctl status srvpool -detail
サーバー・プール名: Free
アクティブ・サーバー数: 1
アクティブ・サーバー名: node3
NAME=node3 STATE=ONLINE
サーバー・プール名: Generic
アクティブ・サーバー数: 0
アクティブ・サーバー名:
サーバー・プール名: srvpool1
アクティブ・サーバー数: 2
アクティブ・サーバー名: node1,node5
NAME=node1 STATE=ONLINE
NAME=node5 STATE=ONLINE
サーバー・プール名: srvpool2
アクティブ・サーバー数: 2
アクティブ・サーバー名: node2,node4
NAME=node2 STATE=ONLINE
NAME=node4 STATE=ONLINE
インスタンス状態
[oracle@node1 ~]$ srvctl status database -db orcl
インスタンスorcl_1はノードnode2で実行中です。
インスタンスorcl_3はノードnode4で実行中です。
インスタンスorcl_4はノードnode5で実行中です。
インスタンスorcl_5はノードnode1で実行中です。
サービス状態
[oracle@node1 ~]$ srvctl status service -db orcl
サービスfugaはノードで実行中です: node2,node4
サービスpiyoはノードで実行中です: node5
■検証パターン
①srvpool1の片ノード停止
■検証
①srvpool1の片ノード停止
srvpool1のノード5のCRS停止後、Freeプールからノード3が補填されるか検証します
なお、piyoサービスがノード1にフェイルオーバーされるかも検証します
【検証手順】
1. ノード5のCRS停止
2. piyoサービスでDBアクセス
3. ノード5のCRS起動
【想定】
Freeプールからノード3が補填され、piyoサービスがノード1にフェイルオーバーされるはず
なお、piyoサービスでDBアクセスできるはず
【検証結果】
Freeプールからノード3が補填され、piyoサービスがノード1にフェイルオーバーされた
なお、piyoサービスでDBアクセスできた
【作業ログ】
[root@node5 ~]# /u01/app/12.1.0/grid/bin/crsctl stop crs
クラスタリソース状態
[oracle@node1 ~]$ /u01/app/12.1.0/grid/bin/crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node4 STABLE
ora.FRA.dg
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node4 STABLE
ora.LISTENER.lsnr
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node4 STABLE
ora.asm
ONLINE ONLINE node1 Started,STABLE
ONLINE ONLINE node2 Started,STABLE
ONLINE ONLINE node3 Started,STABLE
ONLINE ONLINE node4 Started,STABLE
ora.net1.network
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node4 STABLE
ora.ons
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node4 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE node4 STABLE
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE node1 STABLE
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE node2 STABLE
ora.MGMTLSNR
1 ONLINE ONLINE node1 169.254.244.153 192.
168.100.101,STABLE
ora.cvu
1 ONLINE ONLINE node1 STABLE
ora.mgmtdb
1 ONLINE ONLINE node1 Open,STABLE
ora.node1.vip
1 ONLINE ONLINE node1 STABLE
ora.node2.vip
1 ONLINE ONLINE node2 STABLE
ora.node3.vip
1 ONLINE ONLINE node3 STABLE
ora.node4.vip
1 ONLINE ONLINE node4 STABLE
ora.node5.vip
1 ONLINE INTERMEDIATE node3 FAILED OVER,STABLE
ora.oc4j
1 ONLINE ONLINE node1 STABLE
ora.orcl.db
1 ONLINE ONLINE node2 Open,STABLE
2 ONLINE ONLINE node3 Open,STABLE
3 ONLINE ONLINE node4 Open,STABLE
4 ONLINE OFFLINE Instance Shutdown,ST
ABLE
5 ONLINE ONLINE node1 Open,STABLE
ora.orcl.fuga.svc
1 ONLINE ONLINE node4 STABLE
2 ONLINE ONLINE node2 STABLE
ora.orcl.piyo.svc
1 ONLINE ONLINE node1 STABLE
ora.scan1.vip
1 ONLINE ONLINE node4 STABLE
ora.scan2.vip
1 ONLINE ONLINE node1 STABLE
ora.scan3.vip
1 ONLINE ONLINE node2 STABLE
--------------------------------------------------------------------------------
★node5が消え、piyoサービスもノード1にフェイルオーバーされた
サーバー・プール状態
[oracle@node1 ~]$ srvctl status srvpool -detail
サーバー・プール名: Free
アクティブ・サーバー数: 0
アクティブ・サーバー名:
サーバー・プール名: Generic
アクティブ・サーバー数: 0
アクティブ・サーバー名:
サーバー・プール名: srvpool1
アクティブ・サーバー数: 2
アクティブ・サーバー名: node1,node3
NAME=node1 STATE=ONLINE
NAME=node3 STATE=ONLINE
サーバー・プール名: srvpool2
アクティブ・サーバー数: 2
アクティブ・サーバー名: node2,node4
NAME=node2 STATE=ONLINE
NAME=node4 STATE=ONLINE
★Freeプールからノード3がsrvpool1プールへ補填された
インスタンス状態
[oracle@node1 ~]$ srvctl status database -db orcl
インスタンスorcl_1はノードnode2で実行中です。
インスタンスorcl_2はノードnode3で実行中です。
インスタンスorcl_3はノードnode4で実行中です。
インスタンスorcl_5はノードnode1で実行中です。
★ノード5で起動していたインスタンス(orcl_4)が消えたが、新しくノード1でインスタンス(orcl_5)が起動している
サービス状態
[oracle@node1 ~]$ srvctl status service -db orcl
サービスfugaはノードで実行中です: node2,node4
サービスpiyoはノードで実行中です: node1
★piyoサービスもnode1で稼働している
2. piyoサービスでDBアクセス
[oracle@node1 ~]$ sqlplus system@PIYO
SQL> select instance_name,status from v$instance;
INSTANCE_NAME
------------------------------------------------
STATUS
------------------------------------
orcl_5
OPEN
★問題なくDBアクセスできた
3. ノード5のCRS起動
[root@node5 ~]# /u01/app/12.1.0/grid/bin/crsctl start crs -wait
クラスタリソース状態
[oracle@node1 ~]$ /u01/app/12.1.0/grid/bin/crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node4 STABLE
ONLINE ONLINE node5 STABLE
ora.FRA.dg
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node4 STABLE
ONLINE ONLINE node5 STABLE
ora.LISTENER.lsnr
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node4 STABLE
ONLINE ONLINE node5 STABLE
ora.asm
ONLINE ONLINE node1 Started,STABLE
ONLINE ONLINE node2 Started,STABLE
ONLINE ONLINE node3 Started,STABLE
ONLINE ONLINE node4 Started,STABLE
ONLINE ONLINE node5 Started,STABLE
ora.net1.network
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node4 STABLE
ONLINE ONLINE node5 STABLE
ora.ons
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node4 STABLE
ONLINE ONLINE node5 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE node4 STABLE
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE node1 STABLE
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE node2 STABLE
ora.MGMTLSNR
1 ONLINE ONLINE node1 169.254.244.153 192.
168.100.101,STABLE
ora.cvu
1 ONLINE ONLINE node1 STABLE
ora.mgmtdb
1 ONLINE ONLINE node1 Open,STABLE
ora.node1.vip
1 ONLINE ONLINE node1 STABLE
ora.node2.vip
1 ONLINE ONLINE node2 STABLE
ora.node3.vip
1 ONLINE ONLINE node3 STABLE
ora.node4.vip
1 ONLINE ONLINE node4 STABLE
ora.node5.vip
1 ONLINE ONLINE node5 STABLE
ora.oc4j
1 ONLINE ONLINE node1 STABLE
ora.orcl.db
1 ONLINE ONLINE node2 Open,STABLE
2 ONLINE ONLINE node3 Open,STABLE
3 ONLINE ONLINE node4 Open,STABLE
4 ONLINE OFFLINE Instance Shutdown,ST
ABLE
5 ONLINE ONLINE node1 Open,STABLE
ora.orcl.fuga.svc
1 ONLINE ONLINE node4 STABLE
2 ONLINE ONLINE node2 STABLE
ora.orcl.piyo.svc
1 ONLINE ONLINE node1 STABLE
ora.scan1.vip
1 ONLINE ONLINE node4 STABLE
ora.scan2.vip
1 ONLINE ONLINE node1 STABLE
ora.scan3.vip
1 ONLINE ONLINE node2 STABLE
--------------------------------------------------------------------------------
★node5が復活している
サーバー・プール状態
[oracle@node1 ~]$ srvctl status srvpool -detail
サーバー・プール名: Free
アクティブ・サーバー数: 1
アクティブ・サーバー名: node5
NAME=node5 STATE=ONLINE
サーバー・プール名: Generic
アクティブ・サーバー数: 0
アクティブ・サーバー名:
サーバー・プール名: srvpool1
アクティブ・サーバー数: 2
アクティブ・サーバー名: node1,node3
NAME=node1 STATE=ONLINE
NAME=node3 STATE=ONLINE
サーバー・プール名: srvpool2
アクティブ・サーバー数: 2
アクティブ・サーバー名: node2,node4
NAME=node2 STATE=ONLINE
NAME=node4 STATE=ONLINE
★Freeプールにノード5が補填された
インスタンス状態
[oracle@node1 ~]$ srvctl status database -db orcl
インスタンスorcl_1はノードnode2で実行中です。
インスタンスorcl_2はノードnode3で実行中です。
インスタンスorcl_3はノードnode4で実行中です。
インスタンスorcl_5はノードnode1で実行中です。
サービス状態
[oracle@node1 ~]$ srvctl status service -db orcl
サービスfugaはノードで実行中です: node2,node4
サービスpiyoはノードで実行中です: node1
DBアクセス
[oracle@node1 ~]$ sqlplus system@PIYO
SQL> select instance_name,status from v$instance;
INSTANCE_NAME
------------------------------------------------
STATUS
------------------------------------
orcl_5
OPEN
★問題なくDBアクセスできた