The pdmemdb command enables you to do the following:
You can use the pddbls -M command to check the pdmemdb command's execution result.
HiRDB administrator
pdmemdb -k processing-type {-r RDAREA-name[,RDAREA-name]...|-r ALL} |
Specifies the processing to be performed by the pdmemdb command.
The status of in-memory data buffers and RDAREAs after execution of the pdmemdb command depends on the option that is specified. For details, see Table 2-13 Prerequisites for pdmemdb command execution (status of in-memory data buffers and target RDAREAs).
Specifies the names of the RDAREAs that are to be processed.
The pdmemdb command results in an error if any of the following RDAREAs is specified:
Do not specify a table to be expanded to the memory database or an index defined for such a table. If a table to be expanded to the memory database or an index defined for such a table is placed in memory and HiRDB is terminated forcibly while using the in-memory data buffer, all data in the memory database since the last time in-memory data was released might be lost. For details, see Notes about using this command together with the rapid batch facility in the HiRDB Version 9 Memory Database Installation and Operation Guide.
Specifies that the command is to apply the processing specified in the -k option to all RDAREAs on which that processing can be performed.
You can use this option to release all in-memory RDAREAs from memory with one operation.
If you specify this option when you are placing RDAREAs in memory, unneeded RDAREAs might be placed in memory, so we recommend that you not specify this option when you are placing RDAREAs in memory.
The command will not process the following RDAREAs when -r ALL is specified:
Specifies whether the shared memory used by in-memory data buffers is to be page-fixed in real memory:
You can specify this option when you specify stay in the -k option.
Paging of shared memory is avoided by page-fixing in real memory the shared memory used by in-memory data buffers (fixed specification), which will improve shared memory access performance.
Determine whether page fixing is to be performed based on the size of the shared memory used by the in-memory data buffers and the size of the server machine's real memory. If the page-fixed memory is too large for the real memory, paging will occur frequently, resulting in a shortage of virtual memory. Therefore, you must evaluate the ratio of the shared memory pool to the real memory and all virtual memory. For the formula for determining the size of the shared memory used by in-memory data buffers, see the HiRDB Version 9 Installation and Design Guide.
The guideline for page fixing is that the size of real memory minus the size of shared memory to be page-fixed should be no more than half the size of the swap area minus the size of the shared memory to be page-fixed.
The following notes about specifying fixed apply to AIX:
You can use AIX commands to determine whether the shared memory is fixed in memory. For details, see the AIX documentation.
Specifies that in-memory data is to be released forcibly. When you release in-memory data forcibly, update data in the in-memory data buffers is not applied to the in-memory RDAREAs.
You can specify this option when you specify rels in the -k option.
Specifies (in minutes) the monitoring interval when the execution time of the pdmemdb command is to be monitored. For guidelines on the value to specify and details about the resulting operation, see the description of the pd_cmd_exec_time operand in the system common definition in the manual HiRDB Version 9 System Definition.
If 0 is specified in this option, the command's execution time is not monitored.
If this option is omitted, the value of the pd_cmd_exec_time operand in the system common definition takes effect.
The following are the pdmemdb command's return codes:
Table 2-13 Prerequisites for pdmemdb command execution (status of in-memory data buffers and target RDAREAs)
Specification of -k option in the pdmemdb command | Prerequisites for command execution | Status after command execution | |||
---|---|---|---|---|---|
In-memory data buffer status | RDAREA status | In-memory data buffer status | RDAREA status | ||
stay | Unused status | Command shutdown and closed status# | Database synchronized status | Command shutdown and closed status | |
reload | Buffer error status | Error shutdown and closed status | |||
rels | -d option omitted | Database synchronized status | Command shutdown and closed status | Unused status (in-memory data released) | Command shutdown and closed status |
-d option specified | Database non-synchronized status | Command shutdown and open status | Error shutdown and closed status | ||
Buffer error status | Error shutdown and closed status | ||||
RDAREA error status | Command shutdown and open status | ||||
Buffer error status and RDAREA error status | Error shutdown and closed status | ||||
cancel | Database non-synchronized status | Command shutdown and open status | Buffer error status | Error shutdown and open status |
#: If the status has changed from online reorganization hold to command shutdown and closed, the pdmemdb -k stay command cannot be executed.
Condition during pdmemdb command execution or in the event of an error | Direct or batch specification | ALL specification |
---|---|---|
In-memory data processing is not applicable to at least one of the specified RDAREAs, such as a shared RDAREA | The pdmemdb command results in an error. None of the specified RDAREAs is placed in memory. | The RDAREAs to which in-memory data processing is not applicable are not placed in memory. The other RDAREAs are all placed in memory. |
Processing on at least one of the specified RDAREAs resulted in an error for a reason such as a shortage of shared memory | Processing discussed in 8 in Notes is performed. |