OpenTP1 Version 7 System Definition

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

System journal service definition

Format

set format

[set jnl_max_datasize=maximum-record-data-length]
[set jnl_cdinterval=journal-block-count]
[set jnl_rerun_swap=Y|N]
[set jnl_dual=Y|N]
[set jnl_singleoperation=Y|N]
[set jnl_rerun_reserved_file_open=Y|N]
[set jnl_arc_name=global-archive-journal-service-resource-group-name-
                  @-node-identifier]
[set jnl_arc_buff_size=archive-buffer-size]
[set jnl_arc_max_datasize=maximum-size-of-data-transferred-
                          during-archiving]
[set jnl_arc_terminate_check=Y|N]
[set jnl_arc_rec_kind=journal-record-type[journal-record-type]...]
[set jnl_arc_uj_code="UJ-code[,UJ-code]..."]
[set jnl_arc_check_level=1|2]
[set jnl_arc_trn_stat=Y|N]
[set jnl_unload_check=Y|N]
[set jnl_auto_unload=Y|N]
[set jnl_auto_unload_path
       ="directory-for-storing-unload-journal-files"
      [,"directory-for-storing-unload-journal-files",...]]
[set jnl_max_file_dispersion=maximum-degree-of-parallelism-for-parallel-access]
[set jnl_min_file_dispersion=minimum-degree-of-parallelism-for-parallel-access]
[set watch_time=maximum-response-waiting-time]

command format

{{{{jnladdfg -g file-group-name[ONL]}}
  {{jnladdpf -g file-groupname
            [-e element-file-name]
             -a physical-file-name
            [-b physical-file-name]}}}}

Function

The system journal service definition defines the execution environment to collect journals in the system journal file.

Explanation

set format

jnl_max_datasize=maximum-record-data-length~<unsigned integer> ((32000-4000000)) <<32000>> (Unit: bytes)

