Tech Tip: What the db2fmp process does
gorddbds 060001JCXS Visits (28685)
You may have noticed that along with the expected db2sysc and other processes there is a process called db2fmp that is not running under the same ID as the other DB2 processes.
The db2fmp process primarily runs external stored procedures and functions, collectively referred to as routines. DB2 LUW has two primary types of routines referred to as SQL and external. SQL routines are created within DB2 and consist of compiled SQL/PL. External routines, are applications created in a common programming language such as C or Java.
When an external routine is executing it is occupying either a thread in a db2fmp or the entire process. The db2fmp is isolated from DB2's database and other processing, so that these applications will not effect DB2 processing as they run.
If a db2fmp process or thread fails an error is logged, the remaining process or threads are cleaned up when processing completes. A new process or thread is created the next time it is needed. The db2fmp runs under a different user ID than the rest of DB2 called the fenced user ID, so the db2fmp operations are not associated with DB2 at the OS level. For these reasons a db2fmp failure rarely leads to a database issue and database processing continues as usual even after a db2fmp fails.