Allows you to enable or disable the database Row Cache feature
and to modify certain parameters on a per-cache basis.
1 – Description
You can use the RMU Set Row_Cache command to allow the database
Row Cache feature to be enabled or disabled without requiring
that the database be opened.
You can also use the Alter parameter to make modifications to one
cache at a time.
2 – Format
(B)0[mRMU/Set Row_Cache root-file-spec
[4mCommand[m [4mQualifiers[m x [4mDefaults[m
x
/Alter=(Name=cache-name,option(,...)) x See Description
/Backing_Store_Location=devdir x See Description
/NoBacking_Store_Location x See Description
/Disable x None
/Enable x None
/[No]Log x Current DCL verify value
/Sweep_Interval=n x See Description
/[No]Sweep_Interval x See Description
3 – Parameters
3.1 – root-file-spec
Specifies the database root file for which you want to modify the
Row Cache feature.
4 – Command Qualifiers
4.1 – Alter
Alter=(Name=cachename,option(, ...))
Specifies the action to take on the named cache. You must
specify the cache name and at least one other option. The /Alter
qualifier may be specified multiple times on the command line.
Each /Alter qualifier specified operates on one unique cache
if no wildcard character (% or *) is specified. Otherwise, each
/Alter operates on all matching cache names.
o Name=cachename
Name of the cache to be modified. The cache must already be
defined in the database. You must specify the cache name
if you use the Alter qualifier. This parameter accepts the
wildcard characters asterisk (*) and percent sign (%).
o Backing_Store_Location=devdir
Specifies the name of the cache-specific default directory to
which row cache backing file information is written for the
specified cache. The database system generates a file name
(row-cache-name.rdc) automatically for each row cache backing
file it creates when the RCS process starts. Specify a device
name and directory name; do not include a file specification.
By default, the location is the directory of the database
root file unless a database-specific default directory or a
cache-specific default directory has been set.
o NoBacking_Store_Location
Specifies that there is no cache-specific default directory
to which row cache backing file information is written for the
specified cache.
o Drop
Specifies that the indicated row cache is to be dropped
(deleted) from the database.
o Shared_Memory=keyword
Specifies the shared memory type and parameters for the cache.
Valid keywords are:
- Type=option
Specify one of the following options:
* Process
Specifies traditional shared memory global section,
which means that the database global section is located
in process (P0) address space and may be paged from the
process working set as needed.
* Resident
Specifies that the database global section is memory
resident in process (P0) address space using shared
page tables. This means that the global section is fully
resident, or pinned, in memory, and uses less physical
and virtual memory (for process page tables) than a
traditional shared memory global section.
- Rad_Hint=n
NoRad_Hint
Indicates a request that memory should be allocated from
the specified OpenVMS Resource Affinity Domain (RAD). This
keyword specifies a hint to Oracle Rdb and OpenVMS about
where memory should be physically allocated. It is possible
that if the requested memory is not available, it will be
allocated from other RADs in the system. For systems that
do not support RADs, no Rad_Hint specification is valid.
The Rad_Hint keyword is valid only when the shared memory
type is set to Resident. If you set the shared memory type
to System or Process, you disable any previously defined
RAD hint.
Use Norad_Hint to disable the RAD hint.
o Slot_Count=n
Specifies the number of slots in the cache.
o Slot_Size=n
Specifies the size (in bytes) of each slot in the cache.
o Snapshot_Slot_Count=n
Specifies the number of snapshot slots in the cache. A value
of zero disables the snapshot portion for the specified cache.
o Sweep_Interval=n
Specifies the periodic cache sweep timer interval in seconds.
Valid values are from 1 to 3600.
o NoSweep_Interval
Disables the periodic cache sweep timer interval.
o Working_Set_Count=n
Specifies the number of working set entries for the cache.
Valid values are from 1 to 100.
4.2 – Backing Store Location=devdir
Specifies the name of the database-specific default directory to
which row cache backing file information is written. The database
system generates a file name (row-cache-name.rdc) automatically
for each row cache backing file it creates when the RCS process
starts up. Specify a device name and directory name; do not
include a file specification. The file name is the row-cache-name
specified when creating the row cache. By default, the location
is the directory of the database root file unless a database-
specific default directory or a cache-specific default directory
has been set.
4.3 – Disable
Disables row caching. Do not use with the Enable qualifier.
4.4 – Enable
Enables row caching. Do not use with the Disable qualifier.
4.5 – Log
Log
Nolog
Specifies whether the processing of the command is reported to
SYS$OUTPUT. Specify the Log qualifier to request log output and
the Nolog qualifier to prevent it. If you specify neither, the
default is the current setting of the DCL verify switch.
4.6 – NoBacking Store Location
Specifies that there is no database-specific default directory to
which row cache backing file information is written.
5 – Usage Notes
o This command requires exclusive database access (the database
cannot be open or accessed by other users).
o The Alter qualifier can be specified multiple times on the
command line. Each use of the qualifier operates on a unique
cache.
o Only one value can be supplied with the Rad_Hint keyword. The
indicated RAD must contain memory.
o When shared memory is set to System (with Galaxy enabled) or
to Resident, then the process that opens the database must be
granted the VMS$MEM_RESIDENT_USER identifier.
o For applications that can be partitioned into one or more
RADs, the Rad_Hint qualifier allows additional control
over exactly where memory for caches and global sections
is allocated. This control can permit increased performance
if all application processes run in the same RAD, and the
database and row cache global sections also reside in that
same RAD.
o When Resident shared memory is specified, the global demand-
zero pages are always resident in memory and are not backed
up by any file on any disk. The pages are not placed into the
process's working set list when the process maps to the global
section and the virtual memory is referenced by the process.
The pages are also not charged against the process's working
set quota or against any page-file quota.
o To save physical memory, Oracle Rdb generally attempts to
create and use shared page tables when creating large resident
global sections.
o The total number of rows for any individual cache (the
combination of live rows and snapshot rows) is limited to
2,147,483,647.
6 – Examples
Example 1
The following example sets the slot count on cache "mycache".
$ RMU/SET ROW_CACHE/ALTER=(NAME=mycache, SLOT_COUNT=8888)
Example 2
This command disables all caches.
$ RMU/SET ROW_CACHE/DISABLE
Example 3
The following sample specifies that cache "cache2" should use RAD
2.
$ RMU/SET ROW_CACHE/ALTER=(NAME=cache2, SHARED_MEM=(TYPE=RESIDENT, -
_$ RAD_HINT=2)
Example 4
This example drops cache "seacache".
$ RMU/SET ROW_CACHE/ALTER=(NAME=seacache, DROP)
Example 5
This example shows multiple uses of the Alter qualifier.
$ RMU /SET ROW_CACHE MF_PERSONNEL/ALTER=(NAME = RDB$SYS_CACHE, -
_$ SLOT_COUNT = 800, WINDOW_COUNT = 25) -
_$ /ALTER= (NAME = RESUMES,SLOT_SIZE=500,WORKING_SET_COUNT = 15)
Example 6
The following example modifies the database MYDB to set the
snapshot slot count for the cache EMPL_IDX to 25000 slots and
disables snapshots in cache for the SALES cache.
$ RMU /SET ROW_CACHE DGA0:[DB]MYDB.RDB -
_$ /ALTER=(NAME=EMPL_IDX, SNAPSHOT_SLOT_COUNT=25000) -
_$ /ALTER=(NAME=SALES, SNAPSHOT_SLOT_COUNT=0)
Example 7
The following example alters two caches:
$ RMU /SET ROW_CACHE MF_PERSONNEL -
/ALTER= ( NAME = RDB$SYS_CACHE,
SLOT_COUNT = 800) -
/ALTER= ( NAME = RESUMES, -
SLOT_SIZE=500, -
WORKING_SET_COUNT = 15)
Example 8
The following command alters caches named FOOD and FOOT (and
any other cache with a 4 character name with the first three
characters of "FOO" defined in the database):
$ RMU /SET ROW_CACHE MF_PERSONNEL -
/ALTER= ( NAME = FOO%,
BACKING_STORE_LOCATION=DISK$RDC:[RDC])