Start of change

DSNI055I INSERT ALGORITHM 2 HAS BEEN DISABLED FOR OBJECT = object-name DISABLING RETURN CODE = disabling-return-code LOCAL TIME OF DISABLEMENT = local-time-disablement REASON CODE =reason-code URID OF DISABLING AGENT = URID-disabling-agent RBA OF DISABLING DIAGNOSTIC LOG = RBA-disabling-diagnostic-log LRSN OF DISABLING DIAGNOSTIC LOG = LRSN-disabling-diagnostic-log

Explanation

Insert algorithm 2 (IAG2) was disabled due to the reason indicated by the reason code. The INSERT statement completes at the lower algorithm level. This message has the following format.

DSNI055I  -DB2A INSERT ALGORITHM 2 HAS BEEN DISABLED          
- FOR                                                            
-       OBJECT = object-name                
-       DISABLING RETURN CODE = disabling-return-code                   
-       LOCAL TIME OF DISABLEMENT = local-time-disablement       
-       REASON CODE = reason-code                        
-       URID OF DISABLING AGENT = URID-disabling-agent
-       RBA OF DISABLING DIAGNOSTIC LOG = RBA-disabling-diagnostic-log
-       LRSN OF DISABLING DIAGNOSTIC LOG = LRSN-disabling-diagnostic-log
object-name
The full name of the object, which includes the database name, the table space name, and the partition number, that the INSERT statement was operating on when IAG2 was disabled.
disabling-return-code
One of the following hexadecimal reason codes, which indicate why the pipe could not be filled:
4
The page pipe storage that is used by IAG2 could not be allocated due to insufficient virtual storage.
8
The asynchronous job (or system task) that formats data pages in bulk detected an error that prevented it from refilling the page pipe that is used by IAG2. The REASON FOR ERROR string and messages that are issued by lower-level services might provide additional information about this error.
C
The row cannot be inserted on any data page on the IAG2 page pipe due to a latch contention issue such as a p-lock delay or failure. Attempts to insert rows on every data page on the page pipe were unsuccessful, and no more pages are available.
10
The internal time limit was exceeded while the INSERT operation waited for pages to be added to the page pipe that is used by IAG2.
14
The page pipe storage that is used by IAG2 cannot be filled because a gross lock is held on the table. A LOCK TABLE condition can cause a gross lock to be held.
18
The page pipe storage that is used by IAG2 cannot be topped off because a gross lock is held on the table or table space. A lock escalation can cause a gross lock to be held.
local-time-disablement

The local timestamp at the time the error was first detected. If the time stamp value is not meaningful, the string ********** is displayed.

reason-code

The Db2 resource not available reason code that is associated with the error when it was detected. The default value is '00C9000A'x if no other reason code applies.

URID-disabling-agent
The Unit of Recovery ID of the thread that triggered IAG2 to be disabled.
RBA-disabling-diagnostic-log
The RBA value of the diagnostic log record when IAG2 was disabled.
LRSN-disabling-diagnostic-log
The LRSN value of the diagnostic log record when IAG2 was disabled.

System action

The INSERT statement completes at a lower algorithm level.

User response

Take the appropriate response based on the reason code that was issued.
4
No action is required. When the storage constraint is resolved, Db2 will automatically re-enable IAG2.
8
Take the following action depending on the type of table space and its characteristics:
  • If the error occurred on a partition-by-range table space that has been defined as PAGENUM ABSOLUTE, you must add space and then reorganize the table space (REORG). In this situation, Db2 will not automatically attempt to re-enable IAG2 at predefined intervals. Instead, IAG2 will be re-enabled at the next insert operation after the reorganization.
  • If the error occurred on a partition-by-range table space that has been defined as PAGENUM RELATIVE, use the ALTER TABLESPACE statement with the DSSIZE option to increase the maximum partition size. In this situation, Db2 will automatically attempt to re-enable IAG2 at predefined intervals.
  • If the error occurred on a partition-by-growth table space in which MAXPARTS was reached, use the ALTER TABLESPACE statement with the MAXPARTITIONS option to add one or more partitions. In this situation, IAG2 will use the new partition at the next insert operation.

Look for other space-related Db2 messages to determine why IAG2 was disabled. Additionally, see Increasing the partition size of a partitioned table space for more information about resolving these types of error conditions.

C
No action is required. Db2 will automatically attempt to re-enable IAG2 at predefined intervals. The attempt will be successful when the error conditions are resolved.
10
Contact IBM Support and provide log records for the 30-second (or less) window before and up to the message time (LOCAL TIME OF ERROR) for this table space, the console log for the same approximate time, and the DSNI055I message in its entirety, including the internal trace information (TRACE).
14

No action is required. However, using LOCK TABLE eliminates any potential performance benefits associated with using IAG2. Therefore, if LOCK TABLE is not needed, remove it from the application. When the gross lock is no longer held, Db2 will automatically re-enable IAG2.

18
No action is required. However, you can look for other messages that might identify the cause of the lock escalation and, if practical, consider correcting the situation. When the gross lock is no longer held, Db2 will automatically re-enable IAG2.
End of change