Nonstop Database, HiRDB Version 9 Command Reference

[Contents][Index][Back][Next]

11.5 Notes

  1. The maximum number of pdreclaim commands that can be executed concurrently is the same as for the pdrorg command because pdreclaim executes pdrorg internally. Specifically, the maximum number of pdreclaim commands that can be executed concurrently equals the maximum number of pdrorg commands that can be executed concurrently minus the number of pdrorg commands that are currently executing.
  2. View tables and temporary tables are not subject to processing by pdreclaim. If pdreclaim is executed with a view table or a temporary table specified in the -t option, the KFPL15231-E message is issued and pdreclaim terminates with an error. When all is specified in the -t option, pdreclaim skips processing of view and temporary tables.
  3. pdreclaim cannot process LOB RDAREAs. This means that pdreclaim cannot process any LOB RDAREA containing an abstract data type or plug-in index.
  4. If a UAP accesses a page in an index that is being released, pdreclaim is placed in wait status until the corresponding process transaction is settled. You can specify a wait time for pdreclaim in the -w option.
  5. To terminate pdreclaim forcibly, use the pdcancel command. Other commands such as the OS's kill command cannot terminate pdreclaim.
  6. When executing pdreclaim with the -j option specified, we recommend that you shut down the applicable RDAREAs with the pdhold command to protect UAPs from being placed in lock-release wait status unnecessarily.
    When the -j option is specified in pdreclaim, the RDAREA storing the specified table and index is placed in the EX lock mode, making the entire RDAREA inaccessible. This lock control functions based on the specification of the -w and -n options, as shown in the table below.

    Table 11-10 Lock control during free segment release processing

    Option value Lock-release wait time per processing In the event of a lock error
    -w -n Lock-release wait timeout error Other error
    Retry locking Retries count Processing Processing
    Not specified -- Indefinite -- -- -- --
    Specified Not specified Time specified in the -w option No 0 Displays an error message and then cancels processing. Processing
    Specified Yes Count specified in the -n option Retries locking as many times as the value specified in the -n option.
    If all retries result in a timeout, the system displays an error message and then cancels processing.
    Legend:
    --: Not applicable
    The table below shows the resources that are locked during free segment release processing.

    Table 11-11 Resources that are locked during free segment release processing

    Resource name Resource number Node Purpose Whether or not locking is retried
    pdreclaim 5006 EX Suppression of multiple concurrent executions of pdreclaim on the same resource There are no retries because processing is cancelled if pdreclaim is executing.
    RDAREA name 0001 EX Suppression of access to an RDAREA that is the subject of free segment release processing Locking is retried when a lock-release wait timeout error occurs and the -n option is specified.
    Table name 0002 SR There are no retries because processing is cancelled if pdreclaim is executing.
    Index name 0003 SU
    Table name (during NOWAIT search) 000B SR
    RRAMB 0102 SR No timeout error occurs because this resource is acquired only after the RDAREA has been placed in the EX lock mode. Therefore, there are no retries.
  7. The table below shows the return codes of pdreclaim.

    Table 11-12 Return codes of pdreclaim

    Return code Description Action
    0 Release of used free pages or segments has been completed. None
    4 Processing was cancelled because a timeout occurred while waiting for settlement of a UAP transaction or waiting to execute a search using a holdable cursor. The table and index status is guaranteed because release of used free pages or used free segments was cancelled due to a timeout. The table and indexes can be accessed from UAPs as is. To release the remaining used free pages, re-execute pdreclaim.
    If you have released free pages in an index or executed pdreclaim with the -a option specified, make sure that there is no segment or page that is still being released by pddbst. If you have released free pages in an index and some pages are still unreleased, re-execute pdreclaim or use pdrorg to reorganize the index. If you have executed pdreclaim with the -a option specified and there are still unreleased segments, re-execute pdreclaim or use pdrorg to reorganize the table.
    8 Processing terminated abnormally. The table and index status is guaranteed because release of used free pages was cancelled due to an error. Even after abnormal termination, the table and indexes can be accessed from UAPs. To re-execute pdreclaim, first check the displayed error messages and eliminate the cause of the error.
    If you have specified the -a option, re-execute pdreclaim because there might still be some segments to be released.
    If you have released free pages in an index or executed pdreclaim with the -a option specified, make sure that there is no segment or page that is being released by pddbst. If you have released free pages in an index and some pages are still unreleased, re-execute pdreclaim or use pdrorg to reorganize the index. If you have executed pdreclaim with the -a option specified and there are still unreleased segments, re-execute pdreclaim or use pdrorg to reorganize the table.
  8. If the target table contains a user-defined column of an abstract data type, pdreclaim cannot be executed.
  9. To execute pdreclaim on a shared table or shared index, the system places the RDAREAs containing the shared table or shared index in the EX lock mode. If the corresponding RDAREAs contain other tables or indexes, these tables and indexes cannot be referenced or updated. For details about the lock mode used for executing pdreclaim, see B.2 Lock mode for utilities.
  10. For a HiRDB parallel server configuration, if a transmission message from a back-end server to pdreclaim is delayed for 1 second or more due to traffic on the communication line, the corresponding back-end server's processing result may not be displayed at the standard output. In this case, check the KFPL00714-I message that is output to the message log file or the syslogfile to determine the processing result.
  11. Do not execute a definition SQL statement on a table or index that is being processed by pdreclaim. If a definition SQL statement is so executed, pdreclaim terminates abnormally. If pdreclaim is executing in units of schemas, it processes all tables and indexes that belong to the corresponding schema.
  12. If you selected utf-8 or utf-8_ivs as the character encoding in the pdsetup command, you can use a file with a BOM as the control statements file for pdreclaim; however, the BOM is skipped.