440 lines
11 KiB
HTML
440 lines
11 KiB
HTML
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||
|
<html>
|
||
|
<head>
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||
|
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
|
||
|
<title>Dump SQL Database Monitor (QQQDSDBM) API</title>
|
||
|
<!-- Begin Header Records ========================================== -->
|
||
|
<!-- All rights reserved. Licensed Materials Property of IBM -->
|
||
|
<!-- US Government Users Restricted Rights -->
|
||
|
<!-- Use, duplication or disclosure restricted by -->
|
||
|
<!-- GSA ADP Schedule Contract with IBM Corp. -->
|
||
|
<!-- File SCRIPT A converted by B2H R4.1 (346) (CMS) by V2KEA304 -->
|
||
|
<!-- at RCHVMW2 on 17 Feb 1999 at 11:05:09 -->
|
||
|
<!-- Change History: -->
|
||
|
<!--File Edited March 2001 -->
|
||
|
<!-- This file has undergone html cleanup on 9/20/01 by JET -->
|
||
|
<!--End Header Records -->
|
||
|
<!-- YYMMDD USERID Change description -->
|
||
|
<!-- 050220 ktrisko Add 3030 record -->
|
||
|
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
|
||
|
</head>
|
||
|
<body>
|
||
|
<a name="top_Of_Page"></a>
|
||
|
<!-- Java sync-link -->
|
||
|
<script language="Javascript" src="../rzahg/synch.js" type="text/javascript">
|
||
|
</script>
|
||
|
|
||
|
<h2>Dump SQL Database Monitor (QQQDSDBM) API</h2>
|
||
|
|
||
|
<div class="box" style="width: 80%;">
|
||
|
<br>
|
||
|
Required Parameter Group:<br>
|
||
|
<table width="100%">
|
||
|
<tr>
|
||
|
<td align="center" valign="top" width="10%">1</td>
|
||
|
<td align="left" valign="top" width="50%">Memory handle to dump</td>
|
||
|
<td align="left" valign="top" width="10%">Input</td>
|
||
|
<td align="left" valign="top" width="30%">Char(10)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">2</td>
|
||
|
<td align="left" valign="top">Job or memory handle name</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Char(26)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">3</td>
|
||
|
<td align="left" valign="top">Number of types to dump</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Binary(4)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="left" valign="top">Subtypes and files array</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Array(*) of Char(30)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">5</td>
|
||
|
<td align="left" valign="top">Error code</td>
|
||
|
<td align="left" valign="top">I/O</td>
|
||
|
<td align="left" valign="top">Char(*)</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
Service Program Name: QQQDSDBM<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
Default Public Authority: *USE<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
Threadsafe: Conditional; see <a href="#usage_notes">Usage
|
||
|
Notes</a>.<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
</div>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<p>The Dump SQL Database Monitor (QQQDSDBM) API dumps the SQL database monitor
|
||
|
that has been gathered. The data that is gathered will be all data that has
|
||
|
been committed (if the job is under commitment control) or based on a 5-minute
|
||
|
timer. Associated APIs include the following:</p>
|
||
|
|
||
|
<ul>
|
||
|
<li>Clear SQL Database Monitor Statistics (QQQCSDBM)</li>
|
||
|
|
||
|
<li>End SQL Database Monitor (QQQESDBM)</li>
|
||
|
|
||
|
<li>Query SQL Database Monitor (QQQQSDBM)</li>
|
||
|
|
||
|
<li>Start SQL Database Monitor (QQQSSDBM)</li>
|
||
|
</ul>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h3>Authorities and Locks</h3>
|
||
|
|
||
|
<dl compact>
|
||
|
<dt><em>Current User Profile</em></dt>
|
||
|
|
||
|
<dd>*JOBCTL</dd>
|
||
|
|
||
|
<dt><em>Library Authority for New File</em></dt>
|
||
|
|
||
|
<dd>*ADD and *READ</dd>
|
||
|
|
||
|
<dt><em>Library Authority for Existing File</em></dt>
|
||
|
|
||
|
<dd>*EXECUTE</dd>
|
||
|
|
||
|
<dt><em>Existing File</em></dt>
|
||
|
|
||
|
<dd>*CHANGE and *OBJALTER</dd>
|
||
|
</dl>
|
||
|
|
||
|
<br>
|
||
|
<h3>Required Parameter Group</h3>
|
||
|
|
||
|
<dl>
|
||
|
<dt><strong>Memory area to dump</strong></dt>
|
||
|
|
||
|
<dd>INPUT; CHAR(10)
|
||
|
|
||
|
<p>Memory area to dump. The possible values are:</p>
|
||
|
|
||
|
<table>
|
||
|
<tr>
|
||
|
<td width="15%" valign="top"><em>*ALL</em></td>
|
||
|
<td width="85%" valign="top">Dump the monitor data associated with the *ALL
|
||
|
monitor (the monitor started against all jobs). The Start SQL Database Monitor
|
||
|
(QQQSSDBM) must have been started with job name *ALL.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top"><em>*NAMED</em></td>
|
||
|
<td valign="top">Dump the memory handle named by the job or memory handle name
|
||
|
parameter (and matches the name of a memory handle specified on the QQQSSDBM
|
||
|
API). Only the first 6 characters will be used for naming the memory handle. If
|
||
|
QQQSSDBM started the monitor with *JOB, you can also name the job to be dumped
|
||
|
with this parameter by giving the 6-character memory handle that contains the
|
||
|
job number.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top"><em>*JOB</em></td>
|
||
|
<td valign="top">Dump the job-specific data associated with the job named by
|
||
|
the job or memory handle name parameter.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Job or memory handle name</strong></dt>
|
||
|
|
||
|
<dd>INPUT; CHAR(26)
|
||
|
|
||
|
<p>This parameter depends on the value specified for the memory area to dump
|
||
|
parameter. If the value is:</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="10 90" -->
|
||
|
<tr>
|
||
|
<td width="10%" valign="top"><em>*ALL</em></td>
|
||
|
<td width="90%" valign="top">This parameter is ignored.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top"><em>*NAMED</em></td>
|
||
|
<td valign="top">The CHAR(6) name of a memory handle whose data is to be
|
||
|
dumped. Only the first 6 characters will be used for naming the memory
|
||
|
handle.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top"><em>*JOB</em></td>
|
||
|
<td valign="top">The CHAR(26) qualified job name of a job-specific monitor to
|
||
|
dump. The qualified job name has three parts:<br>
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<table>
|
||
|
<tr>
|
||
|
<td width="15%" valign="top"><em>Job name</em></td>
|
||
|
<td width="85%" valign="top">CHAR(10). A specific job name, a generic name, or
|
||
|
one of following special values:<br>
|
||
|
|
||
|
|
||
|
<table>
|
||
|
<tr>
|
||
|
<td width="30%" valign="top"><em>* or *CURRENT</em></td>
|
||
|
<td width="70%" valign="top">Only the job that this program is running in. The
|
||
|
rest of the qualified job name parameter must be blank.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top"><em>*ALL</em></td>
|
||
|
<td valign="top">All jobs. The rest of the job name parameter must be
|
||
|
blank.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top"><em>User name</em></td>
|
||
|
<td valign="top">CHAR(10). A specific user profile name.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top"><em>Job number</em></td>
|
||
|
<td valign="top">CHAR(6). A specific job number.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Number of types to dump</strong></dt>
|
||
|
|
||
|
<dd>INPUT; BINARY(4)
|
||
|
|
||
|
<p>The number of types passed in the subtypes and files array.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Subtypes and files array</strong></dt>
|
||
|
|
||
|
<dd>INPUT; Array(*) of CHAR(30)
|
||
|
|
||
|
<p>The list of all subtypes to dump and their associated receiving files. The
|
||
|
format of each array element is:</p>
|
||
|
|
||
|
<dl>
|
||
|
<dt><em>CHAR(10). Key to Dump.</em></dt>
|
||
|
|
||
|
<dd>
|
||
|
<p>The possible values are:</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="15 85" -->
|
||
|
<tr>
|
||
|
<td width="15%" valign="top"><em>KEYT_3000</em></td>
|
||
|
<td width="85%" valign="top">Summary: Arrival sequence</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top"><em>KEYT_3001</em></td>
|
||
|
<td valign="top">Summary: Index used</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top"><em>KEYT_3002</em></td>
|
||
|
<td valign="top">Summary: Index created</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top"><em>KEYT_3003</em></td>
|
||
|
<td valign="top">Summary: Sort</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top"><em>KEYT_3004</em></td>
|
||
|
<td valign="top">Summary: Temporary file</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top"><em>KEYT_3007</em></td>
|
||
|
<td valign="top">Summary: Optimizer time-out or all access paths
|
||
|
considered</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top"><em>KEYT_3008</em></td>
|
||
|
<td valign="top">Summary: Subselect processing</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top"><em>KEYT_3010</em></td>
|
||
|
<td valign="top">Summary: Host variable values</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top"><img src="delta.gif" alt="Start of Change"><em>KEYT_3030</em></td>
|
||
|
<td valign="top">Summary: Materialized query tables considered<img src="deltaend.gif" alt="End of Change"></td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top"><em>KEYT_TEXT</em></td>
|
||
|
<td valign="top">SQL statement text</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top"><em>KEYT_QRYI</em></td>
|
||
|
<td valign="top">Summary: General SQL information including statement count,
|
||
|
maximum runtime, time last used, and so forth.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top"></td>
|
||
|
<td valign="top">This subtype is always monitored because it is required for
|
||
|
monitoring all other subtypes. Although it is always monitored, it will not be
|
||
|
dumped unless requested.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</dd>
|
||
|
|
||
|
<dd><br>
|
||
|
</dd>
|
||
|
|
||
|
<dt><em>CHAR(20). File name.</em></dt>
|
||
|
|
||
|
<dd>
|
||
|
<p>The name of the file to receive the data. The first 10 characters contain
|
||
|
the file name, and the second 10 characters contain the library name. A member
|
||
|
name of *FIRST is assumed. The following special values can be used for the
|
||
|
library name:</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="15 85" -->
|
||
|
<tr>
|
||
|
<td width="15%" valign="top"><em>*CURLIB</em></td>
|
||
|
<td width="85%" valign="top">The job's current library</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top"><em>*LIBL</em></td>
|
||
|
<td valign="top">The library list</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<p>If the file already exists, it will be cleared prior to dumping the data.
|
||
|
The files will be created with authority of owner(*ALL) and PUBLIC(*CHANGE),
|
||
|
and they are owned by the profile of the job calling QQQDSDBM.</p>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<p><strong>Note:</strong> If a subtype is specified multiple times, only the
|
||
|
first occurrence of the subtype and the associated file name is honored. The
|
||
|
duplicates are ignored.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Error code</strong></dt>
|
||
|
|
||
|
<dd>I/O; CHAR(*)
|
||
|
|
||
|
<p>The structure in which to return error information. For the format of the
|
||
|
structure, see <a href="../apiref/error.htm#hdrerrcod">Error Code Parameter</a>.</p>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
|
||
|
<br>
|
||
|
<h3><a name="usage_notes">Usage Notes</a></h3>
|
||
|
|
||
|
<p>This function is threadsafe but not thread enabled. Database monitor data is
|
||
|
collected in the threaded process but summarized at the job level.</p>
|
||
|
|
||
|
<p>The QQQDSDBM API does not force a clear operation (QQQCSDBM) of the memory.
|
||
|
Data will continue to be added to memory until the QQQCSDBM or QQQESDBM API is
|
||
|
called.</p>
|
||
|
|
||
|
<br>
|
||
|
<h3>Error Messages</h3>
|
||
|
|
||
|
<table width="100%">
|
||
|
<tr>
|
||
|
<th align="left" valign="top">Message ID</th>
|
||
|
<th align="left" valign="top">Error Message Text</th>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td width="15%" valign="top">CPD0172 D</td>
|
||
|
<td width="85%" valign="top">Parameters passed on CALL do not match those
|
||
|
required.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPD222E E</td>
|
||
|
<td valign="top">&1 special authority is required.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF3012 E</td>
|
||
|
<td valign="top">File &1 in library &2 not found.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF3084 E</td>
|
||
|
<td valign="top">Eror clearing member &3 in file &1.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF3130 E</td>
|
||
|
<td valign="top">Member &2 already in use.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF3CF1 E</td>
|
||
|
<td valign="top">Error code parameter not valid.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF9822 E</td>
|
||
|
<td valign="top">Not authorized to file &1 in library &2.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<hr>
|
||
|
API introduced: V4R3
|
||
|
|
||
|
<hr>
|
||
|
<center>
|
||
|
<table cellpadding="2" cellspacing="2">
|
||
|
<tr align="center">
|
||
|
<td valign="middle" align="center"><a href="#top_Of_Page">Top</a> | <a href=
|
||
|
"file1.htm">Database and File APIs</a> | <a href="aplist.htm">APIs by
|
||
|
category</a></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</center>
|
||
|
|
||
|
<br>
|
||
|
</body>
|
||
|
</html>
|
||
|
|