DB2 - Problem description
Problem IT08659 | Status: Closed |
DB2 FENCED PROCESSES MAY BE UNSTABLE UNDER AIX DEFAULT 128MB USER DATA LIMIT | |
product: | |
DB2 FOR LUW / DB2FORLUW / A50 - DB2 | |
Problem description: | |
The AIX default user data (memory) limit is 128MB. While DB2 overrides this to unlimited for the main database server process, db2sysc, this does not affect fenced processes such as db2fmp, db2vend. If the 128MB user data limit is in effect for DB2 fenced processes, they may become unstable (out of memory errors, traps). This causes various errors in applications and DB2 functionality that depend on their successful execution. In many cases the libraries that execute within the fenced processes require more than 128MB, and so are vulnerable to this constraint. DB2 will address this by overriding a default 128MB user data limit to "unlimited". It will not override other customized settings which may be intentionally put in place by an administrator. Note that the inheritance of a user data limit may not be intuitive due to DB2's startup processing. - in DPF and pureScale environments, most user limits for fenced processes will be those of the DB2 instance ID. - in other environments, i.e. single partition DB2, most user limits for fenced processes will be those of the user ID which issued db2start. this can be any user in the DB2 SYSADM group | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * DB2 systems running on the AIX platform * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 Version 10.5 Fix Pack 7 or implement * * workaround * **************************************************************** | |
Local Fix: | |
ensure that the user data limit for any user in the DB2 SYSADM group is set to unlimited. Note that db2 must be recycled (db2stop/db2start) in a new shell session after any change in user data limits is made. Issue "ulimit -d" before starting the instance to check that the desired change is in effect. the user data limit for a process can be checked with the pstat command on AIX. For example : # pstat -a | grep db2fmp 114 a 72012 78006 78006 200 200 1 db2fmp The first column is the process' slot in the process table, the third column is the Process ID in hexadecimal. Given the process slot number, use the pstat command to list the process information . The ulimit details are listed in the Resource Limits section: # pstat -u 120 ... RESOURCE LIMITS AND COUNTERS ... max data:0x08000000 max stk:0x10000000 max file(blks):0x003fffffffffffff ... The above max_data setting of 0x08000000 indicates the default AIX user data limit of 128MB is in place. On the other hand, output such as the following, showing a value of 0x7fffffff, would indicate a setting of "unlimited" is in effect max data:0x7fffffff max stk:0x02000000 max file(blks):0x003fffffffffffff | |
Solution | |
Problem first fixed in DB2 Version 10.5 Fix Pack 7 | |
Workaround | |
See Local Fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 30.04.2015 18.02.2016 18.02.2016 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) | |
10.5.0.7 |