TRANISO
The TRANISO system initialization parameter specifies, together with the STGPROT system initialization parameter, whether you want transaction isolation in the CICS® region.
- TRANISO={NO|YES}
- The permitted values are NO (the default), or YES.
- NO
- This is the default. If you specify NO, or allow this parameter to default, CICS operates without transaction isolation, and all storage in the CICS address space is addressable. If you specify STGPROT=YES and TRANISO=NO, CICS storage protection is active without transaction isolation.
- YES
- Transaction isolation is required. This ensures that the user-key
task-lifetime storage of transactions defined with the ISOLATE(YES)
option is isolated from the user-key programs of other transactions.
If you specify TRANISO=YES and STGPROT=YES, CICS operates with transaction isolation. YES is the default for the STGPROT system initialization parameter.
If you specify TRANISO=YES, but STGPROT=NO is specified, CICS issues an information message during initialization, and operates without transaction isolation. If STGPROT=NO and TRANISO=YES are specified in the system initialization table, an error occurs during assembly (MNOTE 8).
Notes:- VSAM nonshared resources (NSR) are not supported for transactions that use transaction isolation. You should specify ISOLATE(NO) when you define transactions that access VSAM files using NSR. You can also function ship the file request to a remote region. The DFHMIRS program that carries out the request is defined with an EXECKEY of CICS. A CICS-key program has read and write access to CICS-key and user-key storage of its own task and all other tasks, whether or not transaction isolation is active.
- Storage protection, transaction isolation, and command storage protection protect storage from user application code. They add no benefit to a region where no user code is executed; that is, a pure terminal-owning region (TOR) or a pure file-owning region (FOR) (where no distributed program link (DPL) requests are function-shipped).
- Transaction isolation does not apply to 64-bit storage.
- The JVM provides its own mechanisms that limit the risks which transaction isolation addresses. While ISOLATE(NO) can be specified for transactions that are running in a Liberty JVM server, the performance overheads are not removed. Managing the common subspace also imposes the cost of additional TCB switches from the T8 TCB running in Liberty to the QR TCB. Therefore, disabling transaction isolation is recommended.