Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
HP.com home
Jazz home  >  Papers & Training

IMAGE/SQL: Issues and answers concerning SQL tables

» 

Jazz home

»

Software

»

Papers & Training

»

Java

»

HP Partners

»

News & Events

»

Register for more info

Content starts here
Prev Page Next Page Manual Top Home Page


4.3 Briefly describe the screens in the overview subsystem



Key points


  • The DBEnvironment must be active to obtain any screen in the subsystem (in other words, at least one user must be connected to the DBE). A warning is returned if you try to access one of these screens if nobody is connected.

Menu


SQLMONITOR SUBSYSTEMS (and abbreviations):

           OVERVIEW     IO     LOAD     LOCK     SAMPLEIO     STATIC
              /o        /i     /loa     /loc        /sa         /st

CURRENT SUBSYSTEM SCREENS:

                       OVERVIEW     SESSION     PROGRAM
                           o           s           p 

Overview screen


SQLMONITOR  OVERVIEW  => o              /* From the current subsystem */

SQLMONITOR  LOCK  => /o                 /* From another subsystem     */

This screen provides an overall view of some of the most interesting aspects of the performance of the DBEnvironment, including the data buffer pool miss rate, the current size of the runtime control block, and the current size of the log file. Some information on this screen is examined in greater detail on the LOAD and IO screens.

The screen shows that 3 sessions (SESSIONS) are connected to the DBE. The maximum number of transactions (MAX XACT) configured for the DBE is 50, and currently there are two active transactions (ACTIVE XACT). No transactions are blocked because of locks held by other transactions (IMPEDE XACT). NOTE that the ACTIVE XACT and IMPEDE XACT bars are displayed graphically using a scale determined by the MAX XACT value.

WARNING - SQLMON does not show locking problems on IMAGE data sets. It only shows locking problems on SQL tables (tables stored under DBCORE). You should still use DBUTIL to investigate/resolve locking problems on IMAGE data sets.

After you visit any screen, you can type "help tune" to obtain a list of tuning suggestions that you might take based on the information presented on the screen. For example:

SQLMONITOR  OVERVIEW  => help tune

1 MONITOR THE SIZE OF THE RUNTIME CONTROL BLOCK.

2 MONITOR THE SIZE OF THE ARCHIVE MODE LOG FILE.

Type TUNE <number> for detailed information about any tuning suggestion
listed ( Example: Type TUNE 1 for information about MONITOR THE SIZE OF
THE RUNTIME CONTROL BLOCK ).

Continue? ([YES],NO) <Hit return for YES>

SUBSYSTEMS:         OVERVIEW, IO, LOAD, LOCK, SAMPLEIO, STATIC
SUBSYSTEM SCREENS:  OVERVIEW, SESSION, PROGRAM
HELP KEYWORDS:      CONTROL, INFO, SUBSYSTEM, TUNE

Type one of the HELP KEYWORDS for more information about the current help
screen.  Type one of the SUBSYSTEM SCREENS for help about another screen
in the current help subsystem.  Type one of the SUBSYSTEMS for help about
another subsystem.  Type MAIN for a list of all SQLMONITOR commands.  Type
HELP for more information about the help facility.  Type EXIT, QUIT, or //
to leave the help facility.

SQLMONITOR  HELP OVERVIEW  => tune 1   

MONITOR THE SIZE OF THE RUNTIME CONTROL BLOCK

The size of the runtime control block is a parameter that may be modified
using the SQLUTIL ALTDBE command.  If too small of a value is specified, the
transactions that cannot obtain space will be rolled back and ALLBASE/SQL
returns the error code -4008 ("ALLBASE/SQL shared memory lock allocation
failed in DBCORE").

Lock management is the single greatest user of shared memory (the runtime
control block is a shared memory structure used internally by ALLBASE/SQL).
The greater the number of concurrent locks held, the greater the number of
runtime control block pages needed to manage these locks.  Consequently,
a program that manages locks well is less likely to deplete the amount of
shared memory available.  Obtaining locks at the table level, rather than
at the page or row level will reduce the shared memory requirements for a
transaction, but may reduce concurrency.  Type LOCK TUNE 2, LOCK TUNE 8,
or LOCK TUNE 9 for more information about LOCK GRANULARITIES, CHANGE THE
IMPLICIT LOCKING STRUCTURE ON A TABLE, or USE THE LOCK TABLE STATEMENT TO
OVERRIDE IMPLICIT LOCKING.

The LOCK MEMORY screen allows you to identify how many locks are allocated
to each session connected to the DBEnvironment, and the LOCK TABSUMMARY
screen allows you to identify how many locks are allocated for each table.
If you obtain error code -4008 frequently, or if you want to minimize
the amount of shared memory used by the DBEnvironment, you can use the
LOCK MEMORY screen to identify the session(s) using the most number of
locks.  Then use the LOCK TABSUMMARY screen to determine the tables on
which the largest number of locks have been allocated, and the program that
each session is running.  These programs are good candidates for tuning for
lock optimization.

SQLMONITOR  HELP OVERVIEW  => //
Type "//" to leave the help facility and return back to the main SQLMON prompt.

Want to know more about the SQLMON on-line help facility?


Overview session screen


SQLMONITOR  OVERVIEW  => s              /* From the current subsystem */

SQLMONITOR  LOCK  => /o s               /* From another subsystem     */

This screen identifies all sessions connected to the DBEnvironment.

We again see that there are 3 sessions (SESSIONS) connected to the DBE, but now more information is available about each session. The CID (connection id) uniquely identifies each database process. The PIN is the operating system process identification number of the session. Multiple CIDs may exist for a single PIN (for example, in ISQL it is possible to have multiple connections to the same DBEnvironment. Each connection has a unique CID, but all of the connections would have the same PIN).

STATUS is the status of the internal (DBCORE) function call that is in progress for the session. Possible values are "Run", "Wait", and "Idle". Sessions whose status is "Wait" are highlighted to graphically flag the amount of waiting in the DBEnvironment. XID is a system-generated identifier for the transaction that is active for the session. Smaller values indicate older transactions. In addition the isolation level (ISO) and priority (PRI) of the transaction are always displayed. In an SQL program, each transaction can be uniquely identfied if the LABEL clause is used on the BEGIN WORK or the SET TRANSACTION statement. SQLMON displays the label of the transaction that the session is currently executing, which can be useful for debugging.

SQLMONITOR  OVERVIEW  => help tune

No additional tuning suggestions are available for this screen.

Overview program screen


SQLMONITOR  OVERVIEW  => p              /* From the current subsystem */

SQLMONITOR  LOCK  => /o p               /* From another subsystem     */

This screen groups together all sessions running the same program. This information can help you determine if a performance problem is related to a particular program, as opposed to simply related to a particular session.

SQLMONITOR  OVERVIEW  => help tune

No additional tuning suggestions are available for this screen.

Prev Page Next Page Manual Top Home Page

Page last updated on November 29, 1995

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 2004 Hewlett-Packard Development Company, L.P.