There are other considerations that may assist you with problem determination and troubleshooting in a partitioned database environment. The following sections cover these considerations.
Information on FFDC specific to the EEE environment is presented here.
In an EEE environment, if your DIAGPATH is NFS-mounted or shared then a noticeable slow down will occur with the higher diagnostic levels chosen. Level 3 should be the highest level used in this environment. The only time level 4 should be considered for use is during:
In an EEE environment, since the sqllib directory is mounted on all systems there is one db2diag.log file for all partitions or nodes. By changing the DIAGPATH database manager configuration parameter for all partitions to point to a local path, a separate db2diag.log file is kept for each partition. Each db2diag.log file then has log information specific to each partition making each log file easier to read. However, should all of the db2diag.log file information need to be seen, then gathering and integrating all the data from all the partitions can be difficult.
Information on the DB2 Trace Facility specific to the EEE environment is presented here.
In an EEE environment, you may need to take a trace on more than one partition to determine the error. In a multiple logical node (MLN) environment, only one trace per physical node is required. Determining which partition or node on which to run the DB2 Trace Facility (db2trc) is done using SQLCA results following an error. In the SQLCA format, SQLERRD(6) presents the node number.
The db2_call_stack command can be used to assist in the identification of loops or hangs in the EEE environment. The db2_call_stack command sends a "terminate" signal to every DB2 process on every node recorded in the db2nodes.cfg file.
The db2_call_stack command should be run several times with some time in between to determine if there is a loop or hang; or, if the work is being done at all. See Trap Files for more information on db2_call_stack.
The DB2MEMDBG registry variable enables the tracking of memory allocation including the allocations of memory sets, memory pools, and memory blocks. It can be used to help identify memory corruption or memory leakage conditions. Memory corruption examples are:
The process for using this registry variable is:
The output from this procedure is placed in the db2dump subdirectory of the sqllib directory. The memdbg.log file contains log entries for all processes that are enabled for memory debugging. The p_<PID>.mem files contain per process memory debug information including corruption information.
When using LIST APPLICATIONS to collect data about a problem, remember to run this command on all partitions in your EEE environment. Running LIST APPLICATIONS from the catalog node gives information about all coordinator nodes.
When attempting to restart your database, always restart the catalog partition first and by itself. Once restarted, attempt a parallel restart of all the remaining partitions. If errors still occur during the parallel restart, then attempt to restart the partitions one at a time.
If after checking your environmental status and you are sure that your system is completely hung, you should, with caution, consider the following process:
If after checking your environmental status and you determine that only one or two partitions/nodes are not working in your EEE environment, with caution, consider the following process:
Note: | You should be cautious when proceeding to the latter commands to shutdown your database environment. Using the latter commands can remove the problem evidence so that DB2 Customer Support may not be able to determine the cause of your problem. Without determining the current problem, there is little or no chance for a preventative approach to be implemented in your environment. Your environment may then be susceptible to the same problem occurring again. |
Here is the list of ways to shutdown your database environment from least to most forceful:
You should only use the most forceful commands under the direction of DB2 Customer Support.