HITACHI Inspire The Next

For UNIX Systems

Scalable Database Server

HiRDB Version 8

Installation and Design Guide

3000-6-352(E)


Contents

Notices
Preface
1. Overview of HiRDB System Construction
1.1 System construction procedures
1.1.1 System construction procedure for installing a new HiRDB
1.1.2 Setting up a HiRDB environment
1.1.3 Environment setup for linking to other products
1.2 Organization of HiRDB directories and files
1.3 Upgrading HiRDB
1.3.1 Before upgrading
1.3.2 Replacing an existing version with the new version
1.3.3 Installing a new version while retaining the old version
1.3.4 Upgrading the HiRDB plug-ins
1.3.5 Using Java stored procedures and functions
1.3.6 In the event of an upgrading error
1.3.7 Restoring HiRDB to the previous version when version upgrade fails
1.4 Updating to HiRDB update version
1.4.1 Updating HiRDB
1.4.2 Prerequisites
1.4.3 Update procedure
1.4.4 Update procedure when the system switchover facility is used
1.4.5 Cautions
1.4.6 Operation considerations
1.4.7 Related product limitations and considerations
1.4.8 Operation when an error occurs during installation
1.5 Using JP1/Software Distribution to execute online distribution of HiRDB
1.5.1 Online distribution procedure
1.5.2 Preparations on JP1/Software Distribution Workstation
1.5.3 Notes about online distribution
1.6 Migrating to HiRDB in 64-bit mode (HP-UX, Solaris, and AIX 5L versions only)
1.6.1 Required products
1.6.2 64-bit mode migration method
1.6.3 In the event of an SQL object migration error
1.6.4 In the event of a 64-bit-mode migration error (restoring the old version)
2. Installation
2.1 Pre-installation procedure
2.1.1 Checking and modifying OS parameters
2.1.2 Registering the HiRDB administrator
2.1.3 Setting up a HiRDB group
2.1.4 Creating the installation directory
2.2 HiRDB installation procedure
2.2.1 Installing HiRDB
2.2.2 Installing option program product
2.2.3 Installing plug-ins
2.3 Post-installation procedures
2.3.1 Creating the HiRDB directory
2.3.2 Registering HiRDB and option program products in the operating system
2.3.3 Setting environment variables
2.3.4 Setting a remote shell execution environment
2.3.5 Notes about background execution of HiRDB operation commands
2.3.6 Preparing to create the HiRDB file system area
2.4 Uninstallation of HiRDB
3. Setting Up an Environment Using the Simple Setup Tool
3.1 Overview of the simple setup tool
4. Setting Up an Environment Using the System Generator
4.1 HiRDB/Single Server
4.1.1 Introduction to the system generator
4.1.2 System generator operation
4.1.3 Optimizing the HiRDB operation environment
4.1.4 Output of initialization commands to log
4.2 HiRDB/Parallel Server
4.2.1 HiRDB system construction procedure when system generator is used
4.2.2 System configuration created by the system generator
4.2.3 System generator operation
4.2.4 Optimizing the HiRDB operation environment
4.2.5 Output of initialization commands to log
4.3 RDAREA generation by the system generator
5. Setting Up an Environment Using Commands
5.1 Overview of environment setup using commands
5.2 Creating the HiRDB system definitions
5.2.1 Creating HiRDB system definitions (HiRDB/Single Server)
5.2.2 Creating HiRDB system definitions (HiRDB/Parallel Server)
5.2.3 Sharing HiRDB system definition files (HiRDB/Parallel Server)
5.2.4 Modifying HiRDB system definitions (excluding UAP environment definitions)
5.2.5 Modifying a UAP environment definition
5.3 Creating HiRDB file system areas
5.3.1 Types of HiRDB file system areas
5.3.2 Using character special files
5.3.3 Creating a large file
5.3.4 Duplexing a HiRDB file system area using a mirror disk
5.3.5 Example 1 (creating a HiRDB file system area for RDAREAs)
5.3.6 Example 2 (creating a HiRDB file system area for system files)
5.3.7 Example 3 (creating a HiRDB file system area for work table files)
5.3.8 Example 4 (creating a HiRDB file system area for utilities)
5.3.9 Example 5 (creating a HiRDB file system area for list RDAREAs)
5.4 Creating system files
5.4.1 Creating system log files
5.4.2 Creating synchronization point dump files
5.4.3 Creating status files
5.4.4 Example of system file creation (HiRDB/Single Server)
5.4.5 Example of system file creation (HiRDB/Parallel Server)
5.5 Creating system RDAREAs
5.5.1 Basics
5.5.2 Example 1 (HiRDB/Single Server)
5.5.3 Example 2 (HiRDB/Parallel Server)
5.6 Starting HiRDB for the first time
5.7 Creating user RDAREAs
5.7.1 Basics
5.7.2 Example 1 (HiRDB/Single Server)
5.7.3 Example 2 (HiRDB/Parallel Server)
5.8 Creating user LOB RDAREAs
5.8.1 Basics
5.8.2 Example 1 (HiRDB/Single Server)
5.8.3 Example 2 (HiRDB/Parallel Server)
5.9 Creating data dictionary LOB RDAREAs
5.9.1 Basics
5.9.2 Example 1 (HiRDB/Single Server)
5.9.3 Example 2 (HiRDB/Parallel Server)
5.10 Creating list RDAREAs
5.10.1 Basics
5.10.2 Example 1 (HiRDB/Single Server)
5.10.3 Example 2 (HiRDB/Parallel Server)
6. Setting Up the Plug-in Environment
6.1 Overview of plug-in environment setup
6.1.1 Environment setup procedure
6.1.2 Notes on using plug-ins
6.2 Upgrading plug-ins
6.2.1 Notes about upgrading
6.2.2 Upgrading procedure
6.3 Deleting plug-ins
7. Creating Databases
7.1 Overview of database creation
7.1.1 Preparing for database creation
7.1.2 Database creation procedure
7.1.3 Database update log acquisition mode
7.1.4 Notes on data storage for a table for which an index with the unique attribute has been defined
7.1.5 Loading a large amount of data (data loading with the synchronization point specification)
7.1.6 Loading data into a row-partitioned table (Creating divided-input data files)
7.1.7 Input data file UOC
7.1.8 Deleting unneeded RDAREAs
7.2 Creating a row partitioned table
7.3 Creating a table with a LOB column
7.4 Creating a table containing a plug-in-provided abstract data type
7.5 Creating a table containing a user-defined abstract data type
7.5.1 Defining an abstract data type
7.5.2 Defining a table
7.5.3 Defining an index
7.5.4 Storing data in a table
7.5.5 Database update log acquisition methods
7.5.6 Checking the data storage status
7.6 Handling errors during batch index creation
7.6.1 When data was loaded in log acquisition mode or pre-update log acquisition mode
7.6.2 When data was loaded in no-log mode
7.7 Handling utility abnormal termination errors during data loading with the synchronization point specification
7.7.1 Overview of error handling procedure
7.7.2 Example
8. Linking to Other Products
8.1 Linking to the replication facility
8.1.1 Linking to HiRDB Datareplicator
8.1.2 Linking to HiRDB Dataextractor
8.2 Linking with an OLTP system
8.2.1 OLTP products supported for linking
8.2.2 HiRDB XA library
8.2.3 Example of HiRDB system configuration with OLTP linkage
8.2.4 Transaction transfer
8.2.5 Registering HiRDB in the transaction manager
8.2.6 Information to be registered in the transaction manager
8.2.7 Example of registering in the transaction manager
8.2.8 Modifying the registration information in the transaction manager
8.2.9 Methods for re-establishing connection between the transaction manager and HiRDB
8.2.10 Monitoring HiRDB using the TP1/Resource Manager Monitor facility
8.2.11 Notes
8.3 Linking to the inner replica facility
8.4 Linking to the HiRDB External Data Access facility
8.5 Linking to JP1
8.5.1 Reporting events to JP1/Base
8.5.2 Managing events by JP1/IM
8.5.3 Automatic job execution using JP1/AJS2 linkage
9. Designing a HiRDB/Single Server
9.1 System design for a HiRDB/Single Server
9.1.1 System design
9.1.2 System configuration
9.2 Designing HiRDB file system areas
9.2.1 Designing HiRDB file system areas for RDAREAs
9.2.2 Designing HiRDB file system areas for system files
9.2.3 Designing HiRDB file system areas for work table files
9.2.4 Designing HiRDB file system areas for utilities
9.2.5 Designing HiRDB file system areas for list RDAREAs
9.2.6 Maximum sizes of HiRDB file system areas
9.3 Designing system files
9.3.1 Designing system log files
9.3.2 Designing synchronization point dump files
9.3.3 Designing status files
9.4 Placing RDAREAs
9.4.1 Placing system RDAREAs
9.4.2 Placing data dictionary LOB RDAREAs
9.4.3 Placing user RDAREAs
9.4.4 Placing user LOB RDAREAs
9.4.5 Placing list RDAREAs
10. Designing a HiRDB/Parallel Server
10.1 System design for a HiRDB/Parallel Server
10.1.1 System design
10.1.2 System configuration of HiRDB/Parallel Server
10.1.3 Setting up multiple front-end servers
10.1.4 Recovery-unnecessary front-end server
10.2 Designing HiRDB file system areas
10.2.1 Designing HiRDB file system areas for RDAREAs
10.2.2 Designing HiRDB file system areas for system files
10.2.3 Designing HiRDB file system areas for work table files
10.2.4 Designing HiRDB file system areas for utilities
10.2.5 Designing HiRDB file system areas for list RDAREAs
10.2.6 Maximum sizes of HiRDB file system areas
10.3 Designing system files
10.3.1 Designing system log files
10.3.2 Designing synchronization point dump files
10.3.3 Designing status files
10.4 Placing RDAREAs
10.4.1 Placing system RDAREAs
10.4.2 Placing data dictionary LOB RDAREAs
10.4.3 Placing user RDAREAs
10.4.4 Placing user LOB RDAREAs
10.4.5 Placing list RDAREAs
10.5 Heterogeneous system configuration for HiRDB/Parallel Server
11. Designing a Multi-HiRDB
11.1 System design for a multi-HiRDB
11.1.1 Installing a multi-HiRDB
11.1.2 Setting the environment for a multi-HiRDB
11.2 Notes about upgrading
12. Designing Global Buffers and Local Buffers
12.1 Allocating global buffers
12.1.1 Allocating index global buffers
12.1.2 Allocating data global buffers
12.1.3 Allocating LOB global buffers
12.1.4 Global buffer allocation procedures
12.2 Setting the number of global buffer sectors
12.3 Specifying the prefetch facility
12.4 Specifying the asynchronous READ facility
12.5 Specifying deferred write processing
12.6 Specifying the facility for parallel writes in deferred write processing
12.7 Setting the commit-time reflection processing
12.8 Global buffer LRU management
12.8.1 LRU management methods
12.8.2 LRU management suppression settings for a UAP
12.9 Page access using the snapshot method
12.10 Global buffer pre-writing
12.11 Local buffers
12.11.1 Allocating index local buffers
12.11.2 Allocating data local buffers
12.11.3 Allocating local buffers
12.11.4 Considerations about local buffers
13. Designing Tables
13.1 Items to be examined during table design
13.2 Normalizing a table
13.3 Table row partitioning
13.3.1 Table row partitioning
13.3.2 Types of table row partitioning
13.3.3 Forms of table row partitioning
13.3.4 Effects of table row partitioning
13.3.5 Design considerations
13.3.6 Notes on table row partitioning
13.4 Table matrix partitioning
13.5 Defining a trigger
13.5.1 Application standards
13.5.2 Defining a trigger
13.5.3 Trigger considerations
13.5.4 Trigger management
13.5.5 Error recovery
13.6 Creating a view table
13.7 Specifying the FIX attribute
13.8 Specifying a primary key
13.9 Specifying a cluster key
13.10 Specifying the suppress option
13.11 Specifying the no-split option
13.12 Specifying a binary data column
13.12.1 BLOB type
13.12.2 BINARY type
13.12.3 BLOB type and BINARY type usage
13.13 Specifying the WITHOUT ROLLBACK option
13.14 Specifying the falsification prevention facility
13.14.1 Specification
13.14.2 Restrictions
13.14.3 Changing a falsification-unprevented table to a falsification prevented table
13.14.4 Error operation
13.15 Table containing a repetition column
13.16 Table containing an abstract data type
13.17 Shared tables
13.17.1 Effects and criteria
13.17.2 Definition method
13.17.3 Manipulating shared tables
13.17.4 Limitations on shared tables
13.17.5 Notes about execution of definition SQL statements, utilities, and operation commands
13.17.6 Notes about using Real Time SAN Replication
13.17.7 Using shared tables with a HiRDB/Single Server
13.18 Referential constraints
13.18.1 About referential constraints
13.18.2 Defining referential constraints
13.18.3 Check pending status
13.18.4 Data manipulation and integrity
13.18.5 Procedure for checking table integrity
13.18.6 Referential constraints and triggers
13.18.7 Notes about linkage with related products
13.19 Check constraints
13.19.1 About check constraints
13.19.2 Defining check constraints
13.19.3 Check pending status
13.19.4 Data manipulation and integrity
13.19.5 Procedure for checking table integrity
13.19.6 Notes about linkage with related products
13.19.7 Migrating check constraint tables to 64-bit mode (HP-UX, Solaris, and AIX 5L versions only)
14. Designing Indexes
14.1 Items to be examined during index design
14.2 Index
14.2.1 Creating an index
14.2.2 Index creation taking into account optimizing based on cost
14.2.3 Single-column index vs. multicolumn index
14.2.4 Using multiple indexes
14.2.5 Using an index with an exceptional key value set
14.2.6 Effects on performance of the number of indexes
14.3 Index row partitioning
14.4 Plug-in index
14.5 Plug-in index row partitioning
15. Designing RDAREAs
15.1 Items to be examined during RDAREA design
15.2 Segments
15.2.1 Determining the segment size
15.2.2 Setting the percentage of free pages in a segment
15.2.3 Allocating and releasing segments
15.3 Pages
15.3.1 Determining the page length
15.3.2 Setting the percentage of unused space in a page
15.3.3 Allocating and releasing pages
15.4 Designing list RDAREAs
15.5 Free space reusage facility
15.5.1 Data storage search modes
15.5.2 Free space reusage facility
15.5.3 Effects and applicability
15.5.4 Considerations
15.5.5 Environment settings
15.5.6 Checking execution status
15.5.7 Notes
15.6 Shared RDAREAs (HiRDB/Parallel Server only)
16. Storage Requirements for HiRDB
16.1 Estimating the memory size required for a HiRDB/Single Server
16.1.1 Memory allocation
16.1.2 Calculation of required memory
16.1.3 Formulas for shared memory used by a unit controller
16.1.4 Formulas for shared memory used by a single server
16.1.5 Formula for size of shared memory used by global buffers
16.1.6 Formulas for size of memory required during SQL execution
16.1.7 Formula for size of memory required during SQL preprocessing
16.1.8 Formula for size of memory required during BLOB data retrieval or updating (HiRDB/Single Server)
16.1.9 Formula for size of memory required during block transfer or array FETCH
16.2 Estimating the memory size required for a HiRDB/Parallel Server
16.2.1 Memory allocation
16.2.2 Calculation of required memory
16.2.3 Formulas for shared memory used by a unit controller
16.2.4 Formulas for shared memory used by each server
16.2.5 Formula for size of shared memory used by global buffers
16.2.6 Formulas for size of memory required during SQL execution
16.2.7 Formula for size of memory required during SQL preprocessing
16.2.8 Formula for size of memory required during BLOB data retrieval or updating (front-end server)
16.2.9 Formula for size of memory required during BLOB data retrieval or updating (back-end server or dictionary server)
16.2.10 Formula for size of memory required during block transfer or array FETCH (front-end server)
17. Determining RDAREA Size
17.1 Determining the size of a user RDAREA
17.1.1 Calculating the size of a user RDAREA
17.1.2 Calculating the number of table storage pages
17.1.3 Calculating the number of index storage pages
17.2 Determining the size of a data dictionary RDAREA
17.2.1 Determining the size of a normal data dictionary RDAREA
17.2.2 Determining the size of a data dictionary RDAREA for storing database state analyzed tables and database management tables
17.3 Determining the size of the master directory RDAREA
17.4 Determining the size of the data directory RDAREA
17.5 Determining the size of a data dictionary LOB RDAREA
17.6 Determining the size of a user LOB RDAREA
17.7 Determining the size of the registry RDAREA
17.8 Determining the size of the registry LOB RDAREA
17.9 Determining the size of the list RDAREA
18. Determining System File Size
18.1 Determining the size of system log files
18.1.1 Total size of system log files
18.1.2 Amount of system log information output during table definition
18.1.3 Amount of system log information output during index definition
18.1.4 Amount of system log information output during table data updating
18.1.5 Amount of system log information output during database creation by a utility
18.1.6 Amount of system log information that is output depending on the SQL manipulation
18.1.7 Amount of system log information that is output during the execution of the RDAREA automatic extension facility
18.1.8 Amount of system log information output when the PURGE TABLE statement is executed
18.1.9 Amount of system log information output when the free page release utility (pdreclaim) is executed
18.1.10 Amount of system log information that is output during execution of the facility for predicting reorganization time
18.2 Determining the size of synchronization point dump files
18.3 Determining the size of status files
19. Determining Work Table File Size
19.1 Overview of determining the size of a work table file
19.2 Determining the size of a HiRDB file system area (pdfmkfs -n command)
19.2.1 Size of a work table file used by an SQL statement
19.2.2 Size of a work table file used by a utility
19.3 Determining the maximum number of files (pdfmkfs -l command)
19.4 Determining the maximum number of extensions (pdfmkfs -e command)
20. Storage Requirements for Utility Execution
20.1 Determining the file sizes required for utility execution
20.1.1 File sizes required for the execution of the database load utility (pdload)
20.1.2 File sizes required for the execution of the database reorganization utility (pdrorg)
20.1.3 File sizes required for the execution of the statistics analysis utility (pdstedit)
20.1.4 File sizes required for the execution of the database condition analysis utility (pddbst)
20.1.5 File sizes required for the execution of the database copy utility (pdcopy)
20.1.6 File sizes required for the execution of the dictionary import/export utility (pdexp)
20.1.7 File sizes required for the execution of the optimizing information collection utility (pdgetcst)
20.1.8 File sizes required for the execution of the access path display utility (pdvwopt)
20.1.9 File sizes required for execution of the rebalancing utility (pdrbal)
20.1.10 File sizes required for execution of the integrity check utility (pdconstck)
20.2 Determining the memory size required for utility execution
20.2.1 Memory size required for the execution of the database initialization utility (pdinit)
20.2.2 Memory size required for the execution of the database definition utility (pddef)
20.2.3 Memory size required for the execution of the database load utility (pdload)
20.2.4 Memory size required for the execution of the database reorganization utility (pdrorg)
20.2.5 Memory size required for the execution of the database structure modification utility (pdmod)
20.2.6 Memory size required for the execution of the statistics analysis utility (pdstedit)
20.2.7 Memory size required for the execution of the database condition analysis utility (pddbst)
20.2.8 Memory size required for the execution of optimizing the information collection utility (pdgetcst)
20.2.9 Memory size required for the execution of the database copy utility (pdcopy)
20.2.10 Memory size required for the execution of the database recovery utility (pdrstr)
20.2.11 Memory size required for the execution of the dictionary import/export utility (pdexp)
20.2.12 Memory size required for the execution of the access path display utility (pdvwopt)
20.2.13 Memory size required for the execution of the rebalancing utility (pdrbal)
20.2.14 Memory size required for execution of the free page release utility (pdreclaim) and global buffer residence utility (pdpgbfon)
20.2.15 Memory size required for execution of the integrity check utility (pdconstck)
21. Specifying OS Parameters
21.1 Estimating HP-UX OS parameter values
21.2 Estimating Solaris OS parameter values
21.3 Estimating AIX 5L OS parameter values
21.4 Estimating Linux kernel parameter values
21.5 Estimating the sizes of message queues and semaphores
21.6 Listen queue specified values
22. Simple Installation of a HiRDB/Single Server
22.1 Overview of simple installation
22.1.1 What can be done with simple installation
22.1.2 Hardware environment for simple installation
22.1.3 Storage requirements for simple installation
22.1.4 Sample files provided for simple installation
22.1.5 HiRDB system configuration for simple installation
22.1.6 Simple installation procedure
22.2 Setting a HiRDB environment
22.2.1 Setting information (superuser's task)
22.2.2 Preparing for a HiRDB file system area
22.2.3 Installing HiRDB, and the HiRDB Text Search Plug-in
22.2.4 Specifying information in the OS (superuser's task)
22.2.5 Setting the environment (HiRDB administrator's task)
22.3 Using the system generator to construct a HiRDB system
22.4 Registering a plug-in into HiRDB (to extend database facilities)
22.4.1 Using the system generator to register a plug-in into HiRDB
22.4.2 Registering registry information required for the plug-in
22.5 Defining a table and index
22.6 Storing SGML documents in the table
22.7 Making retrievals from the SGML documents
22.7.1 Using the interactive SQL execution utility to retrieve from manual's SGML documents
22.7.2 Creating a UAP to retrieve from manual's SGML documents
23. Simple Installation of a HiRDB/Parallel Server
23.1 Overview of simple installation
23.1.1 What can be done with simple installation
23.1.2 Hardware environment for simple installation
23.1.3 Storage requirements for simple installation
23.1.4 Sample files provided for simple installation
23.1.5 HiRDB system configuration for simple installation
23.1.6 Simple installation procedure
23.2 Setting a HiRDB environment
23.2.1 Setting information (superuser's task)
23.2.2 Preparing for a HiRDB file system area
23.2.3 Installing HiRDB, and the HiRDB Text Search Plug-in
23.2.4 Setting environment in OS (superuser's task)
23.2.5 Setting the environment (HiRDB administrator's task)
23.3 Using the system generator to construct a HiRDB system
23.4 Registering a plug-in into HiRDB (to extend database facilities)
23.4.1 Using the system generator to register a plug-in into HiRDB
23.4.2 Registering registry information required for the plug-in
23.5 Defining a table and index
23.6 Storing SGML documents in the table
23.7 Making retrievals from the SGML document
23.7.1 Using the interactive SQL execution utility to retrieve from manual's SGML documents
23.7.2 Creating a UAP to retrieve from manual's SGML documents
24. Sample Files
24.1 Overview of sample files
24.1.1 Names of sample files
24.2 System configuration and table definition information
24.3 Use of the sample files
24.3.1 Creating the configuration files
24.3.2 HiRDB file system area names and user-created file names used with sample database
25. Communication Between HiRDB Servers and HiRDB Clients
25.1 Connecting to a HiRDB server with an FQDN specified
25.1.1 Connection to a HiRDB server with an FQDN specified
25.1.2 Using the multi-connection address facility to connect to a HiRDB server
25.2 Settings for a DNS server to manage IP addresses
25.3 Settings when a firewall and NAT are installed
25.3.1 When a firewall is installed on the HiRDB/Single Server side
25.3.2 When a firewall and NAT are installed on the HiRDB/Single Server side
25.3.3 When a firewall is installed on the HiRDB/Parallel Server side
25.3.4 When a firewall and NAT are installed on the HiRDB/Parallel Server side
25.4 Port numbers used by HiRDB
25.4.1 Estimating the number of ports that a unit will use
25.4.2 Notes
25.4.3 Calculation examples
25.5 HiRDB reserved port facility
25.5.1 Estimation of the HiRDB reserved port facility
25.6 Using immediate acknowledgment in HiRDB communications (AIX 5L only)
Appendixes
A. HiRDB Maximum and Minimum Values
A.1 Maximum and minimum values for the system configuration
A.2 Maximum and minimum values for databases
A.3 Maximum and minimum values for HiRDB file names
B. Questions and Answers
Index