(B)0[mchange-database-options1 = qwqwqqqqqqqqqqqqqqqqqqqqqqqqq>qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwqwqqq> x tqq> [4mOPEN[m IS qqqqqqqqqqqqwqq> [4mAUTOMATIC[m qwqqqqqqqqqqqqqqqqqqqqu x x x mqq> [4mMANUAL[m qqqqqj x x x tqq> [4mNUMBER[m OF qqwq>[4m CLUSTER[m qqqqwq> [4mNODES[m IS number-nodes qqqqu x x x mq>[4m VAXCLUSTER[m qj x x x x x x x tqq> [4mNUMBER[m OF [4mBUFFERS[m IS qqqq> number-buffers qqqqqqqqqqqqqqqqu x x tqq> [4mNUMBER[m OF [4mUSERS[m IS qqqqqq> number-users qqqqqqqqqqqqqqqqqqu x x tqq> [4mADJUSTABLE[m [4mLOCK[m [4mGRANULARITY[m IS qwqq> [4mENABLED[m qqqwqqqqqqqqqu x x x mqq> [4mDISABLED[m qqj x x x tqq> [4mNUMBER[m OF [4mRECOVERY[m [4mBUFFERS[m IS qq> recovery buffers qqqqqqqu x x mqq> global-buffer-params qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj x mqqqqqqqqqqqqqqqqqqqqqqqqqqq<qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
1 – OPEN Options
The OPEN options are OPEN IS AUTOMATIC and OPEN IS MANUAL.
These options determine whether any user can open a previously
unopened or a closed database by simply invoking it and executing
a DML statement (OPEN IS AUTOMATIC, the default). When OPEN IS
MANUAL is specified, only users with sufficient Oracle Rdb privilege
(ADMINISTRATOR privilege) for the database can enter an RMU/OPEN
command to open the database.
When you use the SQL ALTER DATABASE or RDO CHANGE DATABASE
OPEN IS MANUAL option in conjunction with the RMU/OPEN
/ACCESS=RESTRICTED command, access to the database is limited
to users with SQL DBADM or RDO ADMINISTRATOR privilege for
the database or OpenVMS BYPASS or SYSPRV privilege so that
maintenance (if the RMU image was not installed with the OpenVMS
SYSPRV privilege) operations can proceed without interference
from other users.
2 – number-nodes
The NUMBER OF CLUSTER NODES is clause and the NUMBER OF
VAXCLUSTER NODES is clause have exactly the same effect. The
option of using NUMBER OF CLUSTER NODES has been added to reflect
the fact that Oracle Rdb can run on different hardware platforms (in
addition to VAXclusters).
Sets the upper limit on the maximum number of nodes within a
cluster from which users can access the shared database. The
default is 16. The range is 1 node to 96 nodes. The actual
maximum limit is the current cluster limit.
In some cases, after you have specified a particular number of
users and nodes, doing a dump of the database root file will
display a different number of nodes than the value you set. The
following paragraphs explain why this occurs.
The relationship between the number of users and the number of
nodes supported on a database can be seen when you specify 2032
users and 4 nodes in a SQL CREATE/ALTER DATABASE or RDO DEFINE
/CHANGE DATABASE statement and then dump the database root file.
The dump displays values of 2032 users and 41 nodes.
To understand this relationship, Oracle Rdb uses a data structure
called a TSN Block (TSNBLK). A TSN Block keeps track of
transaction activity on a node and transaction information for
each user on a particular node. Each TSN Block is owned by a
particular node and can handle up to 50 users. For each group of
50 users one TSNBLK is allocated per node to cover the maximum
number of users and nodes in the cluster the database is expected
to support, which is determined as either one TSNBLK per node, or
one TSNBLK per 50 users, whichever is larger. The maximum number
of TSN blocks is equal to the value of the current maximum number
of nodes that are supported for a database.
For example, if the DBA specifies 2032 users and 4 nodes, this is
calculated as 2032/50 for a total of 41 TSNBLKs and this equates
to 41 nodes. The algorithm selects the maximum value of (# of
nodes specified, # of nodes calculated). So in this example, 41
is the maximum calculated value (calculated 41 > specified 4).
Had the DBA specified 2032 users and 50 nodes, 50 would be the
maximum value for the number of nodes (specified 50 > calculated
41) and 50 TSNBLKs would be allocated, one for each node.
As another example, if the DBA specifies 50 users and 10 nodes,
the maximum value is 10 nodes (specified 10 > calculated 1), so
ten TSNBLKs would be allocated, one for each node.
This parameter can only be used with multifile databases. To make
this change for a single-file database, first export the database
using the SQL EXPORT statement and then specify the change in the
SQL IMPORT statement.
3 – number-buffers
The number of buffers Oracle Rdb allocates per process using this
database. Specify an unsigned integer between 2 and 32768. The
default is 20 buffers.
4 – number-users
The maximum number of users allowed to access the database at one
time. The default is 50 users.
This parameter can only be used with multifile databases. To make
this change for a single-file database, first export the database
using the SQL EXPORT statement and then specify the change in the
SQL IMPORT statement.
5 – ADJUSTABLE_LOCK
Enables or disables whether or not the database system will
automatically maintain as few locks as possible on database
resources. The default is ENABLED, and results in fewer locks
against the database. However, if contention for database
resources is high, the automatic adjustment of locks can become a
CPU drain. Such databases can trade more restrictive locking for
less CPU usage by disabling adjustable lock granularity.
Disabling adjustable locking granularity may require that the
OpenVMS SYSGEN parameters for locks be increased.
6 – recovery-buffers
The number of database buffers used during the automatic recovery
process that is initiated after a system or process failure.
Specify an unsigned integer between 2 and 32768. The default is
20 buffers.
7 – global-buffer-params
(B)0[mglobal-buffer-params=
q> [4mGLOBAL[m [4mBUFFERS[m ARE qwq> [4mENABLED[m qqwqk
mq> [4mDISABLED[m qj x
lqqqqqqqqqqqqqqqqqqqqq<qqqqqqqqqqqqqqqqj
mqwqqqqqqqqqqqqqqqqqqqqqqqq>qqqqqqqqqqqqqqqqqqqqqqqwqq>
mq> ( qq> [4mNUMBER[m IS number-glo-buffers qq> , qk x
lqqqqqqqqqqqqqqq<qqqqqqqqqqqqqqqqqqqqqqqqqj x
mq> [4mUSER[m [4mLIMIT[m IS max-glo-buffers qq> ) qqqqqj
7.1 – GLOBAL_BUFFERS
The GLOBAL BUFFERS ARE ENABLED clause specifies that Oracle Rdb
maintain one global buffer pool per node in the cluster for each
database. By default, Oracle Rdb maintains a local buffer pool for
each user. For more than one user to use the same page, each
must read it from disk into their local buffer pool. When the
GLOBAL BUFFERS ARE ENABLED clause has been specified, a page
in the global buffer pool may be read by more than one user at
the same time, although only one user reads the page from disk
into the global buffer pool. Global buffering provides improved
performance because I/O is reduced and memory is better utilized.
The default is GLOBAL BUFFERS ARE DISABLED, in which Oracle Rdb
maintains a local buffer pool for each user, and global buffers
are not enabled.
7.2 – NUMBER
When global buffers are enabled, the NUMBER IS clause is used to
specify the default number of global buffers per node.
The default number of global buffers is the maximum number
of users multiplied by 5. (In the RDO syntax for database
parameters, a user is the same as an attach.) You can override
the default by defining a value for the logical name RDM$BIND_
BUFFERS.
Although you can change the NUMBER IS parameter online, the
change will only take effect the next time that the database is
opened. By default, a database can be opened automatically (that
is, by any user who invokes the database and executes a data
manipulation language statement). If the database was modified
so that it must be manually opened, the RMU/OPEN command must be
used to open it.
7.3 – USER_LIMIT
The USER LIMIT clause specifies the maximum number of global
buffers each user allocates. Because global buffer pools are
shared by all users, you must define an upper limit on how many
global buffers a single user can allocate. This limit prevents a
user from defining the RDM$BIND_BUFFERS to use all the buffers in
the global buffer pool. The user limit cannot be greater then the
total number of global buffers. The default is 5.
See the Oracle Rdb Guide to Database Performance and Tuning for
information on determining the maximum number of global buffers a
user can allocate.
Although you can change the USER LIMIT IS parameter online, the
change will only take effect the next time that the database is
opened. By default, a database can be opened automatically (that
is, by any user who invokes the database and executes a data
manipulation language statement). If the database was modified
so that it must be manually opened, the RMU/OPEN command must be
used to open it.