13.17.7 Using shared tables with a HiRDB/Single Server

This subsection describes for a HiRDB/Single Server the differences from using shared tables with a HiRDB/Parallel Server.

About notes
The notes about using shared tables with a HiRDB/Single Server (manipulation of shared tables, limitations on shared tables, and notes during execution of definition SQL statements, utilities, and operation commands) are basically the same as for a HiRDB/Parallel Server. The principal difference is that with a HiRDB/Single Server, deadlock between servers does not occur because there is only one server. Additionally, the notes about execution of operation commands for a HiRDB/Parallel Server and the notes about using Real Time SAN Replication do not apply to a HiRDB/Single Server.
About the RDAREAs for storing shared tables and shared indexes
In the case of a HiRDB/Single Server, you store shared tables and shared indexes in normal user RDAREAs because shared RDAREAs cannot be defined. You must provide separate user RDAREAs for storing shared tables and indexes from the user RDAREAs for storing non-shared tables and indexes. If the same user RDAREA contains both shared and non-shared tables or indexes, deadlock may occur (while a shared table is being updated, the RDAREAs containing the shared table and shared index are locked. If any application accesses a table or index in these RDAREAs, the application is placed in lock-release wait status).
About the use of local buffers
If a shared table or shared index is updated using local buffers on a HiRDB/Single Server without issuing a LOCK statement and the server process terminates abnormally, HiRDB does not terminate abnormally with abort code Phb3008.
About migrating from HiRDB/Single Server to HiRDB/Parallel Server
If you are migrating from a HiRDB/Single Server to a HiRDB/Parallel Server, make sure that you do not use the database structure modification utility (pdmod) while shared tables and shared indexes are still defined in the HiRDB/Single Server system. The migration procedure is as follows:
  1. Check the HiRDB/Single Server for any defined shared tables or shared indexes.
    Execute the SQL statement shown below (search the SQL_TABLES data dictionary table to check for the names of any defined shared tables in the system). If no table names are displayed, no shared tables are defined. If table names are displayed, those tables are defined.

    SELECT TABLE_NAME
    FROM MASTER.SQL_TABLES
    WHERE SHARED='S'
    WITHOUT LOCK NOWAIT

  2. Delete all shared tables and shared indexes that are defined in the HiRDB/Single Server.
  3. Use the database structure modification utility (pdmod) to migrate the HiRDB/Single Server to a HiRDB/Parallel Server.
  4. Define shared RDAREAs in the HiRDB/Parallel Server, check and, if necessary, revise the shared tables and shared indexes, then store them in shared RDAREAs.