Allows you to alter the database shared memory configuration
without requiring that the database be open.
1 – Description
You can use the RMU Set Shared_Memory command to alter the
database shared memory configuration without requiring that the
database be open.
2 – Format
(B)0[mRMU/Set Shared_Memory root-file-spec
[4mCommand[m [4mQualifiers[m x [4mDefaults[m
x
/[No]Log x Current DCL verify value
/[No]Rad_Hint=n x None
/Type={Process|Resident|System} x None
3 – Parameters
3.1 – root-file-spec
Specifies the database root file for which you want to modify the
shared memory configuration.
4 – Command Qualifiers
4.1 – 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.2 – Rad Hint
Rad_Hint=n
Norad_Hint
Indicates a request that memory should be allocated from the
specified OpenVMS Alpha Resource Affinity Domain (RAD). This
qualifier 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, a
Rad_Hint value of zero is valid.
The Rad_Hint qualifier is only valid 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 the Norad_Hint qualifier to disable the RAD hint.
NOTE
OpenVMS support for RADs is available only on the
AlphaServer GS series systems. For more information about
using RADs, refer to the OpenVMS Alpha Partitioning and
Galaxy Guide.
4.3 – Type
Type=option
If you use the Type qualifier, you must specify one of the
following options:
o 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.
o Resident
Specifies that the database global section is memory resident
in process (P0) address space using OpenVMS Alpha 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.
o System
Specifies that the database global section is located in
OpenVMS Alpha system space, which means that the section is
fully resident, or pinned, in memory, does not use process
(P0) address space, and does not affect the quotas of the
working set of a process.
5 – Usage Notes
o This command requires exclusive database access (the database
cannot be open or accessed by other users).
o Only one value can be supplied to the Rad_Hint qualifier. 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.
6 – Examples
Example 1
The following example sets the memory type to Resident and
requests that it be put in RAD 4.
$ RMU/SET SHARED_MEMORY/TYPE=RESIDENT/RAD_HINT=4
Example 2
This example specifies that system space buffers are to be used.
$ RMU/SET SHARED_MEMORY/TYPE=SYSTEM
Example 3
The following example specifies that process address space shared
memory is to be used.
$ RMU/SET SHARED_MEMORY/TYPE=PROCESS/LOG