Nonstop Database, HiRDB Version 9 Installation and Design Guide
![[Contents]](FIGURE/CONTENT.GIF)
![[Index]](FIGURE/INDEX.GIF)
![[Back]](FIGURE/FRONT.GIF)
9.5.2 Considerations for system operation
When a transaction or command (including utilities) is executed, one or more of the following phenomena might occur, causing communication errors. This might result in a transaction or command error, or a unit abnormality might be detected by host-to-host monitoring (the KFPS05289-E message is output).
- There are not enough ports for the remote shell to use
When a HiRDB command is executed, internally a remote shell is executed. For this reason, when the command is being executed on a large number of units or servers, there might not be enough ports for the remote shell to use.
- There are not enough ports for the system to use
When a system has a large number of units or servers, the number of HiRDB server-to-server communication connections increases, and there might not be enough ports for the system to use.
- There is not enough network area
When a system has a large number of units or servers, the number of HiRDB server-to-server communication connections increases, and there might not be enough network area.
Should such phenomena occur, reduce the communications load using the following procedures as applicable.
- Organization of this subsection
- (1) Specify a unit name when you execute a command
- (2) Specify a server name when you execute a command
- (3) Reduce the communications load when you execute the pddbst command
- (4) Reduce the communications load when you execute the pdload command
- (5) Reduce the communications load when you execute the pdrorg command
- (6) Reduce the communications load when you execute the pdcopy or pdrstr command
- (7) Reduce the communications load when you execute SQL statements
- (8) Reduce the communications load when you use floating servers
- (9) Reduce the communications load when you use shared tables
- (10) Notes on simultaneous execution of utilities
- (11) Corrective action to take when the connected user data file is not output
- (12) Limitations
(1) Specify a unit name when you execute a command
When you execute any of the following commands, specify a unit name. This makes the command execute for individual units, so fewer ports are used.
- pdaudbegin, pdaudend, pdaudrm, pdaudswap
- pdcancel
- pdcat
- pdrisechk
- pdstscls, pdstsinit, pdstsopen, pdstsrm, pdstsswap
- pdstbegin, pdstend
- pdcmt, pdrbk, pdfgt
- pdls (a server name can be specified)
However, ports can temporarily run short even when these commands are executed for individual units, if other units generate processing requests while processing of the command is extended. Should this happen, wait a moment and then re-execute the command.
(2) Specify a server name when you execute a command
When you execute any of the following commands, specify a server name. This makes the command execute for individual servers, so fewer ports are used.
- pdchprc
- pdclttrc
- pdjarsync
- pdlogadpf, pdlogchg, pdlogcls, pdloginit, pdlogls, pdlogopen, pdlogrm, pdlogswap, pdlogsync, pdlogunld, pdlogatul
- pdobils
- pdpfresh
However, ports can temporarily run short even when these commands are executed for individual servers, if other servers generate processing requests while processing of the command is extended. Should this happen, wait a moment and then re-execute the command.
(3) Reduce the communications load when you execute the pddbst command
When you execute the pddbst command, execute status analysis in RDAREA units.
(4) Reduce the communications load when you execute the pdload command
When you execute a pdload command, create input files for each partition storage condition to reduce the communications load when the pdload command is executed in RDAREA units.
You can also reduce the communications load by placing the multiple input files that have been created not in one place (on the same machine), but on a server machine that has a table storage RDAREA.
(5) Reduce the communications load when you execute the pdrorg command
When you reorganize a table, unload a table or reload a table using the pdrorg command, execute the command in RDAREA or server units to reduce the communications load.
When you re-create indexes, reorganize indexes, or batch create indexes using the pdrorg command, execute the command in index or server units to reduce the communications load.
(6) Reduce the communications load when you execute the pdcopy or pdrstr command
When you execute the pdcopy or pdrstr command, reduce the communications load as follows.
- Specify a single server name in the -s option, and then execute the command.
- If you use the -r option to specify multiple RDAREAs, specify only RDAREAs on the same back-end server when you execute the command.
You can also reduce the communications load by placing backup files on the server machine that processes commands.
(7) Reduce the communications load when you execute SQL statements
Since accessing data on multiple back-end servers through a single transaction generates data communication between servers, you need to reduce data communication routes between servers as much as possible. Data on multiple back-end servers is accessed when any one of the following conditions is met.
- An SQL statement that specifies row-partitioned tables in multiple back-end servers is called.
- An SQL statement that specifies two or more table in a FROM clause is called.
- An SQL statement that specifies a subquery is called.
- An SQL statement that specifies a set operation is called.
- An SQL statement that updates shared table data is called.
- When multiple SQL statements are called within a single transaction, tables defined in different back-end servers are specified in the FROM clauses of the respective SQLs.
When any one of the above conditions is met, you can reduce the data communication routes between servers by taking the following actions.
- Reduce the number of partitions in row-partitioned tables.
- Specify conditions for partition keys in the SQL search conditions.
- For table joining, align the partitions of the tables in question and make the joining key the partition key.
- Store the data of the various tables that the transaction accesses on the same back-end server.
(8) Reduce the communications load when you use floating servers
The communications load increases when floating servers are used, so avoid floating servers whenever possible. Note that floating servers are used when any one of the following conditions is met:
- An SQL statement that specifies two or more tables in a FROM clause (except when a nested loop join is used as a joining method) is called.
- An SQL statement that specifies a subquery is called.
- An SQL statement that specifies a set operation is called.
- An SQL statement that specifies an ORDER BY clause is called (except when the sort order of a column contained in ORDER BY can be guaranteed by searching an index, even without sort processing for the ORDER BY clause).
- An SQL statement that specifies a GROUP BY clause is called.
- An SQL statement that specifies DISTINCT is called.
- An SQL statement that specifies a derived table in a view table, WITH clause, or FROM clause is called (except when an internal derived table is not created by the SQL that specifies a view table or WITH clause).
For details about conditions that create internal derived tables, see the manual HiRDB Version 9 SQL Reference.
- An SQL statement that specifies a FOR READ ONLY clause is called.
When any one of the above conditions is met, you can reduce the number of floating servers used by taking the following actions.
- Specify FLTS_ONLY_DATA_BES in the SQL optimization option.
- Specify SORT_DATA_BES in the SQL optimization option.
For details about SQL optimization options, see the HiRDB Version 9 UAP Development Guide.
(9) Reduce the communications load when you use shared tables
When shared tables are updated through multiple front-end servers, the communications load increases. For this reason, when you update multiple shared tables, connect the HiRDB client to the same front-end server whenever possible.
(10) Notes on simultaneous execution of utilities
When a system has many back-end servers, utilities might terminate abnormally when many of them are executed simultaneously. Should this occur, take a corrective action such as reducing the number of utilities that execute simultaneously.
(11) Corrective action to take when the connected user data file is not output
When the KFPS05120-W message is output, the connected user data file might not be output under $PDDIR/spool/cnctusrinf. In these cases, execute the pdls -d act, pdls -d prc, and pdls -d trn commands for units individually.
For details about the connected user data file, see the HiRDB Version 9 System Operation Guide.
(12) Limitations
- When there are 65 or more units, the facility for monitoring MIB performance information cannot be used.
- When the limit for the number of ports that the remote shell can use is exceeded, the following commands cannot be executed.
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.