ibm-information-center/dist/eclipse/plugins/i5OS.ic.apis_5.4.0.1/qqqssdbm.htm

405 lines
10 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<!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>Start SQL Database Monitor (QQQSSDBM) 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 1/8/02 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>Start SQL Database Monitor (QQQSSDBM) API</h2>
<div class="box" style="width: 80%;">
<br>
&nbsp;&nbsp;Required Parameter Group:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">1</td>
<td align="left" valign="top" width="50%">Qualified job name</td>
<td align="left" valign="top" width="15%">Input</td>
<td align="left" valign="top" width="25%">Char(26)</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">Memory handle</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(10)</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">Storage size</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">Free storage method</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(10)</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="left" valign="top">Number of types to monitor</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">6</td>
<td align="left" valign="top">Subtypes to monitor</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Array(*) of Char(10)</td>
</tr>
<tr>
<td align="center" valign="top">7</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>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Conditional; see <a href="#usage_notes">Usage
Notes</a>.<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Start SQL Database Monitor (QQQSSDBM) API starts the memory-based SQL
database monitor. Associated APIs include the following:</p>
<ul>
<li>Clear SQL Database Monitor Statistics (QQQCSDBM)</li>
<li>Dump SQL Database Monitor (QQQDSDBM)</li>
<li>End SQL Database Monitor (QQQESDBM)</li>
<li>Query SQL Database Monitor (QQQQSDBM)</li>
</ul>
<br>
<h3>Authorities and Locks</h3>
<dl compact>
<dt><em>Current User Profile</em></dt>
<dd>*JOBCTL</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Qualified job name</strong></dt>
<dd>INPUT; CHAR(26)
<p>The job to be monitored. The qualified job name has three parts:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<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 the following special values:
<table cellpadding="5">
<tr>
<td valign="top"><em>* or *CURRENT</em></td>
<td 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>
</dd>
<dd><br>
</dd>
<dt><strong>Memory handle</strong></dt>
<dd>INPUT; CHAR(10)
<p>The handle used for consolidating data. This parameter is only valid when
the qualified job name parameter is not *ALL (that is, you are starting the
monitor on a specific job). If multiple jobs are monitoring with the same
memory handle, their database activity will be consolidated together.</p>
<p>If *JOB is specified, the job's database activity will be monitored in its
own memory area (the activity will not be consolidated with any other job's
database activity, unless the other job explicitly specifies this job's job
number as the memory handle.). For example, assume QQQSSDBM is issued by job
111111 with a memory handle of *JOB. This implies a memory handle of 111111 is
used. If job 999999 issues QQQSSDBM and names a memory handle of 111111, then
both jobs 111111 and 999999 will use memory area 111111. Consequently, the
database monitor data for both jobs will be summarized within this memory
area.</p>
<p>The possible values are:</p>
<table width="100%" cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td width="15%" valign="top"><em>User defined</em></td>
<td width="85%" valign="top">Up to 6-character value to name a memory area that
will contain consolidated data. Only the first 6 characters will be used for a
named memory.</td>
</tr>
<tr>
<td valign="top"><em>*JOB</em></td>
<td valign="top">Use the memory area associated with the job, and do not
consolidate data with any other job.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Storage size</strong></dt>
<dd>INPUT; BINARY(4)
<p>The maximum amount of storage to use for in-memory data (specified in
megabytes). A value of -1 implies no maximum.</p>
</dd>
<dt><strong>Free storage method</strong></dt>
<dd>INPUT; CHAR(10)
<p>When maximum storage is reached in the storage size parameter, the method
used to free storage. The possible value is:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td width="15%" valign="top"><em>*LRU</em></td>
<td width="85%" valign="top">Free the statement least recently used</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Number of types to monitor</strong></dt>
<dd>INPUT; BINARY(4)
<p>The number of types passed in the subtypes to monitor array.</p>
</dd>
<dt><strong>Subtypes to monitor</strong></dt>
<dd>INPUT; Array(*) of CHAR(10)
<p>The list of all subtypes that should be monitored. 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 (file QAQQ3000)</td>
</tr>
<tr>
<td valign="top"><em>KEYT_3001</em></td>
<td valign="top">Summary: Index used (file QAQQ3001)</td>
</tr>
<tr>
<td valign="top"><em>KEYT_3002</em></td>
<td valign="top">Summary: Index created (file QAQQ3002)</td>
</tr>
<tr>
<td valign="top"><em>KEYT_3003</em></td>
<td valign="top">Summary: Sort (file QAQQ3003)</td>
</tr>
<tr>
<td valign="top"><em>KEYT_3004</em></td>
<td valign="top">Summary: Temporary file (file QAQQ3004)</td>
</tr>
<tr>
<td valign="top"><em>KEYT_3007</em></td>
<td valign="top">Summary: Optimizer time-out or all access paths considered
(file QAQQ3007)</td>
</tr>
<tr>
<td valign="top"><em>KEYT_3008</em></td>
<td valign="top">Summary: Subselect processing (file QAQQ3008)</td>
</tr>
<tr>
<td valign="top"><em>KEYT_3010</em></td>
<td valign="top">Summary: Host variable values (file QAQQ3010)</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 (file QAQQ3030)<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 (file QAQQTEXT)</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. This subtype is always monitored
because it is required for monitoring all other subtypes (file QAQQQRYI). It
should still be specified, and is required if it is the only subtype to be
monitored.</td>
</tr>
<tr>
<td valign="top"><em>*EDSQL</em></td>
<td valign="top">Monitor all subtypes. If this option is specified, the number
of types to monitor should be set to 1, and no other subtypes should be
requested.</td>
</tr>
</table>
<br>
</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>
<br>
<h3>Error Messages</h3>
<table width="100%" cellpadding="3">
<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">CPF1321 E</td>
<td valign="top">Job &amp;1 user &amp;2 job number &amp;3 not found.</td>
</tr>
<tr>
<td valign="top">CPF222E E</td>
<td valign="top">&amp;1 special authority is required.</td>
</tr>
<tr>
<td valign="top">CPF3CF1 E</td>
<td valign="top">Error code parameter not valid.</td>
</tr>
<tr>
<td valign="top">CPF436C E</td>
<td valign="top">Job specified is already being monitored.</td>
</tr>
<tr>
<td valign="top">CPF436E E</td>
<td valign="top">Job &amp;1 user &amp;2 job number &amp;3 is not active.</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>