JOURNALMODEL 资源定义
JOURNALMODEL 资源定义 CICS® 日志名称 (或标识) 与 z/OS® 系统记录器所管理的关联物理日志流之间的连接,或者定义日志名称与 SMF 日志之间的连接。
虽然它们主要用于用户日志,但您也可以为系统日志和正向恢复日志定义日志模型 (仅限非 RLS)。 但是,对于正向恢复日志,建议您定义 VSAM 目录中用于正向恢复的所有日志流名称。 这对于以 RLS 方式处理的 VSAM 文件是必需的,但对于非 RLS 方式文件是可选的。
与日志控制表不同,您不需要为 CICS 使用的每个日志定义日志模型。 请改为定义一些通用模型定义,这些定义用于描述到大多数 CICS 日志的日志流名称的映射。 您可能会发现可以使用 CICS 提供的缺省模型,并且不需要定义您自己的任何模型。 除通用模型外,您还可以定义需要特殊处理的必需特定模型 (例如, SMF 日志记录或与其他日志流合并)。
您可以随时更改 JOURNALMODEL 定义,但 CICS 已使用模型定义创建的任何日志条目都不能反映更改,除非您首先使用 DISCARD JOURNALNAME () 命令删除现有条目。
- 对于文件控制自动日志记录,如 FILE 资源中所指定 (或对于 BDAM 文件,在 DFHFCT 宏条目上)
- 对于终端控制自动日志记录,如 PROFILE 资源定义中所指定
- 对于在 FILE 资源中指定的正向恢复日志记录
- 用于使用 API 日志命令 (例如 EXEC CICS WRITE JOURNALNUM 命令) 进行用户日志记录。
有关使用 BAS 的信息,请参阅 使用 BAS 日志模型资源定义。
缺省 JOURNALMODEL
如果 CICS 找不到已安装的 JOURNALMODEL 定义,那么它将采用一组缺省属性。
内置缺省定义的属性:
DEFINE JOURNALMODEL(OTHERS) GROUP(LOGS)
JOURNALNAME(*)
STREAMNAME(&USERID..&APPLID..&JNAME.)
TYPE(MVS)JOURNALNAME (*) 是 $TAG1 CICS $TAG2 使用的缺省日志模型 (如果日志名没有匹配的 JOURNALMODEL 条目)。
语法
属性
- DESCRIPTION(文本)
- 您可以提供在此字段中定义的资源的描述。 描述文本的长度最多可以为 58 个字符。 您可以使用的字符没有任何限制。 但是,如果使用括号,请确保对于每个左括号都有一个匹配的右括号。 如果使用 CREATE 命令,那么对于文本中的每个单撇号,将编码两个撇号。
- GROUP( 组名 )
- 每个资源定义都必须具有 GROUP 名称。 资源定义成为组的成员,并在安装组时安装在 CICS 系统中。可接受的字符:
A-Z 0-9 $ @ #
有效字符在代码页 IBM® -037 显示时列出。 如果使用不同的 EBCDIC 代码页,请注意 变体角色 中记录的变体字符。
输入的任何小写字符都将转换为大写。
GROUP 名称的长度最多可以为 8 个字符。 小写字符被视为大写字符。
- JOURNALMODEL(名称)
- 指定此 JOURNALMODEL 定义的名称。
日志模型名称用于引用 CSD 文件中的特定 JOURNALMODEL 定义-它不必对应于 CICS 日志名称。 但是,如果省略 JOURNALNAME 属性,那么还会将 JOURNALMODEL 名称用作 JOURNALNAME。
该名称的最大长度为 8 个字符。
可接受的字符:A-Z 0-9 $ @ #
当代码页为 IBM-037时,有效字符将按其呈现方式列出。 如果使用不同的 EBCDIC 代码页,请注意 变体角色 中记录的变体字符。
除非使用 CREATE 命令,否则您输入的任何小写字符都将转换为大写。
- JOURNALNAME(日志)
- 指定应用此定义的日志名。 如果省略 JOURNALNAME 属性,那么您在 JOURNALMODEL 属性上指定的名称将用作日志名称。 名称可以是日志的特定名称,也可以是通用名称,尽管将通用名称用于系统日志和日志记录模型并不能起到多大作用。
该名称的最大长度为 8 个字符。
可接受的字符:A-Z 0-9 $ @ #
当代码页为 IBM-037时,有效字符将按其呈现方式列出。 如果使用不同的 EBCDIC 代码页,请注意 变体角色 中记录的变体字符。
除非使用 CREATE 命令,否则您输入的任何小写字符都将转换为大写。
您可以定义的名称的格式如下所示:- 对于系统日志
- 要为系统日志定义 JOURNALMODEL ,请将主系统日志流的名称指定为 DFHLOG ,将辅助日志流的名称指定为 DFHSHUNT。 仅为 CICS 区域中的每个日志流安装一个日志模型。
CICS为 DFHLOG , DFHSHUNT 和 DFHLGLOG 提供的定义包含在 DFHLIST 中的组 DFHLGMOD 中。
- 对于日志记录
- 要为日志记录定义 JOURNALMODEL ,请将名称指定为 DFHLGLOG。 请参阅 规划日志流以供日志记录 (DFHLGLOG) 使用 ,以获取有关日志记录用途的更多信息。
- 对于自动日记帐
- 对于自动日志 (文件控制和终端控制) ,名称的格式必须为 DFHJnn ,其中 nn 是范围在 1 到 99 之间的数字。 该名称可以是日志的特定名称,也可以是通用名称。
- 对于用户日记帐
- 对于用户日志,名称最多可以是 8 个字符,并且可以是日志的特定名称或通用名称。 如果需要与 CICS Transaction Server for z/OS之前的发行版兼容,那么名称的格式必须为 DFHJnn ,其中 nn 是范围在 1 到 99 之间的数字。
- 对于正向恢复日志 (非 RLS)
- 对于非 RLS 正向恢复日志,名称的格式必须为 DFHJnn ,其中 nn 是范围在 1 到 99 之间的数字。 该名称可以是日志的特定名称,也可以是通用名称。
注: 不能定义日志模型以用于 VSAM RLS 正向恢复日志。 CICS 直接从 VSAM 目录获取标准 LSN ,因此不需要日志模型来获取 LSN。使用特殊符号% , + 和 * 定义通用名称,如下所示:- 您可以使用% 或 + 符号来表示日志名称中的任何单个字符。
- 您可以使用名称末尾的 * 符号来表示任意数量的字符。 单个 * 的缺省名称用于匹配在更特定名称上匹配的任何日志名称。
如果有多个已安装的 JOURNALMODEL 定义与日志名称匹配,那么 CICS 会选择最佳匹配项,如下所示:- 如果存在具有完全匹配的特定 JOURNALNAME 的 JOURNALMODEL ,那么 CICS 将使用此模型。
- 如果没有完全匹配,那么会将日志名称与匹配的通用条目进行比较,并使用最具体的条目。在比较名称以查看哪个更具体时,将按字符对名称进行比较。 它们最初的不同之处在于:
- 如果一个具有离散字符 (不是% , + 或 *) ,而另一个具有通用字符 (% , + 或 *) ,那么将使用具有离散字符的字符。
- 如果一个具有% 或 + ,而另一个具有 * ,那么将使用具有% 或 + 的值。
- 如果存在重复的 JOURNALMODEL 定义 (即,具有相同 JOURNALNAME 的定义) ,那么 CICS 将使用最后一个已处理的定义。
注意: 仅使用单个星号 (*) 定义完全通用的日志名称时请小心。 如果您尚未为系统日志定义特定日志模型 (使用日志名称 DFHLOG) ,并且日志流名称是标准文字名称,那么这一点尤为重要。 如果使用 JOURNALNAME (*) 定义日志模型,并且没有为系统日志定义日志模型,那么 CICS 将使用在通用模型定义上定义的日志流名称。 如果通过通用日志模型将其他日志和正向恢复日志分配给同一日志流,那么这将导致问题。 - STREAMNAME( { &USERID..&APPLID..&JNAME. | 流名称模板 } )
- 指定显式 z/OS System Logger 日志流名称或用于构造日志流名称的模板。 STREAMNAME 仅可用于通过 MVS 的 LOGSTREAMTYPE 定义的日志模型。四个符号名称 (最多可以使用三个符号名称) 是:
- &USERID.
- CICS 区域用户标识的符号名称,最多可包含 8 个字符。 如果区域没有用户标识,那么将使用字符串 "CICS"。
- &APPLID.
- 系统初始化参数上指定的 CICS 区域 APPLID 的符号名称,最多可包含 8 个字符。注: If you are using XRF and you specify the APPLID system initialization parameter as APPLID=(generic_applid,specific_applid), it is the generic applid that CICS uses when resolving &APPLID..
- &JNAME.
- 期刊名的符号名,该期刊名通过特定或通用匹配引用该期刊模型定义。 最多可包含 8 个字符。
- &SYSID.
- 在 SYSIDNT 系统初始化参数上指定的 CICS 区域 SYSID 的符号名称。 如果未指定 SYSIDNT ,那么将使用字符串 "CICS"。
默认符号名称集为:&USERID...&APLID...&JNAME。
例如: &USERID..&APPLID..&JNAME. =CICSHA##.CICSHAA1.DFHJ02其中:- CICSHA##
- 是所有 AOR 使用的 CICS 区域用户标识。
- CICSHAA1
- 是一个 AOR 的 applid。
- DFHJ02
- 是自动日志的日志名称。
符号名称的替代集合可以是:&sysid...&applid...&jname. =其中:
SYSA.CICSHAA1.DFHJ02- SYSA
- 是 SYSIDNT 系统初始化参数指定的字符串。
- CICSHAA1
- 是一个 AOR 的 applid。
- DFHJ02
- 是自动日志的日志名称。
CICS 按定义安装 JOURNALMODEL 资源,包括符号名称。- 流名称模板
- 日志流名称可以是针对 z/OS 数据集名称定义的非限定名或限定名:
- 非限定名: 1 到 8 字母数字或本地字符 ($# @) 或连字符。 名称的第一个字符必须是字母或本地字符 (A-Z $# @)。
- 限定名: 由句点连接的多个名称,最多 26 个字符。 限定名中的每个名称都必须遵循非限定名的规则,每个限定名 (最后一个除外) 后跟一个句点。 例如,
name_1.name_2...name_n其中名称数受 26 个字符的限制。
有关限定和非限定数据集名称规则的更多信息,请参阅 z/OS MVS JCL 参考。
您可以构造由特定字符 (来自允许的集合) 和符号名称 (用于替换) 混合组成的日志流名称。 替换后,该名称必须符合限定和非限定日志流名称的规则,并且不得超过 26 个字符 (包括句点)。 因此,如果限定名中的每个名称最多使用 8 个字符,那么您只能使用三个名称,第一个名称和第二个名称以及第二个名称和第三个名称之间用句点分隔。 例如:
CICSDA##.CICSDAA1.FWDRECOV用于正向恢复日志流。 当日志名称首次解析为 JOURNALMODEL 定义时,通过符号替换来确定日志流名称。
通过为多个 CICS 常规日志指定相同的日志流名称,可以合并来自不同 CICS 区域的日志流。 但是,您无法将常规日志流与 CICS 系统日志合并,也无法合并来自不同 CICS 区域的系统日志。
当合并来自不同 CICS 系统的日志流时,日志数据块将以严格的 z/OS 系统记录器 时间戳记顺序写入其日志流。 但是,来自不同 CICS 区域的各个记录可能不在不同块之间的严格时间戳记序列中
不应将 CICS 日志流与其他产品生成的日志流合并,除非已准备好任何读取日志流的程序来处理这些格式。
安全性说明: 当您向 CICS 和 z/OS System Logger定义了日志流名称时,必须确保对 RACF® (或等效的外部安全性管理器) 定义了必需的安全性权限。 在尝试启动引用新日志流的 CICS 区域之前,必须进行此安全性授权。 RACF 支持用于此目的的 LOGSTRM 常规资源类。 - TYPE( { 虚拟 | MVS | SMF } )
- 指定要写入日志记录的位置。 最多可以包含 5 个字符,并且可以具有以下值:
- DUMMY
- 将不写入任何日志记录。 例如,您可以使用此项来禁止不需要的日志记录,而不更改应用程序,也不更改文件或概要文件资源定义。
如果不需要系统日志或日志日志,请根据需要在 JOURNALMODEL 定义上为 DFHLOG , DFHSHUNT 和 DFHLGLOG 指定哑元。
- MVS
- 记录将写入 z/OS 系统记录器 日志流。 日志流的名称是在 STREAMNAME 属性中指定的。
- SMF
- 日志记录将以 SMF 格式写入 SMF 日志,而不是写入 z/OS System Logger 日志流。注: CICS 系统日志或正向恢复日志不允许使用 SMF。
示例
CICS JOURNALMODEL 的资源定义命令示例。
DEFINE JOURNALMODEL(USERJNL8) GROUP(LOGS)
JOURNALNAME(DFHJ08)
TYPE(SMF) DEFINE JOURNALMODEL(USERJNL9) GROUP(LOGS)
JOURNALNAME(DFHJ09)
TYPE(DUMMY) DEFINE JOURNALMODEL(UJ10TO19) GROUP(LOGS)
JOURNALNAME(DFHJ1%)
STREAMNAME(&USERID..MERGED.USRJRNLS)
TYPE(MVS) DEFINE JOURNALMODEL(LOGOFLOG) GROUP(LOGS)
JOURNALNAME(DFHLGLOG)
STREAMNAME(CICSVR.SHARED.DFHLGLOG)
TYPE(MVS) DEFINE JOURNALMODEL(JNLMODL1) GROUP(LOGS)
JOURNALNAME(USERJNL*)
STREAMNAME(&USERID..ANYCORP.&JNAME..UK)
TYPE(MVS)写入以 USERJNL 开头的任何用户日志或自动日志的记录都会合并到日志流中,日志流名称用 CICS region userid 代替 &USERID。 和 &JNAME 的期刊名称。
仅安装了这些示例,其他形式的日志记录,例如使用 PROFILE 定义的终端控制自动消息日志记录 ... JOURNAL (25) ,使用缺省 JOURNALMODEL ,将记录写入日志流 CICSHA##.CICSHAA3.DFHJ25。
