Nonstop Database, HiRDB Version 9 Command Reference

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

15.7 Rules and notes

Organization of this section
(1) Rules
(2) Notes
(3) Using files with a BOM
(4) Notes about locking uncommitted deleted data

(1) Rules

  1. pddbst can be executed only while HiRDB is HiRDB is running.
  2. Execute pddbst at the server machine that contains the single server or where the system manager is located.
  3. The maximum number of concurrent executions of pddbst depends on the pd_utl_exec_mode operand value.
    When pd_utl_exec_mode=0 is specified:
    The maximum number of concurrent executions of pddbst is 16.
    When pd_utl_exec_mode=1 is specified:
    The maximum number of concurrent executions of pddbst is equal to the pd_max_users operand value.
  4. An RDAREA to be analyzed (data dictionary RDAREA, data dictionary LOB RDAREA, registry RDAREA, or registry LOB RDAREA) must be in one of the following statuses:
    • Open status without shutdown
    • Command shutdown and open status
    • Referencing-possible shutdown and open status
    For details about user RDAREAs and user LOB RDAREAs, see Appendix C. RDAREA Status During Command Execution (note that temporary table RDAREAs are excluded from RDAREA logical analysis).
  5. You must set the LANG environment variable in order to execute pddbst. You must set the PDLANG environment variable in order to use in the pddbst execution environment a character encoding that is not supported by the OS. For details about LANG and PDLANG, see the manual HiRDB Version 9 UAP Development Guide.

(2) Notes

  1. The following are the pddbst utility's return codes:
    0: Normal termination
    4: Warning termination (invalid specification or skipped analysis processing)
    8: Abnormal termination
  2. The table constitutes the smallest unit of locking when pddbst is executed (shared retrieval mode (SR)). pddbst does not lock indexes or rows. Therefore, if a table and index are both updated during execution of pddbst, pddbst processing is being performed while the updating transaction is not settled. If the updating transaction rolls back, the actual database status might not match the analysis results.
  3. If logical analysis (-k logi specified) or analysis by table (-t specified) is performed on a table whose reorganization by pdrorg terminated abnormally, DATA_UNFINISH is displayed for Status.
  4. When you execute the facility for predicting reorganization time, make sure that the pd_lck_pool_size operand value specified in the single server definition or the dictionary server definition is no less than the default value. Specify at least the value that is obtained from the following formula:
    pd_lck_pool_size operand value = [Figure]y/x[Figure] (kilobytes)
    x: 6 in the 32-bit mode; 4 in the 64-bit mode
    y: Number of locked resources used by pddbst
    y=MAX(a,b,c)
    a: Number of defined RDAREAs [Figure] 30
    b: Number of defined tables + number of defined abstract data types + total number of columns of an abstract data type# + 61
    c: Number of defined indexes + 124
    #: An abstract data type is counted once for each table or column in which it is used.

(3) Using files with a BOM

If you selected utf-8 or utf-8_ivs as the character encoding in the pdsetup command, you might be able to use a file with a BOM as the input file for pddbst. The table below shows whether files with a BOM can be used with pddbst. Note that even when a file with a BOM is used as the input file, the BOM is skipped. No BOM is included in the file that is output by pddbst.

Table 15-12 Whether or not files with a BOM can be used in pddbst (applicable to UTF-8)

Option Input file Use of file with a BOM
-c Standard value definition file Y
-v Control statements file Y

Legend:
Y: Can be used

(4) Notes about locking uncommitted deleted data

If you execute pddbst with the pd_lock_uncommited_delete_data operand value changed from wait to nowait while there are remaining entries, the correct status analysis cannot be performed. Before you change the pd_lock_uncommited_delete_data operand value to nowait, you should use one of the following methods to check that there are no remaining entries: