こんにちは、SCSKの前田です。
私が携わった LifeKeeper の案件で導入を行った ARK について紹介をかねてお話したいと思います。
今回は、Oracle 編と言うことで、Oracle 社が開発・販売されているリレーショナルデータベース管理システムを簡単に冗長化するための ARK の導入事例について、Linux 版をベースにご紹介していきます。
おさらい
LifeKeeper の ARK について、おさらいしたいと思います。
ARK とは、Application Recovery Kits の略で、LifeKeeper が特定のアプリケーション(オープンソースソフトウェアや商用アプリケーション)を容易にリソースとして組み込むことが可能になる製品です。
ARK による、アプリケーションのリソースへの組み込みはウィザード形式(GUI上で設定)で作業が可能となり、ARK には、アプリケーションを操作(起動・停止・監視・再起動)するための4つのスクリプトがあらかじめ準備されているため、スクリプトを設計・作成するための開発工数の削減や人的なミスを防止することが出来ます。
概要説明
Oracle ARK では、Oracle Listener と Oracle Database を、LifeKeeper の保護対象リソースとして登録し、保護する機能を提供します。
Oracle ARK は、汎用アプリケーション(Generic Application)リソースの導入とは違い、起動・停止・監視・再起動を行うためのスクリプトを明示的に指定することはなく、リソースの作成に必要な項目に対するパラメータをウィザード形式で入力または、選択することでリソースを作成することが出来ます。
Oracle ARK として Oracle Listener と Oracle Database の処理内容は以下の通りとなります。
Oracle Listener の処理
処理名 | 処理内容 |
---|---|
起動処理 | lsnrctl start コマンドによるリスナーの起動を実施 |
停止処理 | lsnrctl stop コマンドによるリスナーの停止を実施 |
監視処理 | lsnrctl status コマンドによるリスナーの状態を確認 |
再起動処理 | lsnrctl start コマンドによるリスナーの起動を実施 |
Oracle Database の処理
処理名 | 処理内容 |
---|---|
起動処理 | startup コマンドによる Oracle の起動を実施 |
停止処理 | shutdown コマンドによる Oracle の停止を実施 |
監視処理 | ① ps コマンドによる Oracle の動作確認を実施 ② DB へ接続しコネクションの状態確認を実施 ③ 一時ファイルへ ORA エラーが出力されていないか確認を実施 |
再起動処理 | ① shutdown abort による Oracle の強制終了を実施 ② startup コマンドによる Oracle の起動を実施し、失敗した場合、startup force コマンドで Oracle の起動を実施 |
Oracle ARK の構築例
それでは、実際に Oracle ARK の構築についてお話していきたいと思います。
Oracle ARK のパラメータ項目
Oracle ARK でリソースを作成する際は、事前に構成を決めておくことで、スムーズな作業が可能になります。
そこで Oracle Listener と Oracle Database のリソース固有のパラメータを一覧表にまとめてみましたので参考にしてみてください。
<Oracle Listener>
項目 | 設定値 | 内容 |
---|---|---|
Listener Configuration File Path | 「listener.ora」フルパス | Oracle Listener の設定ファイルのフルパスを入力 |
Listener Name | 【Listener名】 | Oracle Listener 名を入力 |
Listener Executable | 【プログラム実行パス】 | Oracle Listener のプログラムの実行パスを入力 |
Listener Protection Level | Full 又は Intermediate 又は Minimal |
Oracle Listener の保護レベルを選択 (Full, Intermediate, Minimal の3つから選択可能) ・Full:リスナーの起動、停止、監視、回復処理を実施(デフォルト) ・Intermediate:リスナーの起動、監視、回復処理を実施 ・Minimal:リスナーの起動、監視処理を実施 |
Listener Recovery Level | Standard 又は Optional |
Listener のリカバリレベルを選択 (Standard,Optional の2つから選択可能) ・Standard:リスナーリソースの障害検出による、ローカルリカバリ と フェイルオーバーを有効にする ・Optional:リスナーリソースの障害検出による、ローカルリカバリを有効にし、フェイルオーバーを無効にする |
IP Adderss Name | 【IPリソース名】 | リソース階層の依存関係として保護される IP アドレスのリソース名を選択 |
<Oracle Database>
項目 | 設定値 | 内容 |
---|---|---|
ORACLE_SID for Database | 【Oracle-SID名】 | ORACLE_SID を選択 |
Username | 【Oracleユーザー名】 | sysdba 権限のある、Oracle-SID にログインするユーザー名を入力 |
Password | 【Oracleユーザーパスワード】 | Oracle-SID にログインするユーザーのパスワードを入力 |
Select the Oracle Listener | 【OracleListenerリソース名】 | Oracleリスナーリソース名を選択 |
Oracle Database 関連リソースの作成
Linux 版の Oracle ARK では「Oracle Listener」と「Oracle Database」のリソースを作成することが可能です。
この2つのリソースを LifeKeeper の GUI によって作成する流れを例として紹介します。
注意
Oracle で使用する共有ディスクリソースと、 IP リソース、及び、別のリソース等、それぞれの依存関係がある状態で Oracle リソースを作成した場合、Oracle リソース作成時の自動による依存関係の作成が失敗する可能性があるため、必要に応じて依存関係を削除する必要があります。
以降の例では、共有ディスクリソースと IP リソースの依存関係がない状態で Oracle リソースの作成を実施しています。
<Oracle Listenerリソース作成>
<Oracle Databaseリソース作成>
これで、LifeKeeper による Oracle Database 製品 のリソースが完成です。
あとは、必要に応じてリソース階層の依存関係を変更します。
まとめ
今回は LifeKeeper ARK の導入事例と言うことで、Linux 版の Oracle Database 製品のリソース作成について紹介してみました。
Oracle ARK は、汎用アプリケーション(Generic Application)リソースとは違い、起動・停止・監視・再起動を行うためのスクリプトを準備する必要がなく、リソースを作成することで意識することなく自動でスクリプトが導入されます。
LifeKeeper の機能として、リソース作成後、必要に応じて再起動処理やフェイルオーバー処理を無効化にすることも出来ます。システムの要件に合わせカスタマイズが可能になっています。
Oracle ARK を導入するための手順を纏めます。
・LifeKeeper GUI を用いて、Oracle Listener と Oracle Database のリソースを作成する
JP1/AJS3 ARK の導入事例に関しては以下のリンクからどうぞ!