問題のレポート

MFESdiags スクリプトを使用して、PAC のすべてのリージョンから診断ファイルを収集します。これにより、リージョンのエクスポートなど、多くの追加情報が提供されます。

注: CTF または Aux トレースを収集する必要がある場合は、PAC の各リージョンでこれを設定および収集する必要があります。CTF または Aux トレースを収集したら、これを停止してパフォーマンスの低下を回避する必要があります。

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

結果のトレースには、問題に関する情報が含まれます。

注: トレースを解釈するには、$COBDIR/etc/mftrace/MF.MFDBFH.xml にある注釈ファイルを使用する必要がある場合があります。

ファイルのロード、ルーチンまたは呼び出しに問題があって失敗する場合は、RTS CTF を CTF トレースと組み合わせて有効にすることができます。これにより、ルーチンの動作が明らかになります。つまり、アプリケーションが CBL_ ルーチンで失敗した場合、CTF トレースと RTS CTF を有効にして、CBL_ ルーチンが失敗した理由とデータベースにアクセスしているかどうかに関する追加情報を提供できます。

リージョンの開始後に問題が発生している場合は、上記に加えて、MFDBFH CTF、ES ダンプ/補助トレースを使用して、エラーを調査できます。それでも原因を特定できない場合は、mfesdiags をキャプチャして、それを SupportLine に提供してください。

MFDBFH CTF がすぐに問題を示さない場合や、データベース側に問題が発生してエラー コードがスローされる場合があります。この場合、ODBC トレースの形式でサード パーティのトレースを使用できます。

注: このタイプのトレースは、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 文を特定し、それらをデータベースで直接実行できます。