最近、構築した環境で、/var/log/messagesに以下のメッセージが定期的に出力されていると指摘を受けました。
journal <user:info> orachk @cee:XXXXXXXXXXXXXXX
環境は以下の通りです。
まず ORAchkとは何ぞやですが、ドキュメントには以下の通り、書いてあります。
ORAchkは、既存のOracle データベース・インストールに対して、一連のチェックをプロアクティブに提供して実行するデータ収集ツールです。
ORAchk - Oracleスタックのヘルスチェック入門 (ドキュメントID 2210974.1)
これだけ読んでも判りづらいので、実際に動かしてみます。
ORAchk単独でもダウンロードできるのですが、Autonomous Health Framework(AHF)に統合されているので、AHFのインストーラをダウンロードしてインストールする事で、Trace File Analyzer(TFA)、ORachk および EXAchkがまとめ導入できます。
EXAchkはORachk のExadataバージョンで、TFAが何かと言えば、ドキュメントの説明は以下の通りです。
トレース・ファイル・アナライザ(TFA)コレクタは、すべてのOracle データベース関連の問題に関する簡潔なログおよびトレース情報を収集するデータ収集ツールです。
トレース・ファイル・アナライザ(TFA)コレクタ入門 (ドキュメントID 2210976.1)
DBやGIのアラートログ、トレースファイルの収集に使えたり、OSの負荷状況を細かく記録してくれるツールで、RAC環境ではデフォルトでインストールされます。
インストール方法は簡単で、zipファイルをダウンロードしたら、rootユーザでunzipし、以下の通り実行するだけです。
./ahf_setup
Do you want to install AHF at [/opt/oracle.ahf] ? [Y]|N : Y
Please Enter AHF Data Directory : /opt/oracle.ahf
Do you want to add AHF Notification Email IDs ? [Y]|N : N
インストール先がデフォルト(/opt/oracle.ahf)のままで良ければ「Y」でエンター、Eメールの設定が不要なら「N」でエンター。
これだけです。
早速、ORachkを実行してみます。
GIホームは自動検出されるので、間違っていなければそのままエンターで進めます。
構築されているDBも自動検出されるので、それで良ければそのままエンターです。
# tfactl run orachk
TFA using Orachk : /opt/oracle.ahf/orachk/orachk
Clusterware stack is running from /u01/app/19.0.0/grid_1. Is this the correct Clusterware Home?[y/n][y]
List of running databases
1. orcl
2. None of above
Select databases from list for checking best practices. For multiple databases, select 1 for All or comma separated number like 1,2 etc [1-2][1].
. . . . . .
途中、長いので割愛しますが、以下の様にDB、ASM、CRS、OSのカーネルパラメータに至るまで、Oracleデータベースに関わる様々な情報を収集しています。
Collecting - ASM Disk Groups
Collecting - ASM Disk I/O stats
Collecting - Active sessions load balance for orcl database
Collecting - Archived Destination Status for orcl database
Collecting - Kernel parameters
Collecting - Linux module config.
Collecting - CRS Opatch version
Collecting - CRS user time zone check
で、診断結果が表示されます。こちらも長いので一部のみの抜粋です。
INFO => Most recent ADR incidents for /u01/app/oracle/product/19.0.0/dbhome_1
CRITICAL => RemoveIPC setting should be configured to "No" in /etc/systemd/logind.conf
FAIL => ASM_DISKSTRING parameter is either null or set to /dev/*
WARNING => ARCHIVELOG mode is disabled for orcl
結果はhtmlファイルにも出力されるので、ブラウザでも表示可能で、100点満点でスコア表示されます。
要するに、Oracle社のベストプラクティスに添っていればOK,そうでない場合は内容に応じてWARNINGが出たり、CRITICALやFAILになったりします。
基本的に構築時の設定をチェックする内容なので、構築時または詳細設計時にチェックツールとして使用できますね。
言い換えれば、構築後に常時動いている必要は無さそうなのですが、デフォルトでは常時動いているようです。
で、いつ動くのかマニュアルの記載を見ると以下の通りです。
自動起動が実行されると、ORachk/EXAchk は次のコンプライアンスチェックを実行します。
・1日1回、午前2時に最も深刻な問題
・毎週1回、日曜日の午前3時にすべての確認されている問題
・インストール中に障害のチェックおよび前回の実行以降の差分の送付用に提供された通知アドレスに電子メールを送信します
実際に、いつ動くのかコマンドで確認してみました。
# tfactl run orachk -autostatus
------------------------------------------------------------
ID: orachk.autostart_client_oratier1
------------------------------------------------------------
AUTORUN_FLAGS = -usediscovery -profile oratier1 -syslog -dball -showpass -tag autostart_client_oratier1
COLLECTION_RETENTION = 7
AUTORUN_SCHEDULE = 3 2 * * 1,2,3,4,5,6
------------------------------------------------------------
------------------------------------------------------------
ID: orachk.autostart_client
------------------------------------------------------------
AUTORUN_FLAGS = -usediscovery -syslog -tag autostart_client
COLLECTION_RETENTION = 14
AUTORUN_SCHEDULE = 3 3 * * 0
------------------------------------------------------------
月~土曜の2:03と、日曜の3:03に動くようですね。
messagesには3:06から出力されていました。
常時起動させる必要が無いので停止します。
# tfactl run orachk -autostop
TFA using Orachk : /opt/oracle.ahf/orachk/orachk
Removing orachk cache discovery....
No orachk cache discovery found.
Successfully copied Daemon Store to Remote Nodes
Removed orachk from inittab
これ以降、messagesへのorachkメッセージ出力は止まりました。