20.1.5 手動によるコネクションプールの停止・開始の流れ
ここでは,クラスタコネクションプールの流れについて説明します。データベースに発生した障害に対応する場合や,データベースをメンテナンスする場合,一部のコネクションプールを手動で停止,再開始することで,システム全体を止めることなくデータベースをメンテナンスできます。一部のコネクションプールを手動で停止,再開始して,データベースをメンテナンスする作業は次の流れで行います。
-
コネクションプールの状態を確認する((1)参照)
サーバ管理コマンドを使用して実行します。
-
コネクションプールを一時停止する((2)参照)
サーバ管理コマンドを使用して実行します。
-
コネクションプールを再開する((3)参照)
サーバ管理コマンドを使用して実行します。
-
コネクションプールの状態を確認する((1)参照)
サーバ管理コマンドを使用して実行します。
(1) コネクションプールの状態の確認
クラスタ構成のデータベースをメンテナンスする前,およびメンテナンスしたあとに,コネクションプールの状態を確認します。
コネクションプールの状態の詳細については「20.1.4(3) コネクションプールの状態」を参照してください。
コネクションプールの状態の確認は,cjlistrarコマンドで実行できます。
cjlistrarコマンドの実行形式と実行例を次に示します。
- 実行形式
cjlistrar <サーバ名> -clusterpool
- 実行例
-
cjlistrar MyServer -clusterpool
(2) コネクションプールの一時停止
ここでは,コネクションプールを一時停止する手順について説明します。
コネクションプールの一時停止は,cjsuspendpoolコマンドで実行できます。cjsuspendpoolコマンドを実行すると,コネクションプールが閉塞されて一時停止状態になり,コネクション取得要求を受け付けなくなります。
cjsuspendpoolコマンドは,コネクションプールが次の状態の場合に実行できます。
-
開始
-
開始予約
-
自動一時停止
-
自動一時停止予約
コネクションプールの状態を確認する方法については,「20.1.5(1) コネクションプールの状態の確認」を参照してください。
cjsuspendpoolコマンドの実行形式と実行例を次に示します。
- 実行形式
cjsuspendpool <サーバ名> -resname <一時停止対象となるメンバリソースアダプタの表示名>
- 実行例
-
cjsuspendpool MyServer -resname DB_Connector_for_Oracle_ClusterPool_Member
(3) コネクションプールの再開
ここでは,コネクションプールを再開する手順について説明します。
コネクションプールの再開は,cjresumepoolコマンドで実行できます。cjresumepoolコマンドを実行すると,コネクションプールは手動再開中状態になり,再開処理が実行されます。再開処理が完了すると,コネクションプールは開始状態になり,コネクション取得要求を受け付けるようになります。
cjresumepoolコマンドは,コネクションプールが次の場合に実行できます。
-
使用されていないコネクション管理スレッドが,コネクションプールのコネクションの最大値以上ある
-
コネクションプールが,手動一時停止,手動一時停止予約,自動一時停止,または自動一時停止予約の状態である
コネクションプールの状態を確認する方法については,「20.1.5(1) コネクションプールの状態の確認」を参照してください。
cjresumepoolコマンドの実行形式と実行例を次に示します。
- 実行形式
cjresumepool <サーバ名> -resname <再開対象となるメンバリソースアダプタの表示名>
- 実行例
cjresumepool MyServer -resname DB_Connector_for_Oracle_ClusterPool_Member
なお,cjresumepoolコマンドを実行したあと,コネクションプールの状態を確認して,再開処理が正しく実行されたかどうかを確認してください。コネクションプールの状態を確認する方法については,「20.1.5(1) コネクションプールの状態の確認」を参照してください。