OpenTP1 Version 7 Operation

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

Appendix H.2 Estimating the size of a system journal file

To estimate the size of a system journal file, determine the total number of journals that will be generated from the beginning to the end of online operation. Use the following formula to determine this value:

(Average number of journals per transaction) x (total number of transactions from the start to end of online operation)

+ number of journals for the statistics that are acquired by the dcstats command between the start and end of online operation

+ (number of journals per OpenTP1 RPC issued by a UAP)

x (total number of OpenTP1 RPCs issued from a UAP between the start and end of online operation) (unit: bytes)

The details of the values used in the formula are as follows:

The total size of journal files actually prepared is based on the result of the following formula:

Total number of journals that are generated during online operation x 1.2 (safety factor) + 81920 (unit: bytes)

Note, however, that the size of one journal file must be larger than the result of the following formula:

(12 + [Figure] (j + 336) / 4096) [Figure] x 4096 (unit: bytes)

Legend:
j: Value specified in the jnl_max_datasize operand in the system journal service definition
[Figure] [Figure]: Decimals are rounded up to a whole number.

When you use two or more journal files to accommodate the total journal file size calculated above, you do not need to unload journals until online operation ends. If you cannot allocate the calculated total journal file size, use 1/n (n > 0) of the total size as your total size and allocate the size among two or more journal files.

When you do this, note that the size of one journal file must be greater than the size determined in the above formula. In this case, one journal file is reused n times until the end of online operation. This means the journal file must be unloaded.

To protect against journal file failures, allocate reserve journal files, if possible. A reserve journal file must also have the size shown in the above formula.

If you duplicate journal files by specifying Y in the jnl_dual operand in the system journal service definition, two files are required for each journal file described above, doubling the total size of journal files.

The paired journal files must have the same size. Although OpenTP1 will run if the sizes of the paired journal files are different, OpenTP1 uses the smaller of the sizes as the journal files size. This wastes space.

Table H-4 Number of journals per transaction

