IBM Support

Minimize performance impact of DB2's db2fodc data collection

Troubleshooting


Problem

Minimize performance impact of DB2's db2fodc data collection.

Symptom

DB2 will automatically create diagnostic data under certain circumstances: instance crashes, SQL0901s, corruption and application dumps, for example.

However, this can be quite costly if there are 1000s of threads accessing DB2 or it is a very large database with many members, for example.

This might manifest itself in brief freezes or brief performance impacts whilst DB2 is collecting the necessary data.

This data is often vital for IBM technical support to diagnose the problem. However, once the data has been collected and provided to IBM you might want to reduce the impact of the db2fodc automatic data collection until such time as the underlying issue is fixed?

Diagnosing The Problem

Brief freezes or hangs that coincide with these messages in the db2diag.log file:


2016-03-04-15.35.14.220836+120 E1025696A812 LEVEL: Error
PID : 24707160 TID : 80799 PROC : db2sysc 0
INSTANCE: db2inst1 NODE : 000 DB : SAMPLE
APPHDL : 0-38293 APPID: 127.0.0.0.50452.16053004562
AUTHID : TESTAUTH HOSTNAME: db2test
EDUID : 80799 EDUNAME: db2agent (SAMPLE) 0
FUNCTION: DB2 UDB, relation data serv, sqlrr_dump_ffdc, probe:30
MESSAGE : ADM14005E The following error occurred: "AppErr". First
Occurrence
Data Capture (FODC) has been invoked in the following mode:
"Automatic". Diagnostic information has been recorded in the
directory named

"/home/db2inst1/sqllib/db2dump/FODC_AppErr_2016-03-04-15.35.14.219874_24707160_80799_000/".

The above message indicates that DB2 has automatically collected diagnostic data for a particular application issue. This data will need to be sent to IBM for analysis but once it has been analysed and a resolution is pending the db2fodc process can be tuned to collect BASIC information.

Resolving The Problem

You can reduce the impact of the db2fodc data collection as follows:

Log in as the DB2 instance owner.

Run the following commands:

db2set DB2FODC=SERVICELEVEL=BASIC

Stop any applications

db2stop or db2stop force

db2start


Then verify if the setting is in place:

$ db2set -all



[i] DB2FODC=SERVICELEVEL=BASIC

The db2fodc data collection mechanism cannot be completely disabled but the BASIC option should reduce the impact until the issue is resolved.

[{"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"DB2 Tools - fodc","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"9.7;10.1;10.5;11.1","Edition":"Advanced Enterprise Server;Advanced Workgroup Server;Enterprise Server;Express;Express-C;Personal;Workgroup Server","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
16 June 2018

UID

swg21985837