Explanation
Your request required a temporary table (for sorting or subquery result set), and the Temporary Table Manager (TTM) area became full.
The SQLSTATE that equates to this SQL return code is 57S05.
User Response
The TTM area may be extended, which requires the Multi-User Facility to be down, or the TTM may have become full due to a combination of temporary tables for your request and other concurrent requests. You may be able to run successfully when other requests are not using temporary tables.
To determine the number of TTM blocks available and most used since the Multi-User Facility was started, use the CA Datacom/DB Utility (DBUTLTY) to turn on the "global" trace as follows:
COMM OPTION=ALTER,TRACE=TRACEGLOBAL
This information is written to the Statistics and Diagnostics Area (PXX) when a run unit ends. It can be reported with DUMPS=FULL or DUMPS=TRACE.
To determine how many TTM blocks your request requires, use the MSG=NS (execution-time summary messages) plan option. This information is written to the MSG table in base 15. You may access this information using standard record-at-a-time, set-at-a-time, or SQL access. The SQL table name is SYSADM.SYSMSG. The columns of this table are defined in CA Datacom Datadictionary. This information is deleted when the plan is deleted. If the information is not in this table, the MSG table may have become full. This is reported as SQL return code -258.
Note: If the system has just been upgraded, and any attempt to access the TTM gets a -560, verify that relative record addressing (DIRECT=YES) is being used for the TTM. To do this, print a Directory (CXX) report for your TTM database and check the DIRECT attribute for the key (there is only one key) on the TTM table. If DIRECT=NO, you have found the cause of your problem. You can correct this problem by updating the key definition to reflect DIRECT=YES and recataloging the database.
|
Copyright © 2015 CA Technologies.
All rights reserved.
|
|