Nonstop Database, HiRDB Version 9 System Operation Guide
15.4.1 Before reinitializing an RDAREA
(1) RDAREAs that can be reinitialized
The following RDAREAs can be reinitialized:
- User RDAREAs
- User LOB RDAREAs
- Data dictionary LOB RDAREA (for storing objects only)
- Registry RDAREA
- Registry LOB RDAREA
- List RDAREAs
(2) When to reinitialize an RDAREA
RDAREA reinitialization should be performed under the following circumstances:
- The number of rows in a table has increased to the point that no more data can be stored.
- The HiRDB file structure needs to be modified (number of files, size of a HiRDB file).
- The HiRDB file organization (HiRDB file name) is to be changed.
- Back up the RDAREA being reinitialized before and after reinitialization. If an error occurs in the RDAREA after it has been initialized, it cannot be recovered from a backup made before it was reinitialized.
- Because all the data is erased from an RDAREA when it is reinitialized, it is important to unload the data in advance with the database reorganization utility (pdrorg command).
- An RDAREA to be reinitialized should be placed in shutdown and closed status with the pdhold command.
- If you increase the number of HiRDB files, pay attention to the value of the pd_max_file_no operand. If the number of all HiRDB files in RDAREAs exceeds the value of this operand, RDAREAs cannot be added.
- When a user LOB RDAREA is reinitialized, data for the LOB column structure base table remains unchanged. A LOB column is treated as data with a length of 0.
- If a data dictionary LOB RDAREA for storing stored objects is reinitialized, all SQL objects must be re-created with ALTER PROCEDURE ALL.
- When a list RDAREA is reinitialized, all lists in that list RDAREA are deleted. Therefore, to execute a narrowed search, re-create the lists with the ASSIGN LIST statement.
- The database reorganization utility (pdrorg command) cannot be executed for a list RDAREA.
- An RDAREA containing a falsification prevented table cannot be reinitialized.
- When a data dictionary LOB RDAREA (for storing objects) is reinitialized, the SQL_DIV_COLUMN data dictionary table should be referenced to check the name of the data dictionary LOB RDAREA. The following is an example of this referencing:
Example
SELECT RDAREA_NAME FROM MASTER.SQL_DIV_COLUMN
WHERE TABLE_SCHEMA='HiRDB'
AND TABLE_NAME='SQL_ROUTINES'
AND COLUMN_NAME='ROUTINE_OBJECT'
- When the database reorganization utility (pdrorg) is executed on each RDAREA of the partitioned table inside the server, lock is applied to the processing-target RDAREA as well as to tables and indexes (for details, see Lock mode for utilities in the manual HiRDB Version 9 Command Reference). When the pdmod command is used for reinitialization, lock in lock mode (EX) is applied to the processing-target RDAREA and tables. Consequently, if you attempt to re-initialize an RDAREA that is not being reorganized, a locking error might occur. For example, assume that row-partitioned table T1 is stored in RDAREAs R1, R2, and R3. An attempt to reinitialize R2 while R1 is being reorganized will cause a lock error.
- When a registry RDAREA or registry LOB RDAREA is reinitialized, the registry information used by plug-ins must be reregistered.
- When a registry LOB RDAREA is reinitialized, the registry RDAREA must also be reinitialized.
All Rights Reserved. Copyright (C) 2011, 2015, Hitachi, Ltd.