
5.12 What are the dbecon file parameters associated with locking?
Key points
The following DBECon file parameters affect locking:
- Number of run-time control block pages
- The run-time control block is an area of shared memory containing global,
run-time information for the DBE. Internally, ALLBASE/SQL uses different
types of control blocks to accomplish its processing. These control blocks
are all allocated from the run-time control block space that has been
configured for the DBE.
- The run-time control block is allocated in memory when the database is
started for the first time, using either the
START DBE or the
first CONNECT statement.
- The size of the run-time control block can be specified in the
START DBE statement, or by using the SQLUTIL ALTDBE
command. The more concurrent
activity (such as locks, transactions, page allocations, etc.) that exists in
the DBE, the greater the number of run-time control block pages that are
needed.
- The default number of pages is 37. Each page is 4096 (4K) bytes.
- Control blocks are allocated for different types of internal processing, but
the majority of control blocks are used for lock management. One control
block is needed for each table, page, or row lock. The
greater the number of concurrent locks held, the greater the number of run-time
control block pages that are needed to manage these locks. A program that
manages locks well is less likely to deplete the amount of shared memory
available.
- If the run-time control block is too small, ALLBASE/SQL is not able to allocate
necessary control blocks when a transaction executes an SQL statement. The
transaction is rolled back, and an error is returned. In order to increase
the amount of run-time control block space, the DBEnvironment must be stopped and
re-started using a larger value.
- User mode
- Default is SINGLE user mode, which means that only the user who starts the
DBEnvironment can access it. MULTI user mode allows multiple users to
access the DBEnvironment.
- In SINGLE user mode, ALLBASE/SQL allocates the run-time control block from
the heap of the process that started the database, rather than shared memory
as was described above. Lock control blocks are acquired out of this
heap by the transaction when SQL statements are executed, but only table level
locks are aquired.
- Fewer run-time control block pages are needed in SINGLE user mode than in MULTI
user mode.
- SINGLE user mode is good for testing a new DBEnvironment, and also for performing
maintenance functions.
- The user mode can be specified in the
START DBE statement, or by using the
SQLUTIL ALTDBE command.

Page last updated on November 29, 1995
|