| < Day Day Up > |
|
There are some operator commands and utilities that are useful for gathering information on the status of System Logger, CF list structures and log streams. These facilities provide a function that reveals a great deal of information on your System Logger set up and is easy to use. Further reporting features on how to interpret the SMF88 records are explained in "SMF Type 88 records and IXGRPT1 program" on page 281.
The display logger command is a utility that can be used to determine the operational status of System Logger, the status of individual log streams from a local and sysplex view and determine the utilization of CF list structures. The command output is delivered via System Logger message IXG601I.
The display logger command syntax is shown in Table 7-1.
D LOGGER[,STATUS | ST ] [,Connection[,LSName=logstreamname[[,Jobname=mvsjobname][,SUMM ]] ] ] [,Detail] ,Jobname=mvsjobname[[,LSNAME|,LSN=logstreamname][,SUMM ] ] [,Detail] ,SYSPLEX[,LSName=logstreamname] ,DASDONLY [,Logstream[,LSName=logstreamname][,STRNAME|,STRN=structurename] ] ,DASDONLY [,STRUCTURE|,STR[,STRNAME|STRN=structurename] ] |
See Example 7-1 for some of the more common uses of the display logger command and example output. For a detailed explanation of the entire command syntax, see z/OS MVS System Commands, SA22-7627, topic 4.10.26.
Example 7-1: Display Logger Command sample - LOGR address space
To check the status of the Logger address space: D LOGGER,ST (status of System Logger): IXG601I 09.07.03 LOGGER DISPLAY 058 SYSTEM LOGGER STATUS SYSTEM SYSTEM LOGGER STATUS ------ -------------------- SYS2 ACTIVE
Example 7-2: Display Logger Command sample - Log streams
To check the state of a log stream and the number of system connected to the log stream - expect a vast amount of output in case there are many log streams defined in the LOGR policy: D LOGGER,L or D LOGGER,LOGSTREAM IXG601I 09.13.20 LOGGER DISPLAY 061 INVENTORY INFORMATION BY LOGSTREAM LOGSTREAM STRUCTURE #CONN STATUS --------- --------- ------ ------ #@$#.SQ.EMHQ.LOG I#$#LOGEMHQ 000000 AVAILABLE #@$#.SQ.MSGQ.LOG I#$#LOGMSGQ 000000 AVAILABLE #@$C.#@$CCM$1.DFHLOG2 CIC_DFHLOG_001 000000 AVAILABLE #@$C.#@$CCM$1.DFHSHUN2 CIC_DFHSHUNT_001 000000 AVAILABLE #@$C.#@$CCM$2.DFHLOG2 CIC_DFHLOG_001 000000 AVAILABLE #@$C.#@$CCM$2.DFHSHUN2 CIC_DFHSHUNT_001 000000 AVAILABLE #@$C.#@$CCM$3.DFHLOG2 CIC_DFHLOG_001 000000 AVAILABLE #@$C.#@$CCM$3.DFHSHUN2 CIC_DFHSHUNT_001 000000 AVAILABLE
Example 7-3: Display Logger Command sample- Connections
To check which jobnames are connected to the log stream - this command only displays those log streams that have connectors on the system where the command has been issued: D LOGGER,C or D LOGGER,CONN IXG601I 09.18.44 LOGGER DISPLAY 068 CONNECTION INFORMATION BY LOGSTREAM FOR SYSTEM #@$2 LOGSTREAM STRUCTURE #CONN STATUS --------- --------- ------ ------ ATR.#@$#PLEX.RM.DATA RRS_RMDATA_1 000001 IN USE ATR.#@$#PLEX.MAIN.UR RRS_MAINUR_1 000001 IN USE ATR.#@$#PLEX.DELAYED.UR RRS_DELAYEDUR_1 000001 IN USE ATR.#@$#PLEX.RESTART RRS_RESTART_1 000001 IN USE
Example 7-4: Display Logger Command - R/W Connections
To check which jobnames are connected to the log stream and if read or write connections exists: D LOGGER,C,LSN=SYSPLEX.OPERLOG,DETAIL IXG601I 13.15.29 LOGGER DISPLAY 380 CONNECTION INFORMATION BY LOGSTREAM FOR SYSTEM #@$1 LOGSTREAM STRUCTURE #CONN STATUS --------- --------- ------ ------ SYSPLEX.OPERLOG SYSTEM_OPERLOG 000002 LOSS OF DATA DUPLEXING: LOCAL BUFFERS JOBNAME: BARI ASID: 003A R/W CONN: 000001 / 000000 RES MGR./CONNECTED: *NONE* / NO IMPORT CONNECT: NO JOBNAME: CONSOLE ASID: 000A R/W CONN: 000000 / 000001 RES MGR./CONNECTED: *NONE* / NO IMPORT CONNECT: NO
Example 7-5: Display Logger Command - Structure association
To check which log streams are allocated to a particular structure: D LOGGER,STR,STRN=CIC_DFHLOG_001 IXG601I 09.23.46 LOGGER DISPLAY 083 INVENTORY INFORMATION BY STRUCTURE STRUCTURE CONNECTED --------- --------- CIC_DFHLOG_001 #@$C.#@$CCM$1.DFHLOG2 NO #@$C.#@$CCM$2.DFHLOG2 NO #@$C.#@$CCM$3.DFHLOG2 NO #@$C.#@$CWC2A.DFHLOG2 NO #@$C.#@$CWE2A.DFHLOG2 NO #@$C.#@$CWJ2A.DFHLOG2 NO
Example 7-6: Display Logger Command - Connected log streams
DISPLAY LOGGER,CONN,LSN=ATR* (display all connected log streams that start with ATR): IXG601I 09.39.20 LOGGER DISPLAY 204 CONNECTION INFORMATION BY LOGSTREAM FOR SYSTEM #@$2 LOGSTREAM STRUCTURE #CONN STATUS --------- --------- ------ ------ ATR.#@$#PLEX.RM.DATA RRS_RMDATA_1 000001 IN USE ATR.#@$#PLEX.MAIN.UR RRS_MAINUR_1 000001 IN USE ATR.#@$#PLEX.DELAYED.UR RRS_DELAYEDUR_1 000001 IN USE ATR.#@$#PLEX.RESTART RRS_RESTART_1 000001 IN USE ATR.#@$#PLEX.ARCHIVE RRS_ARCHIVE_1 000001 IN USE
One of the features of the IXCMIAPU program for System Logger (DATA TYPE(LOGR)) is its reporting ability. You can specify either LIST LOGSTREAM(lsname) or LIST STRUCTURE(strname) depending on the type of specific results you are looking for.
Specifying LIST STRUCTURE(strname) DETAIL(YES), where strname is the CF list structure name (wildcards are supported), generates a report listing the structure definition values, the effective average buffer size and the log streams defined to structures listed. You can obtain the effective average buffer size even without the DETAIL(YES) option but not all the other information.
Specifying LIST LOGSTREAM(lsname) DETAIL(YES), where lsname is the log stream name (wildcards are supported), generates a report listing all of the log streams matching the portion of the name specified. The output includes the log stream definition, names of any associated or possible orphan data sets, connection information, structure definitions for the CF-Structure based log streams. Without the DETAIL(YES) keyword, only the log stream definition are reported in the sysout.
In addition, if you need to obtain information about the Couple Data Set, their definition values and the current usage, you need to run the IXCMIAPU utility with the DATA TYPE(LOGR) REPORT(YES) keyword.
This information is valuable in determining your resource usage and planning for future migrations. The information generated from this report can also be used to rebuild your policy; we have included a sample REXX program that uses the IXCMIAPU output to generate your policy definition; see "Rebuilding the LOGR Policy" on page 297 for details.
For sample output of the IXCMIAPU report see Example 7-7.
Example 7-7: IXCMIAPU Sample Report Output
DATA TYPE(LOGR) REPORT(NO) LIST STRUCTURE NAME(RRS_RMDATA_1) DETAIL(YES) LIST LOGSTREAM NAME(ATR.#@$#PLEX.RM.DATA) DETAIL(YES) IXG005I LOGR POLICY PROCESSING LINE# 4 STRUCTURE NAME(RRS_RMDATA_1) LOGSNUM(1) MAXBUFSIZE(1024) AVGBUFSIZE(252) EFFECTIVE AVERAGE BUFFER SIZE(252) LOGSTREAM NAME CONNECTION -------------- ---------- ATR.#@$#PLEX.RM.DATA YES LOGSTREAMS CURRENTLY DEFINED TO THIS STRUCTURE(1) IXG005I LOGR POLICY PROCESSING LINE# 5 LOGSTREAM NAME(ATR.#@$#PLEX.RM.DATA) STRUCTNAME(RRS_RMDATA_1) LS_DATACLAS(LOGR24K) LS_MGMTCLAS() LS_STORCLAS() HLQ(IXGLOGR) MODEL(NO) LS_SIZE(4096) STG_MGMTCLAS() STG_STORCLAS() STG_DATACLAS(LOGR4K) STG_SIZE(0) LOWOFFLOAD(0) HIGHOFFLOAD(80) STG_DUPLEX(YES) DUPLEXMODE(COND) RMNAME() DESCRIPTION() RETPD(0) AUTODELETE(NO) OFFLOADRECALL(YES) DASDONLY(NO) DIAG(NO) LOGGERDUPLEX(UNCOND) EHLQ(NO_EHLQ) LOG STREAM ATTRIBUTES: User Data: 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 LOG STREAM CONNECTION INFO: SYSTEMS CONNECTED: 3 SYSTEM STRUCTURE CON CONNECTION CONNECTION NAME VERSION ID VERSION STATE -------- ---------------- -- ---------- ---------- #@$1 B9C318D7DF130F00 01 000100BC Active #@$3 B9C318D7DF130F00 03 00030030 Active #@$2 B9C318D7DF130F00 02 00020036 Active LOG STREAM DATA SET INFO: DATA SET NAMES IN USE: IXGLOGR.ATR.#@$#PLEX.RM.DATA.<SEQ#> DATA SET NAMES IN USE: IXGLOGR.ATR.#@$#PLEX.RM.DATA.<SEQ#> Ext. <SEQ#> Lowest Blockid Highest GMT Highest Local Status ----- -------- ---------------- ----------------- ----------------- --------------- *00001 A0000000 0000000000004609 07/28/03 20:19:29 07/28/03 16:19:29 CURRENT NUMBER OF DATA SETS IN LOG STREAM: 1 POSSIBLE ORPHANED LOG STREAM DATA SETS: NUMBER OF POSSIBLE ORPHANED LOG STREAM DATA SETS: 0
The LIST option with DETAIL(YES) identifies the 'Orphaned Data sets'. Orphaned data sets are log stream data sets that have been successfully removed by System Logger from the data set directory but they are still in the catalog and potentially exist on DASD.
For example, an IPL with a different LOGR couple data set that does not match your current catalog configuration will cause a lot of orphaned data sets to be created because of the mismatch of the entries between the catalog and the LOGR inventory.
This is not a problem for logger as they are simply ignored by logger during log stream data set access points and it is also safe to manually delete these data sets. Check for message IXG252I, that is issued by System Logger when a data set is being orphaned by System Logger.
There are a couple of exceptions to what was mentioned earlier:
There is a short window where the report shows an orphaned data set that is actually in use. This is when a data set switch just occurred and a new offload data set has been allocated, created an entry in the catalog but not yet in the policy data set. You should realize this particular exception because the orphaned data set will be the one with the highest sequence number.
There is the possibility that some offload data sets can be marked as orphan if they are cataloged in a user catalog shared across multiple sysplexes. If your installation resembles this configuration, you should verify that orphan data sets are not in use in any of the sysplex before deleting.
The LIST option with DETAIL(YES) also identifies 'Delete Pending' data sets. These data sets are offload data sets that are eligible to be deleted by system logger but for some reason, they could not been successfully deleted. One of the most common causes is that when system logger tried to delete the data set, some application was browsing the expired data. In this case, system logger marks the data set 'Delete Pending' and will try to delete the data set at the next offload. You can manually delete these data sets if you feel comfortable that logger doesn't need this data. But we suggest that you let system logger deal with them.
System Logger uses enqueues to serialize access to its resources. In case of a problem, you can verify if there is any deadlock situations by issuing the following commands:
Example 7-8: DISPLAY GRS Command samples
D GRS,C to check if there is any deadlock situation D GRS,LATCH,JOBNAME=IXGLOGR to check for outstanding log streams latches D GRS,RES=(SYSZLOGR,*) to check for ENQ contention Major name=SYSZLOG minor= log stream name
In case the command returns you an outstanding enqueue, you might want to re-issue the command a few times over several minutes, and if the owner of the resource does not change, then there might be a serialization problem.
If the problem persists, refer to the "Collecting documentation for problem diagnosis" on page 76 to verify which documentation is needed to debug the problem.
Unfortunately, there is no Display command that gives you a complete view of the log stream, checking for example that all the offload data sets described in the couple data sets actually exist on DASD and none of them have been deleted manually.
The only time that you realize you have such a problem is when you try to retrieve the data. At that time logger will account for a gap of data in the log stream and it is up to the application to recover from this situation. The exploiter symptoms, that is, messages, can also be useful to determine what to do to recover the situation.
System logger can identify problem with the log stream only when the problem happens in the interim media: in this case, you can see that there is a loss of data with the DISPLAY LOGGER command or with the IXCMIAPU LIST report as show in Example 7-9.
Example 7-9: Display Logger Sample
IXG212E RECOVERY FOR LOGSTREAM SYSPLEX.OPERLOG IN STRUCTURE SYSTEM_OPERLOG WAS NOT SUCCESSFUL. DATA MAY BE LOST FOR THE CONNECTION ON SYSTEM #@$1 DUE TO: NO STAGING DATASETS USED BY THE LOGSTREAM. D, LOGGER,L,LSN=SYSPLEX.OPERLOG D LOGGER,L,LSN=SYSPLEX.OPERLOG IXG601I 17.37.35 LOGGER DISPLAY 132 INVENTORY INFORMATION BY LOGSTREAM LOGSTREAM STRUCTURE #CONN STATUS --------- --------- ------ ------ SYSPLEX.OPERLOG SYSTEM_OPERLOG 000003 LOSS OF DATA SYSNAME: #@$1 DUPLEXING: LOCAL BUFFERS SYSNAME: #@$3 DUPLEXING: LOCAL BUFFERS SYSNAME: #@$2 DUPLEXING: LOCAL BUFFERS Running the IXCMIAPU utility with the LIST option: LINE # CONTROL CARDS 1 DATA TYPE(LOGR) REPORT(NO) 2 LIST LOGSTREAM NAME(SYSPLEX.OPERLOG) DETAIL(YES) IXG005I LOGR POLICY PROCESSING LINE# 2 LOGSTREAM NAME(SYSPLEX.OPERLOG) STRUCTNAME(SYSTEM_OPERLOG) LS_DATACLAS(LOGR24K) LS_MGMTCLAS() LS_STORCLAS() HLQ(IXGLOGR) MODEL(NO) LS_SIZE(100) STG_MGMTCLAS() STG_STORCLAS() STG_DATACLAS(LOGR4K) STG_SIZE(0) LOWOFFLOAD(0) HIGHOFFLOAD(80) STG_DUPLEX(NO) DUPLEXMODE() RMNAME() DESCRIPTION() RETPD(3) AUTODELETE(YES) OFFLOADRECALL(NO) DASDONLY(NO) DIAG(YES) LOGGERDUPLEX(COND) EHLQ(NO_EHLQ) LOG STREAM ATTRIBUTES: POSSIBLE LOSS OF DATA, LOW BLKID: 00000000026A3974, HIGH BLKID: 00000001026A3974 LOW GMT: 05/29/03 20:13:32, WHEN GMT: 05/29/03 21:23:48 User Data: 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 LOG STREAM CONNECTION INFO: SYSTEMS CONNECTED: 3 SYSTEM STRUCTURE CON CONNECTION CONNECTION NAME VERSION ID VERSION STATE -------- ---------------- -- ---------- ---------- #@$1 B9C320DD2404A101 02 00020034 Active #@$3 B9C320DD2404A101 03 00030033 Active #@$2 B9C320DD2404A101 01 000100B7 Active LOG STREAM DATA SET INFO: DATA SET NAMES IN USE: IXGLOGR.SYSPLEX.OPERLOG.<SEQ#> Ext. <SEQ#> Lowest Blockid Highest GMT Highest Local Status ----- -------- ---------------- ----------------- ----------------- ------ *00001 A0000299 000000010D52B2CB 07/28/03 18:02:21 07/28/03 14:02:21 A0000300 000000010D5971D9 07/28/03 18:32:24 07/28/03 14:32:24 A0000301 000000010D6030F0 07/28/03 18:52:09 07/28/03 14:52:09 A0000302 000000010D66F0B1 07/28/03 18:53:49 07/28/03 14:53:49 A0000303 000000010D6DB01C 07/28/03 18:55:16 07/28/03 14:55:16 A0000304 000000010D746F6B 07/28/03 18:56:53 07/28/03 14:56:53 A0000305 000000010D7B2E9F 07/28/03 18:58:32 07/28/03 14:58:32 A0000306 000000010D81ED65 07/28/03 18:59:56 07/28/03 14:59:56 A0000307 000000010D88AD21 07/28/03 19:01:25 07/28/03 15:01:25 A0000308 000000010D8F6C20 07/28/03 19:02:24 07/28/03 15:02:24 A0000309 000000010D962BB5 07/28/03 19:03:13 07/28/03 15:03:13 A0000310 000000010D9CEAB2 07/28/03 19:04:03 07/28/03 15:04:03 A0000311 000000010DA3A9B0 07/28/03 19:04:49 07/28/03 15:04:49 A0000312 000000010DAA687B 07/28/03 19:05:38 07/28/03 15:05:38 A0000313 000000010DB127B7 07/28/03 19:06:32 07/28/03 15:06:32 A0000314 000000010DB7E6A1 07/28/03 19:07:14 07/28/03 15:07:14 A0000315 000000010DBEA614 07/28/03 19:08:02 07/28/03 15:08:02 A0000316 000000010DC564FA 07/28/03 19:08:34 07/28/03 15:08:34 A0000317 000000010DCC241C 07/28/03 19:09:07 07/28/03 15:09:07 A0000318 000000010DD2E30D 07/28/03 19:09:39 07/28/03 15:09:39 A0000319 000000010DD9A1BA 07/28/03 19:10:10 07/28/03 15:10:10 A0000320 000000010DE061A7 07/28/03 19:10:38 07/28/03 15:10:38 A0000321 000000010DE72061 07/28/03 19:11:04 07/28/03 15:11:04 A0000322 000000010DEDDEDC 07/28/03 19:11:31 07/28/03 15:11:31 A0000323 000000010DF49ED8 07/28/03 19:11:59 07/28/03 15:11:59 A0000324 000000010DFB5EA8 07/28/03 19:12:26 07/28/03 15:12:26 A0000325 000000010E021E4A 07/28/03 19:12:54 07/28/03 15:12:54 A0000325 000000010E021E4A 07/28/03 19:12:54 07/28/03 15:12:54 A0000326 000000010E08DE1A 07/28/03 19:13:21 07/28/03 15:13:21 A0000327 000000010E0F9E16 07/28/03 19:13:48 07/28/03 15:13:48 A0000328 000000010E165DE6 07/28/03 19:14:15 07/28/03 15:14:15 A0000329 000000010E1D1D8B 07/28/03 19:14:41 07/28/03 15:14:41 A0000330 000000010E23DD5B 07/28/03 19:15:09 07/28/03 15:15:09 A0000331 000000010E2A9D54 07/28/03 19:15:36 07/28/03 15:15:36 A0000332 000000010E315D24 07/28/03 19:16:03 07/28/03 15:16:03 A0000333 000000010E381CC9 07/28/03 19:16:30 07/28/03 15:16:30 A0000334 000000010E3EDC99 07/28/03 19:16:57 07/28/03 15:16:57 A0000335 000000010E459C95 07/28/03 19:17:24 07/28/03 15:17:24 A0000336 000000010E4C5C62 07/28/03 19:17:51 07/28/03 15:17:51 A0000337 000000010E531C07 07/28/03 19:31:08 07/28/03 15:31:08 A0000338 000000010E59DAF4 07/28/03 19:41:23 07/28/03 15:41:23 A0000339 000000010E609A62 07/28/03 19:50:39 07/28/03 15:50:39 A0000340 000000010E6759A0 07/28/03 20:21:52 07/28/03 16:21:52 A0000341 000000010E6E18B3 07/28/03 20:28:27 07/28/03 16:28:27 A0000342 000000010E74D776 07/28/03 20:35:34 07/28/03 16:35:34 A0000343 000000010E7B9674 07/28/03 20:49:51 07/28/03 16:49:51 A0000344 000000010E8255B3 07/28/03 20:57:44 07/28/03 16:57:44 A0000345 000000010E891511 07/29/03 17:44:13 07/29/03 13:44:13 A0000346 000000010E8FD397 07/29/03 21:11:02 07/29/03 17:11:02 A0000347 000000010E969259 07/29/03 22:16:41 07/29/03 18:16:41 A0000348 000000010E9D521D 07/29/03 23:52:46 07/29/03 19:52:46 A0000349 000000010EA4118E 07/30/03 21:15:00 07/30/03 17:15:00 A0000350 000000010EAAD11D 07/30/03 21:25:38 07/30/03 17:25:38 CURRENT NUMBER OF DATA SETS IN LOG STREAM: 52 POSSIBLE ORPHANED LOG STREAM DATA SETS: NUMBER OF POSSIBLE ORPHANED LOG STREAM DATA SETS: 0
For both CF-Structure based and DASD-only log streams, System Logger marks a log stream as permanently damaged when it cannot recover log data from either DASD staging data sets or the local buffers after a system, sysplex, or coupling facility failure. Applications are notified of the damage via System Logger services and reason codes. Recovery actions are necessary only if warranted for the application.
In the case that System Logger has been unable to recover data for a log stream, its status when using the D LOGGER,L command will be "POSSIBLE LOSS OF DATA".
Note | You should never delete offload data sets (except orphaned offload data sets) manually. This will cause an unrecoverable loss of data! |
| < Day Day Up > |
|