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