pdorcreate (Create an environment for reflection processing for online reorganization)

Function

The pdorcreate command creates an environment for reflection processing for online reorganization.

You must execute the pdorcreate command before you can execute the pdorbegin command.

The pdorcreate command performs the following environment creation or deletion processing:

You can execute the pdorcreate command only when HiRDB Staticizer Option has been installed and the pd_max_reflect_process_count and pd_inner_replica_control operands have both been specified in the system definition.

Executor

HiRDB administrator

Format

 pdorcreate {[-r RDAREA-name[,RDAREA-name]...]

                  -o RDAREA-name

             |-d}

Options

Specifies the names of RDAREAs contained in the reflection status management table. Each RDAREA contains only information about the reflection status of the server where the RDAREA is located.

Rules
  1. If multiple RDAREAs are specified, the command creates a row-partitioned reflection status management table.
  2. You can specify a maximum of 1023 RDAREA names.
  3. If you specify multiple RDAREAs, make sure that none of the corresponding servers is duplicated.
  4. When the -r option is omitted, the command creates a reflection status management table (non-partitioned table) in the RDAREA specified in the -o option.
  5. The command also creates an index for the reflection status management table for the specified RDAREAs.
  6. To specify an appropriate RDAREA in this command, you must create it in advance as a public user RDAREA in a HiRDB file system area that contains no RDAREAs subject to updatable online reorganization. For details about estimating the required disk space, see Estimating the required disk space below.
  7. If an RDAREA name is enclosed in double quotation marks ("), the system treats it as being case sensitive; otherwise, the system treats it as all uppercase letters. If an RDAREA name contains a space, enclose the entire name in double quotation marks ("). If you are using sh (Bourne shell), csh (C shell), or ksh (Korn shell), you must enclose the entire set of RDAREA names in single quotation marks (').
  8. A shared RDAREA cannot be specified.
  9. To create a reflection status management table for an RDAREA for which a replica RDAREA has been defined, specify the name of the original RDAREA.
Estimating the required disk space
A user RDAREA is used to store a reflection status management table and the index defined for that table. Therefore, the required disk space is the sum of these sizes.
Number of pages required to store the table:
Determine the number of pages required to store the table (with FIX specified) based on the values shown below. For details about how to determine the number of pages required to store a table (with FIX specified), see the HiRDB Version 8 Installation and Design Guide.
  • Total number of lines in the table (a): Number of servers subject to updatable online reorganization that are stored in the corresponding RDAREA#
  • Page length of the user RDAREA (b): Value specified when the RDAREA was created (bytes)
  • Percentage of unused area that is specified with CREATE TABLE (c): 30 (%)
  • Data length of each column ([Figure] di): 70 (bytes)
  • Segment size of the RDAREA that stores the table (g): Value specified when the RDAREA was created (pages)
  • Percentage of available pages in the segment that is specified in CREATE TABLE (h): 10 (%)
# If you are estimating for an RDAREA specified in the -r option, the value is 1.
If you are estimating for the RDAREA specified in the -o option, the value is (total number of back-end servers for HiRDB) - (number of RDAREAs specified in the -r option).
Number of pages required to store the index:
Determine the number of pages required to store the index based on the values shown below. For details about determining the number of pages required to store an index, see the HiRDB Version 8 Installation and Design Guide.
  • Page length of the user RDAREA (b): Value specified when the RDAREA was created (bytes)
  • Percentage of available space that is specified in CREATE INDEX (b): 30 (%)
  • Number of key types with no more than 200 duplicate key values (c): Number of servers subject to updatable online reorganization that are stored in the corresponding RDAREA1[Figure] number of concurrent processes2
  • Average number of duplicate keys with no more than 200 duplicate key values (d): 1
  • Number of key types with 201 or more duplicate key values (e): 0
  • Average number of duplicate keys with 201 or more duplicate key values (f): 0
  • Length of database storage key (g): 12 (bytes)
  • Number of key types whose value is not null (h):
    For an index with UNIQUE specified, the value is the number of servers subject to updatable online reorganization that are stored in the corresponding RDAREA[Figure] number of concurrent processes.
    For an index with UNIQUE not specified, the value is 24.
1 If you are estimating for an RDAREA specified in the -r option, the value is 1.
If you are estimating for the RDAREA specified in the -o option, the value is (total number of back-end servers for HiRDB) - (number of RDAREAs specified in the -r option).
2 This is the value of the pd_max_ferlect_process_count operand in the system definition.

Specifies the RDAREA that stores the reflection status management table of a server, other than the server corresponding to an RDAREA specified in the -r option.

Rules
  1. Make sure that the RDAREAs specified in the -r option are different from the RDAREA specified in the -o option.
  2. To specify an appropriate RDAREA in this command, you must create it in advance as a public user RDAREA in the HiRDB file system area that contains no RDAREAs subject to updatable online reorganization. For details about estimating the required disk space, see the description of the -r option.
  3. If an RDAREA name is enclosed in double quotation marks ("), the system treats it as being case sensitive; otherwise, the system treats it as all uppercase letters. If an RDAREA name contains a space, enclose the entire name in double quotation marks ("). If you are using sh (Bourne shell), csh (C shell), or ksh (Korn shell), you must enclose the entire set of RDAREA names in single quotation marks (').
  4. A shared RDAREA cannot be specified.
  5. To create a reflection status management table for an RDAREA for which a replica RDAREA has been defined, specify the name of the original RDAREA.

Specifies that the reflection environment is to be deleted.

Rules
  1. When you specify the -d option, make sure that you execute the command after all reflection processing (including processing that was suspended) has been completed on HiRDB.
  2. When the -d option is specified, the command checks the reflection processing information that is managed internally by HiRDB. If updatable online reorganization is underway at any of the servers, the command issues the KFPT02023-E interactive message. If this message is issued, check all the RDAREAs at the server where the message was issued to see if they are in online reorganization hold status. If none of the RDAREAs is in online reorganization hold status, enter y; if any of the RDAREAs is in online reorganization hold status, enter n. Note that if you enter y when at least one of the RDAREAs is in online reorganization hold status, the database may be damaged.
  3. When you specify the -d option, you cannot execute the pdorcreate command in the background.
  4. To check the status of RDAREAs, use the pddbls command.

Rules

  1. The pdorcreate command can be executed only while HiRDB is active.
  2. The pdorcreate command must be executed at the server machine that contains the single server or where the system manager is located.
  3. We recommend that you create a reflection status management table as a row-partitioned table for each server (to localize the effects of errors to each server).
  4. When creation of a reflection status management table is completed, the KFPT02020-I message is displayed.
  5. For details about manipulating (creating and deleting) a reflection status management table in an RDAREA for which replica RDAREAs are defined, see the manual HiRDB Staticizer Option Version 7.
  6. A reflection status management table cannot be created in a shared RDAREA.

Notes

  1. The following shows the pdorcheck command's return codes:
    0: Normal termination
    4: Warning termination
    8: Abnormal termination
  2. You can use pddbst's condition analysis for each table to determine the structure of the RDAREA used to store the reflection status management table and whether or not a reflection status management table has been created. For this purpose, specify "ORG_USER"."PDORRFST" as the table name.

Examples

Figure 2-6 shows an example of creating reflection status management tables on BES1, BES2, and BES3. There are three ways to create the tables, but the recommended method is 1.

Figure 2-6 Example of creating a reflection status management table for BES1, BES2, and BES3

[Figure]

Explanation

  1. Command format when the ratio of the number of servers subject to updatable online reorganization to the number of RDAREAs used to store the reflection status management table is 1 to 1:
    pdorcreate -r RD01,RD02 -o RD03
  2. Command format when the ratio of the number of servers subject to updatable online reorganization to the number of RDAREAs used to store the reflection status management table is 1 to n:
    pdorcreate -r RD01 -o RD03
  3. Command format when the reflection status management table is to be stored in a single RDAREA:
    pdorcreate -o RD01