LYSITHE TOOLS 003について

会社運営

Oracle Database のアラートログを時間で串刺しする

LYSITHE TOOLS 003の構想を練っています。

実際に手を動かさずに

頭のなかで利用イメージやユースケースを考えたり

する作業です。

たくさんある工程の中で

ひょっとしたら一番楽しい時間かもしれません。

(実際に作り出すと想定外のエラーが出てくるんですよね)

動作確認するため、

最近インストールした環境(21c)で

アラートログをみてみました。

アラートログがこれ(★は筆者追記)

2021-09-11T04:54:30.247214+00:00 <★--
PDB$SEED(2):Opening pdb with no Resource Manager plan active <★--
Starting background process CJQ0
Completed: ALTER DATABASE OPEN

アラートログと同じ情報が格納されているlog.xmlがこれ(★は筆者追記)

<msg time='2021-09-11T04:54:30.247+00:00' org_id='oracle' comp_id='rdbms' <★--
 type='UNKNOWN' level='16' host_id='instance-20210816-oracledb2130'
 host_addr='10.0.0.166' module='sqlplus@instance-20210816-oracledb2130 (TNS V1-V3)' pid='6932'
 con_uid='3150230680' con_id='2' con_name='PDB$SEED'>
 <txt>Opening pdb with no Resource Manager plan active
 </txt>
</msg>
<msg time='2021-09-11T04:54:30.663+00:00' org_id='oracle' comp_id='rdbms' <★--
 msg_id='ksbs1p_int:6514:1349786505' type='NOTIFICATION' group='process start'
 level='16' host_id='instance-20210816-oracledb2130' host_addr='10.0.0.166'
 module='sqlplus@instance-20210816-oracledb2130 (TNS V1-V3)' pid='6932' con_uid='1'
 con_id='1' con_name='CDB$ROOT'>
 <txt>Starting background process CJQ0
 </txt>
</msg>
<msg time='2021-09-11T04:54:30.681+00:00' org_id='oracle' comp_id='rdbms' <★--
 msg_id='opiexe:4046:2802784106' type='NOTIFICATION' group='admin_ddl'
 level='16' host_id='instance-20210816-oracledb2130' host_addr='10.0.0.166'
 module='sqlplus@instance-20210816-oracledb2130 (TNS V1-V3)' pid='6932' con_uid='1'
 con_id='1' con_name='CDB$ROOT'>
 <txt>Completed: ALTER DATABASE OPEN
 </txt>
</msg>

log.xmlを別のディレクトリにもっていって、adrciで確認したアラートがこれ(★は筆者追記)

2021-09-11 04:54:29.866000 +00:00 <★--時刻が少しずれている
SUPLOG: Set PDB SUPLOG SGA at PDB OPEN, old 0x0, new 0x0 (no suplog) <★--メッセージが若干違う
Opening pdb with no Resource Manager plan active
Starting background process CJQ0
Completed: ALTER DATABASE OPEN
CJQ0 started with pid=53, OS id=7091

微妙に内容が変わっているのがわかります。

ポイントは以下かなと思います。

・アラートログの時刻は、0.5秒間くらいのウィンドウでまとめて情報を出すもよう
・PDB$SEED等のcon_id!=1の情報は、出力テキストが少し変わる模様(con_name + txtタグの情報?)
・アラートログとxmlから出したアラート情報は、タイムスタンプが一致する保証なし

いやらしいですね。

log.xmlをXMLパースして情報を取り出し、

オブジェクト生成する案もあったのですが、

もともと存在するアラートログと時刻と内容が異なるのは

回避したいので却下します。

(ログって、時刻と内容が信用ならないなら、それ以外なに信用すんの?改行?って感じ)

別案ですね。

関連記事

過去アーカイブ