Question
ACMQクリーンアップ・ユーティリティ(BC1PACMO)の目的と機能について
Release:ALL
Answer
BC1JACMOは、BC1PACMOユーティリティを起動するACMQメンテナンス・ジョブで、ROOTとXREFデータセットを再構成することを目的として います。
この技術情報では、このユーティリティとACMQデータセットのバックグラウンド情報を説明します。
BC1PACMOの主要な機能は、ACMQファイルの中身を再構成することです。
CA Endevorアクションが実行され、新しいコンポーネント・リストが作成されて古いものが使われなくなると、CA EndevorはROOTとXREFデータセットにレコードを追加し、あるXREFレコードを未使用とします。新しいレコードはソートされず、ファイルの最後に追加されます。
ACMQを検索する場合、ソートされた領域の検索はほんの2、3の命令で正しいレコードを見つけることができるのに対し、ソートされていない領域の検索はかなり非効率です。そのため、定期的にソートしなおすことが望ましいです。また、ORPHDELには二次的な機能もあります。(PARM=VALIDATEなしで実行する場合)
例)以下について考えてみましょう。
PROGRAM COBOL1はENV1/STG1にあります。また、ENV1/STG1にあるCOPY2も使用しています。
ACMQは、COBOL1とCOPY2の両方にROOTレコードを持ちます。(ENV1/STG1を参照しています)
GENERATEプロセッサを使って両方のエレメントをENV1/STG2にMOVEします。
ACMQはCOBOL1とCOPY2の新しいリファレンス(今はENV1/STG2にある)をROOTファイルに追加し、ENV1/STG1のCOBOL1/COPY2間のリファ レンス(XREF)を無効化します。
BC1PACMOを次に実行したときに、ENV1/STG1にあるCOBOL1とCOPY2のレコードがもはや使用されていないことが認識され、ROOTファイルから削除されます。またXREFファイル内のそれらの無効化されたリファレンスも削除されます。どのような状況でも、BC1PACMOはMCFやエレメント・カタログには影響しません。単にROOTとXREFの内容を確認して使用されていないものをすべて削除し、ファイルの中身を正しい順番にソートします。
では、PARM=VALIDATEはこれに何を追加するのでしょうか?
このパラメータと一緒にBC1PACMOを実行すると、CA Endevorは、CA Endevorにまだ存在している各リレーション(上記例でいうとCOBOL1/ENV1/STG2)の各PARENTを有効にします。
これまでACMQファイルに、もはや存在しないインベントリ・エリアのエレメントへのリファレンスが含まれていたケースがありました。これは、ACMQ更新の前にDELETEプロセッサがキャンセルされたか、あるいは例えばMCF全体がC1DEFLTSテーブルから切断されていた場合に発生します。
このような状況になったお客様のために、VALIDATEオプションが追加されています。これにより、ACMQ自身が含んでいるデータがCA Endevorでまだ参照されているかを確認することができます。参照されていないものはすべてACMQから削除されます。
そのため、通常(日次)はPARM=VALIDATEなしでBC1PACMOを実行します。
PARM=VALIDATEをつけて実行するよりもスピードが早いですし、ACMQデータがコンポーネント・リストと同期されていないのではないかと常に疑う必要はありません。
しかし、疑わしい場合や本当にACMQデータの同期がとれているかを時々確認したい場合は、このオプションをつけて実行します。
もし、PARM=VALIDATEをつけて実行し、定期的にREMOVED REFERENCESという結果がでるのであれば、気をつける必要があります。プロセスがACMQ/CA Endevorの非同期の原因となっているのかどうかを解明するために、なぜそれらのACMQリファレンスが通常プロセス中にクリーンアップされなかったのか調べる必要があります。
ACMQにはコンポーネント・リストからのデータのサブセットであるデータが含まれています。BC1PACMOはデータのこのコピーのみを再構成し、MCF、ELMCATLやコンポーネント・リスト自体は決して更新しません。
QUESTIONS;
Q: プロセッサ実行中かつコンポーネント・リスト更新中にBC1PACMOを実行することはできますか。
A: はい、ACMQ更新(プロセッサ)とACMQ再構成(BC1PACMO)は同時に実行できます。どちらのプロセスもファイルの完全性を保証するためにENQを使用します。
Q: CA Endevorが自動的にファイルを再構成するようにしたほうがよいですか、それとも定期的に手動でACMQ更新を行ったほうがよいですか。
A: 5000レコードが追加された後、自動再構成は必要に応じてファイルを再構成する利点があります。デメリットとしては、ファイルが頻繁に使用されているときに自動再構成が実行される場合があり、遅れの原因となってしまうことがあります。
そのため、自動再構成を有効化し、通常は1日に1回から3回、ピーク時以外に定期的に手動でBC1PACMOジョブを実行することを推奨します。ファイルが正しく構成されていないと性能に影響しますのでご注意ください。
例)BC1PACMOユーティリティが作成するレポート
LAST REORGANIZATION DATE: 8 AUG 2008
ROOT DSN: public.endevor.ACMROOT
STATISTICS: BEFORE AFTER
BLOCKS 113 112
TOTAL RECORDS 3577 (97%) 3525
TYPE 1 2256 2213
TYPE 2 1321 1312
TYPE 3 0 0
TYPE 4 0 0
TYPE 5 0 0
TYPE 6 0 0
DELETED 0 0
ORPHANS 52 0
MODE OPT OPT
XREF DSN: public.endevor.ACMXREF
STATISTICS: BEFORE AFTER
BLOCKS 69 63
TOTAL RECORDS 43380 (92%) 42602
EXPLANATION;
BLOCKS :VSAM LDSファイル内の物理4Kレコード数(ROOT/XREF)
TOTAL RECORDS :VSAM LDSファイル内の論理レコード数(ROOT/XREF)
カッコ内は、分類されたファイル・セクションのパーセンテージを表しています。
TYPE 1 :ACM関連のFOOTPRINTされたコンポーネント
TYPE 2 :ACM関連のFOOTPRINTされていないコンポーネント
TYPE 3 :ユーザ関連のFOOTPRINTされたコンポーネント
TYPE 4 :ユーザ関連のFOOTPRINTされていないコンポーネント
TYPE 5 :ユーザ関連のOBJECTS
TYPE 6 :ユーザ関連のCOMMENTS
DELETED :ROOTファイルのうち、論理的に削除されたレコード数
(CA Endevorから削除された、あるいは他のインベントリに移動されたコンポーネント)
ORPHANS :コンポーネントのリレーションから孤立しているレコード数
このレポートでは、以前に再構成を行った日は2008年8月8日となっています。
97%はROOT内にある総レコード数と比較した既存のエレメントと関連するコンポーネントを表すレコードの割合です。
この場合、違いは52の孤立したレコードによるものです。
XREFの92%は、全体と比較した既存のコンポーネント関係レコードの割合です。
再構成後に残るレコードは、検索性能を最適化するため、再度ソート順に並べられます。
Old Japanese Knowledge Document ID : JTEC001043