Type Condition for generating journals Journal record length Description of variables Type of journal record acquired when condition is satisfied
Fixed part in transaction Journals always generated for each transaction branch 672 + 56 x tb + 40 x tr + 1216 x (tc + tu) + 8 x (ts + tt + tu) + 224 x tx + 208 x ty + 1384 x (tz + tv) tb: Number of transactional RPCs already issued
tr: Number of RMs already accessed
tc: Number of RPCs already issued via CRM
ts: 0 when tb = 0, 1 when tb > 0
tt: 0 when tr = 0, 1 when tr > 0
tu: 0 when tc = 0 and the branch that started a transaction was not called by an RPC via CRM, 1 when tc > 0 or the branch that started a transaction that was called by an RPC via CRM
tx: Number of times RPCs are issued after the UJ is acquired
ty: Number of first RMs that are accessed after the UJ is acquired
tz: Number of RPCs issued via CRM after the UJ is acquired
tv: 0 when tu = 1 or tz = 0, 1 when tu = 0 and tz > 0
cj, hj, pj, tj
When UAP history information is acquired For each acquisition for a transaction branch that acquires UAP history information 114 + ul ul: Length of UAP history information uj
When a DAM is used For each transaction branch when a DAM file is updated within the transaction 128 + [Figure] (24 + du) du: Block length in the DAM file
[Figure]: Total number of updates in the applicable transaction branch
fj
When the number of DAM file updates in a transaction branch exceeds the number of batch update blocks (value specified in the dam_update_block operand in the DAM service definition) if flush is specified in the dam_update_block_over operand in the DAM service definition and the DAM file is updated in the transaction 128 + [Figure] (24 + du x 2) du: Block length in the DAM file
[Figure]: Number of updates in the applicable transaction branch (number of updates after the previous journal output)
fj
When a DAM file specified with the -d option is updated if the -d option is specified in the damfile definition command in the DAM service definition
At each interval specified in the dam_io_interval operand in the DAM service definition and each time validation of a checkpoint dump is completed
64 x 2 -- xj
Each time online backup (dambkup command with the -o option specified) is executed 64 -- xj
When a TAM is used For each transaction branch when a TAM file is updated in the transaction 128 + [Figure] (64 + tu x 2) tu: Record length in the TAM file
[Figure]: Total number of updates in the applicable transaction branch
cj
When MCF is used Each time a message is sent to a logical terminal for which mcftalcle -o aj=yes is specified in the MCF communication configuration definition and the transmission is completed (in a communication process) 176 -- aj
Each time a logical message with a serial number is sent from a UAP process within a transaction to an output logical terminal 160 -- cj
Each time a logical message with a serial number is sent from a UAP process outside a transaction (mcfaalcap -n trnmode=notrn is specified) to an output terminal 128 --
Each time a communication process receives a logical message [Figure] {88 + 24 x ([Figure]mc / ql [Figure]) + mc#1}/4 [Figure] x 4 mc: Length of the received logical message
ql: Length of the queue file physical record
Each time a communication process sends a logical message 112 --
Each time a transaction branch is completed [Figure] {260 + 24 x Sn + [Figure] (24 x ([Figure] mc / ql [Figure])) + [Figure] mc#2} / 4 [Figure] x 4 mc: Length of the sent logical message
ql: Length of the queue file physical record
Sn: Number of logical messages received by the applicable transaction
[Figure]: Total number of logical messages sent by the applicable transaction
Each time a communication process uses the disk queue to send a logical message with a serial number 144 -- --
Each time a message is received from an application (MHP service) for which mcfallcap -j gj=yes is specified [Figure] (204 + mg) /4[Figure] x 4 mg: Length of the received message segment gj
Each time a communication process receives a message from an application for which mcfallcap -j ij=yes is specified [Figure] ([Figure] (172 + si) / 4 [Figure] x 4) si: Same as the input message length for a single segment
Same as each applicable segment length for multiple segments
[Figure]: Total number of journals acquired for all the segments
ij
Each time a communication process receives a message from a logical terminal or sends a message to the logical terminal before the mcftdctmj command is executed on the logical terminal on which the mcftactmj command was previously executed [Figure] ([Figure] (180 + sm) / 4[Figure] x 4) sm: Same as the length of the received or sent message for a single segment
Same as the length of each applicable segment for multiple segments
[Figure]: Total number of journals acquired for all the segments
mj
For an SPP: Each time an application program is started, a message is resent, or a message is sent
For an MHP: Each time an application (MHP service) for which mcfallcap -j oj=yes is specified starts an application program, sends a response message, resends a message, or sends a message
[Figure] (204 + mo) / 4[Figure] x 4 mo: Length of the sent message segment oj
Statistics For each transaction for which a value other than none is specified in the trn_statistics_item operand in the user service definition when Y is specified in the trn_tran_statistics operand in the transaction service definition or the trnstics command is executed with the -s option specified (acquisition of statistics starts from the next transaction) 276 -- sj
When ISAM is used For each transaction branch when an ISAM file is updated in the transaction 104 + [Figure] 1 (52) + [Figure] 2 (40 + iu x 2) + [Figure] 3 (40) + [Figure] 4 (32 + iu) + [Figure] 5 (24) iu: Record length in the ISAM file
[Figure]1: Total number of times open and close functions are issued in the applicable transaction branch
[Figure]2: Total number of times the record update function is issued in the applicable transaction branch
[Figure]3: Total number of times the lock function is issued in the applicable transaction branch
[Figure]4: Total number of times the record addition function is issued in the applicable transaction branch
[Figure]5: Total number of times the record deletion function is issued in the applicable transaction branch
fj

Legend:
--: Not applicable.

#1
Add this value if the value specified in the que_io_maxrecsize operand in the message queue service definition is greater than mc.

#2
Add this value if the value specified in the que_io_maxrecsize operand in the message queue service definition is greater than [Figure]mc.

Table H-5 Number of journals for statistics to be acquired by using the dcstats command

Type Condition for generating journals Journal record length Description of variables Type of journal record acquired when condition is satisfied
Statistics At each interval specified in the m option of the dcstats command after the start of journal output for system statistics by execution of the dcstats command before execution of the dcstats command with the -r option specified (80 + ak x 24) x as ak: Sum of the following values when the types of statistics specified in -k of the dcstats command are replaced by the following values (117 when -k is omitted):
rpc: 4
lck: 3
prc: 3
nam: 3
que: 11
scd: 4
mcf: 5
mqa: 12
dam: 9
tam: 6
trn: 2
cpd: 2
jnl: 21
osl: 19
ist: 7
xat: 3
as: Total number of user servers + 1 when -a is specified in the dcstats command
Number of user servers specified in the dcstats command + 1 when -s is specified in the dcstats command
Specified number of user servers when user servers are specified in the dcstats command without the -a or -s option specified, or 1 when no user servers are specified
sj

Table H-6 Number of journals per RPC

Type Condition for generating journals Journal record length Description of variables Type for journal record acquired when condition is satisfied
Statistics For each RPC when Y is specified in the rpc_delay_statistics operand in the system common definition 80 -- sj
For each RPC when Y is specified in the rpc_response_statistics operand in the user service definition 272 x 2 --

Legend:
--: Not applicable.