MFESdiags スクリプトを使用して、PAC のすべてのリージョンから診断ファイルを収集します。これにより、リージョンのエクスポートなど、多くの追加情報が提供されます。
dbfhdeploy または dbfhadmin に問題があるか、ファイルの抽出またはディプロイに関する構成に問題があり、MFDBFH.cfg の定義を認識できない場合は、次の構成を使用して CTF を有効にできます。
# MFTRACE configuration file mftrace.dest = textfile, binfile mftrace.emitter.textfile#Location = . mftrace.emitter.textfile#Format = $(TIME) $(THREAD) $(COMPONENT) $(EVENT) $(LEVEL) :$(DATA) mftrace.emitter.binfile#Location = . mftrace.emitter.binfile#Format = $(TIME) $(THREAD) $(COMPONENT) $(EVENT) $(LEVEL) :$(DATA) ## Enable all tracing ## To enable tracing on specific switch, comment out #all line ## and uncomment the desired switch(es) below. mftrace.level.mf.mfdbfh = debug mftrace.comp.mf.mfdbfh#all=true mftrace.comp.mf.mfdbfh#api=true mftrace.comp.mf.mfdbfh#config=true mftrace.comp.mf.mfdbfh#database=true mftrace.comp.mf.mfdbfh#datastore=true mftrace.comp.mf.mfdbfh#fh=true mftrace.comp.mf.mfdbfh#region=true mftrace.comp.mf.mfdbfh#resource_locking=true
ファイルのロード、ルーチンまたは呼び出しに問題があって失敗する場合は、RTS CTF を CTF トレースと組み合わせて有効にすることができます。これにより、ルーチンの動作が明らかになります。つまり、アプリケーションが CBL_ ルーチンで失敗した場合、CTF トレースと RTS CTF を有効にして、CBL_ ルーチンが失敗した理由とデータベースにアクセスしているかどうかに関する追加情報を提供できます。
リージョンの開始後に問題が発生している場合は、上記に加えて、MFDBFH CTF、ES ダンプ/補助トレースを使用して、エラーを調査できます。それでも原因を特定できない場合は、mfesdiags をキャプチャして、それを SupportLine に提供してください。
MFDBFH CTF がすぐに問題を示さない場合や、データベース側に問題が発生してエラー コードがスローされる場合があります。この場合、ODBC トレースの形式でサード パーティのトレースを使用できます。
データベースへの直接接続を使用している場合は、データベース トレースを確認できます。
ODBC トレースの場合、メインのデータベース接続のために odbc.ini に次を追加できます。
Trace=1 TraceFile=/tmp/odbc.trace Debug=1 DebugFile=/tmp/odbc.debug
または、トレース対象を制限したい場合は、特定のデータストア接続定義に次を追加できます。
Debug=1 DebugFile=/tmp/odbc.debug
特定のデータストアへの ODBC 接続をトレースする場合は、次のエントリを使用できます。
[PG.ASHNEW] Driver = ODBC Driver 17 for SQL Server Server = localhost Database = MicroFocus$SEE$Files$ASHNEW Debug=1 DebugFile=/tmp/odbc.debug
これは、ODBC ドライバーが何をしているか、およびそれが失敗しているかどうかに関する情報を記録します。
問題がデータベース自体にある可能性もあるため、これは必ずしも問題を示すとは限りません。この場合、使用している RDBMS に固有のデータベース診断手法を調査する必要があります。これは、SQL サーバー独自のトレースなどの低レベルのデータベース トレース、データベースやテーブルが作成されているかどうかの調査などによるものです。
上記の手法を使用して、作成されている SQL 文のうち、特に問題の原因となっているものを見つけることができます。その後、それらをデータベース上で分離して実行できます。つまり、シナリオから Micro Focus の要素を排除できます。dbfhdeployが失敗した場合は、MFDBFH スクリプトを使用して SQL 文を特定し、それらをデータベースで直接実行できます。