【Oracle】Racのインスタンスと連動したリソースをOracle Clusterwareに登録する

【Oracle】Racのインスタンスと連動したリソースをOracle Clusterwareに登録する

公開日: 

前回の【Oracle】EnterpriseManagerを自動起動するようClusterwareに組み込むでリソースを登録すると、

どのノードでインスタンスが起動してようが、してなかろうが問答無用にリソースが起動する。

しかし、今回はインスタンスが立ち上がっているノードでのみリソースを起動して欲しかった。

Racをポリシーベースで使っていると、どこのノードでどのインスタンスが上がってくるかわからない。

その状態で、インスタンスが立ち上がったらそのノードにあわせてリソースを起動するようにしたメモ。

 

sponcer link

 

 

 

リソース仕様

・インスタンスが起動しているノードでのみ起動される

・インスタンスが起動しているのが前提で起動される

・30秒間隔でチェック

・実行ユーザはoracleユーザ

 

環境

・Oracle RAC 11g R2
・RACの管理方法はポリシーベース管理
・3ノード中、2ノードがアクティブで1ノードはスタンバイてきな感じで使われる環境です
・インスタンス名はapp
・サーバプール名はhogePool

 

 

登録方法

仕様でoracleユーザで実行する必要があるので以下をoracleユーザで実行する。

今回はクラスタリソースとして登録するので-type cluster_resourceを指定している。

同じくクラスタリソースであるappインスタンスの状態をみて、リソースを操作する必要があるのでcluster_resourceなんです。

 

ACTION_SCRIPTには実行するスクリプトを指定。

 

CHECK_INTERVALはリソースのチェック間隔。スクリプトのcheckが呼ばれます。

 

SCRIPT_TIMEOUTはタイムアウトの指定。

 

RESTART_ATEMPTSは今回、2回リソースの再起動を試みます。

 

CARDINALITYを2に指定することで、2ノードでしか動かさないように限定している。

 

START_DEPENDENCIESはappインスタンスが立ち上がるのと連動してリソースを起動させるように設定している

 

STOP_DEPENDENCIESはappインスタンスが落ちるのに連動してリソースも停止させるようにしてます。

 

ACLはリソースの所有者や実行権限などを設定してます。

 

PLACEMENT=restrictedを指定することで起動する状態をポリシーベースのポリシーに依存させることが出来る。

なお、restrictedを指定した場合はSERVER_POOLSでサーバプールの指定が必要なためora.hogePoolを指定している。

 

AUTO_START=restoreを指定することでサーバーが停止したときと同じ状態にリソースをリストアします。

 

 

以上でリソースを登録した後は、以下でリソースを起動させてあげる。

 

いい感じに起動出来てるのを確認する。

 

これでインスタンスに合わせてリソースも起動してくれることでしょう。

  • このエントリーをはてなブックマークに追加
  • Pocket
PAGE TOP ↑