Specify the maximum length of record data to be collected in the journal, as computed by the following formula. The specified value must satisfy the conditions as described.

  1. If collecting uj
    (Maximum length of UAP historical information + 8) or greater
  2. If using the DAM service
    (1) If flush is specified in the dam_update_block_over operand
    {a x [(b x 2) + 24] + 128} or greater
    (2) All cases other than 1.
    [a x (b + 24) + 128] or greater, where
    a
    Value of the dam_update_block operand in the DAM service definition,
    b
    [maximum block length + 8] (i.e. the [blksize value + 8] as specified with the damload command or dc_dam_create function) of the DAM file created with the damload command or the dc_dam_create function.
    (3) If the value obtained by calculation in 1. or 2. exceeds 4000000
    The possible largest value below 4000000
    Attempting to use the DAM service to output a journal record larger than the value specified in the jnl_max_datasize operand will cause the journal record to be divided into more than one part which is not larger than the value specified in the jnl_max_datasize operand. Since this record division may increase the number of journal I/Os for the disk, you should specify the possible largest value below 4000000.
  3. If using the TAM service
    Greater than or equal to the length of the cj data to be collected with TAM; that is,
    [a x 2 + 96] or greater, where
    a
    Value of the tam_max_recsize operand in the TAM service definition, rounded up from not lower than 4
  4. If using the MCF service
    Greater than or equal to the length of the AJ, GJ, IJ, MJ, OJ, or CJ data to be collected with MCF
    (1) Data length of AJ
    176
    (2) Data length of GJ
    [Figure](204 + seg)/4[Figure] x 4
    (3) Data length of IJ
    [Figure](172 + seg)/4[Figure] x 4
    (4) Data length of MJ
    [Figure](180 + seg)/4[Figure] x 4
    (5) Data length of OJ
    [Figure](204 + seg)/4[Figure] x 4
    (6) Data length of CJ (serial number)
    This journal is acquired when you send a message by specifying a serial number.
    Outside the transaction: 128
    In the transaction: 160
    (7) Data length of CJ (last serial number)
    This journal is acquired when you send a message by specifying a serial number.
    144
    (8) Data length of CJ (message queue server)
    This journal is acquired when you specify a disk queue as ITQ or OTQ.
    The possible largest value obtained from the following expression is used as the data length:
    When acquiring data for each communication process:
    [Figure]{88 + (24 x ([Figure]msg/q1[Figure] + [Figure]960/q1[Figure])) + msg#}/4[Figure] x 4
    When acquiring data for each UAP process:
    [Figure] {260 + [Figure] {24 x ([Figure]msg/q1[Figure] + [Figure]960/q1[Figure])} + [Figure] msg#}/4[Figure] x 4
    Where,
    [Figure] [Figure]: The value enclosed in these symbols is rounded up to the nearest whole number.
    seg: Segment length
    aps: Number of applications started by the function dc_mcf_execap()
    les: Number of logical terminals used for sending messages
    ap: 32 when a disk is used as the input queue. 0 when memory is used as the input queue.
    msg: Length of messages to be sent or received using a disk queue
    ql: Physical record length of the queue file
    [Figure]: Sum of the estimates for the messages received or sent in the relevant transaction
    #
    Add this if the value of que_io_maxrecsize in the message queue service definition is larger than the message size.
  5. If using the MQA service
    (1) For 32 bits
    j < 716 + 4 x m
    (2) For 64 bits
    j < 744 + 4 x m
    Where,
    j: jnl_max_datasize operand specification value
    m: mqa_max_msg_recnum operand specification value
    To use TP1/Message Queue, see the explanation of the mqa_max_msg_recnum operand in the manual OpenTP1 TP1/Message Queue User's Guide.

jnl_cdinterval=journal-block-count~<unsigned integer> ((100-32000)) <<1000>>

Specify the interval at which to collect a checkpoint dump as the number of journal blocks.

A checkpoint dump is collected when the specified number of journals is stored in the journal file. The journal file must be of a capacity greater than or equal to the number of specified blocks.

jnl_rerun_swap=Y|N~<<N>>

Specify whether journals are to be swapped during an OpenTP1 system restart. A swap enables journals to be physically divided.

Y
Journals are swapped.

N
Journals are not swapped.

jnl_dual=Y|N~<<N>>

Specify whether the journal file is to be duplicated.

Y
Journal file is duplicated.

N
Journal file is not duplicated.

jnl_singleoperation=Y|N~<<N>>

If the journal file is duplicated but only one system can be used, specify whether it can be allocated for swapping.

Y
Single system is allocated for swapping (one-system operation enabled).

N
Single system is not allocated for swapping (one-system operation disabled).

jnl_rerun_reserved_file_open=Y|N~<<N>>

If all file groups opened during a full recovery are re-write prohibited and no swap file exists, specify whether a reserved file, if available, is to be opened.

Y
The reserved file is opened. The presence of a swap file will prevent another system suspension during a full recovery. If re-writable file groups are available, the reserved file is not opened even if there is no swap file.

N
The reserved file is not opened.

jnl_arc_name=global-archive-journal-service-resource-group-name-@-node-identifier~<1-to-8-character identifier> @ <4-character identifier>

Specify the node identifier (the name specified by node-id operand of the system common definition) at which the applicable journal is to be archived, linked by @ with the resource group name of the global archive journal service (the file name of the archive journal service definition) defined at that node.

jnl_arc_buff_size=archive-buffer-size~<unsigned integer> ((2-80)) <<10>> (Unit: Mbytes)

Specify the size of the shared memory buffer to archive the applicable journal. The value can be obtained from the number of journals that are generated during the time between abnormal termination and restart of the global archive journal service. Make sure that the value you specify in this operand is equal to or greater than the value obtained from the following formula:

Value of the jnl_arc_buff_size operand = [Figure](jnl_arc_max_datasize x 1024) / 1048576[Figure] x 3

If the value of the jnl_arc_buff_size operand is less than the value obtained from the above formula, OpenTP1 outputs the KFCA01113-E message, with reason code 427 indicated, during startup of OpenTP1, and stops the startup processing.

This operand is applicable only with the jnl_arc_name operand defined.

jnl_arc_max_datasize=maximum-size-of-data-transferred-during-archiving~<unsigned integer> ((1020-8188))<<1020>> (units: KB)

Specify the maximum size of journal data transferred during archiving to the archive node. Make sure that the value you specify in this operand is equal to or greater than the value obtained from the following formula:

jnl_arc_max_datasize [Figure] [Figure] ([Figure](jnl_max_datasize + 336) / 4096[Figure] x 4096) / 1024[Figure]

If the value of the jnl_arc_max_datasize operand is less than the value obtained from the above formula, OpenTP1 outputs the KFCA01113-E message, with reason code 424 indicated, during startup of OpenTP1, and stops the startup processing.

If you specify a value greater than 1020 in this operand, make sure that the value of the rpc_max_message_size operand in the system common definition is equal to or greater than the value obtained from the following formula:

rpc_max_message_size [Figure] [Figure](jnl_arc_max_datasize x 1024 + 4096) / 1048576[Figure]

If the value of the rpc_max_message_size operand is less than the value obtained from the above formula, OpenTP1 outputs the KFCA01113-E message, with reason code 425 indicated, during startup of OpenTP1, and stops the startup processing. This operand has effect only when the jnl_arc_name operand is specified. Make sure that the value of this operand or a greater value is specified in the jnl_arc_max_datasize operand of the archive journal service definition.

If the value of the jnl_arc_max_datasize operand in the archive journal service definition is less than the value of this operand and the result of the following formula, the KFCA04133-W message, with reason code 427 indicated, is output, and the archiving facility stops:

Value of jnl_arc_max_datasize in the archive journal service definition

[Figure] [Figure] ([Figure](jnl_max_datasize + 336) / 4096[Figure] x 4096) / 1024[Figure]

jnl_arc_terminate_check=Y|N~<<Y>>

Specifies whether all applicable journals are to be archived when the journal service terminates normally or at a planned time.

Y
All journals will be archived and the service terminate.

N
Archive operation will be suspended and the service terminate.

This operand is applicable only with the jnl_arc_name operand defined.

jnl_arc_rec_kind=journal-record-type[journal-record-type]... ~<<acfgimosu>>

Specify the type of the journal record to be archived.

The following shows the specifications for the journal record types and explains them.

Record type Specification Explanation Journal type
FJ f Update information on the DAM file Recovery journal
CJ c Update information on the table to be recovered
SJ s System statistical information Statistical journal
AJ a Send completion information
IJ i Messages in the input queue
OJ o Messages in the output queue
MJ m Message journal
GJ g Receive information
UJ u User-specified information User journal

If this operand is omitted, all the types of journal records are to be archived.

When Y is specified in the jnl_arc_trn_stat operand, the synchronization point journal and the journal for restoring the transaction service will be archived regardless of the specification of this operand.

When this operand is specified, be careful about the specification of the jnl_arc_check_level operand. For details, see the explanation of the jnl_arc_check_level operand.

This operand is valid only when the jnl_arc_name operand is specified.

jnl_arc_uj_code="UJ-code[,UJ-code]..."~<unsigned integer> ((0-255)) <<all of 1 to 255>>

Specify the UJ code to be archived when UJ is an archive target. More than one UJ code can be specified by separating them with a comma (,).

The UJ code can be specified as a hexadecimal number by prefixing 0x. The UJ code can be specified as an octal number by prefixing 0. The two UJ codes connected with a hyphen (-) specify the range.

Examples:
15: 15 in decimal
0x15: 21 in hexadecimal
015: 13 in octal
0-255: All of 1 to 255

If the specification of this operand is omitted, all the UJ codes are archived.

This operand is valid when the jnl_arc_name operand is specified and the jnl_arc_rec_kind operand is not specified or when the jnl_arc_name operand is specified and u is specified in the jnl_arc_rec_kind operand.

jnl_arc_check_level=1|2~<<1>>

Specify the condition of assigning the file group as the swap destination when the global archive journal facility is used.

1
Assign the unloaded or archived file group as the swap destination.

2
Assign the unloaded and archived file group as the swap destination.

When 1 is specified by this operand and the type of the journal to be archived is specified by the jnl_arc_rec_kind operand, the journal file necessary to recover the online session may be lost. Therefore, when the type of the journal to be archived is specified by the jnl_arc_rec_kind operand, specify 2 by the jnl_arc_check_level operand. In this case, to assign the archived file group as the swap destination, use the jnlunlfg command to unload the file group or use the jnlchgfg command to place the file group in the unloaded status forcibly. If an error occurs on the archive facility, use the jnlchgfg command to place the file group in the unloaded status forcibly.

This operand is valid only when the jnl_arc_name operand is specified.

jnl_arc_trn_stat=Y|N~<<Y>>

Specify whether to archive the synchronization point journal and the journal for restoring the transaction service.

Y
The journals are archived.

N
The journals are not archived.

When N is specified, the performance of the following operation commands using the archive journal files is not guaranteed.

This operand is valid only when the jnl_arc_name operand and the jnl_arc_rec_kind operand are specified.

jnl_unload_check=Y|N~<<Y>>

Specify whether to check the unload wait status when determining the file group of the swap destination.

Y
The unload wait status is checked.

N
The unload wait status is not checked.

When Y is specified, if a normal forced start is performed on OpenTP1 following a forced termination or abnormal termination of OpenTP1, the journal file that was being used as the current file during the previous online session is closed. The journal file cannot be used until the status of the file group is changed with the jnlunlfg or jnlchgfg command.

When N is specified, the journals that are not unloaded will be lost. Therefore, N is usually specified when journals are not required such as tests (restoring user files, editing the operation statistics). Note that since journals are lost, some commands that specify the unload journal file may not be used.

For details, see the manual OpenTP1 Operation.

If N is specified on an OpenTP1 node that operates as an archive-journal source node using functionality of the global archive journal service, journals whose transfer is not complete are overwritten. As a result, generations may be missing on the archive node. On an OpenTP1 node that you want to use as an archive-journal source node, do not specify N.

jnl_auto_unload=Y|N~<<N>>

Specify whether to use the automatic unload function. For details about this function, see the manual OpenTP1 Operation.

Y
The automatic unload function is used.

N
The automatic unload function is not used.

If N is specified in the jnl_unload_check operand, the function is unavailable even when you specify Y in the jnl_auto_unload operand.

jnl_auto_unload_path="directory-for-storing-unload-journal-files" [,"directory-for-storing-unload-journal-files",...]~<path name> <<$DCDIR/spool/dcjnlinf/unload>>

Specify the absolute path names of the directories for storing unload journal files when the automatic unload function is used. The maximum length you can specify for each path name is 80 bytes. You can specify a maximum of 32 directories.

This operand has effect only when Y is specified in the jnl_unload_check and jnl_auto_unload operands.

If a path name specified in the jnl_auto_unload_path operand is invalid, the automatic unload function cannot be used. If this operand is not specified, the command assumes that $DCDIR/spool/dcjnlinf/unload is the directory for storing unload journal files.

Each directory specified in the jnl_auto_unload_path operand must have sufficient capacity for storing unload journal files. You can use the following formula to calculate the minimum required disk space for each directory.

Disk space requirements (bytes) = number of records in a journal file x length of a record in a journal file x number of unload journal files to be stored x 1.2

jnl_max_file_dispersion=maximum-degree-of-parallelism-for-parallel-access ~<unsigned integer> ((1-8)) <<1>>

Specify the maximum degree of parallelism when the system journal is accessed in parallel.

The value you specify in this operand is the maximum number of element files used for one file group. If you specify 1 or if you omit this operand, the specification of the jnl_min_file_dispersion operand has no effect.

jnl_min_file_dispersion=minimum-degree-of-parallelism-for-parallel-access ~<unsigned integer> ((1-8)) <<1>>

Specify the minimum degree of parallelism when the system journal is accessed in parallel.

Specify the minimum number of element files required for the file group to continue to operate if some of the element files that constitute the file group become unavailable due to an error or for another reason. The file group no longer operates when the number of available element files is less than the value specified in this operand.

Make sure that the value specified in this operand satisfies the following condition:

jnl_max_file_dispersion [Figure] jnl_min_file_dispersion [Figure] 1

watch_time=maximum-response-waiting-time~<unsigned integer> ((0-65535)) (Unit: seconds)

Specify the maximum waiting time between sending a service request and receipt of a response when communicating between processes by RPC.

OpenTP1 may suspend termination processing for the length of time specified in this operand. Therefore, if you specify a large value, the termination processing of OpenTP1 may take some time.

If no response is received within the specified time, RPC returns a transmission timeout error.

Specify 0 if the system is to wait for a response. When you specify 0, OpenTP1 may not terminate.

If this operand is omitted, the value specified with the watch_time operand of the system common definition is assumed.

Use the default of the watch_time operand of the system common definition for this operand.

We recommend that you do not change the operand unless special tuning is necessary.

If a value that is much greater or smaller than the default of the watch_time operand of the system common definition is specified, a failure may occur causing OpenTP1 to go down.

command format

Described on the following pages.