The following message appears starting Sysview 17.0
hh.mm.ss STC00xxx ACF04056 ACCESS TO RESOURCE WRITE_ONLY_xxxx.SMFDATA.SMFD.yyyy TYPE RLOG BY SYSVIEW NOT AUTHORIZED
hh.mm.ss STC00xxx IXG231I IXGCONN REQUEST=CONNECT TO LOG STREAM xxxx.SMFDATA.SMFD.yyyy 100
100 DID NOT SUCCEED FOR JOB SYSVIEW. RETURN CODE: 00000008 REASON CODE:
100 0000080D DIAG1: 00000008 DIAG2: 00000000 DIAG3: 03010000 DIAG4:
100 00000008
hh.mm.ss STC00xxx GSV2808I (SMFDATA) Insufficient SAF authorization.
The values xxxx and yyyy are the &G$SSID (SYSVIEW subsystem ID) and &SMFID (System SMFID) respectively.
The SAF failure is expected as there is no ACF2 rule for this Logstream and the logstream doesn't exist.
Just a few seconds after this error the SMFDATA component successfully connects to the correct LogStream :
hh.mm.ss STC00xxx GSVX271I (SMFDATA) SMFDATA connected to log stream zzz.SMFDATA.SMFD.yyyy type SMFDATA.SMFD
The SMFDATA LogStream is defined in the following members and none of them contains the definition that is failing.
The definitions in SMFDATA,LGLOOKUP, and SVWVDSLB are as follows:
SMFDATA
LOGSTREAM-SMFDATA-NAME zzz.SMFDATA.SMFD.&SMFID
LGLOOKUP
)IF FEATURE=CAPTURE
*Sysname Logname.......... LogStream-Name............|
&SYSNAME SMFDATA zzz.SMFDATA.SMFD.&SMFID
)ENDIF
SVWVDSLB
DEFINE zzz.SMFDATA.SMFD.&SMFID
The DLLIST command Displays the contents of the SYSVIEW DATALIB library.
Browsing the content of the member SVWVDSLB there are 2 definitions. One is for the correct LogStream defined in the parmlib members (zzz.SMFDATA.SMFD.&SMFID) and another is the LogStream xxxx.SMFDATA.SMFD.yyyy
SYSVIEW 17.0 yyyy ---------- DLVIEW, DATALIB View ---------
Command ====> Scroll *===> PAGE
GSVX005I Beginning of data rows ----------------------------- Lvl 3 Row 1-20/20
DataKey SVWVDSLB.....
Datalib Member
Version 0 Format REC Type CHAR Length 80 Number 20 Update 10
Created
Updated
Descr Dynamic SMF log streams
-------------------------------------------------------------------------------
DEFINE SMFDATA
SUPPRESS *:*:EXCLUDE
ENDDEFINE
DEFINE xxxx.SMFDATA.SMFD.yyyy
DESCRIPTION 'SMFDATA log stream '
ENABLE NOEMPTY COMMAND SMFLOG
LOG 0030:00004:INCLUDE
LOG 0030:00005:INCLUDE
LOG 0030:00006:INCLUDE
LOG 0070:00001:INCLUDE
LOG 0090:00040:INCLUDE
ENDDEFINE
DEFINE zzz.SMFDATA.SMFD.yyyy
DESCRIPTION 'SMFDATA defined log stream '
ENABLE NOEMPTY COMMAND SMFLOG
LOG 0030:00004:INCLUDE
LOG 0030:00005:INCLUDE
LOG 0030:00006:INCLUDE
LOG 0070:00001:INCLUDE
ENDDEFINE
If the DataId SVWVDSLB is deleted from the Datalib List (DLLIST) and Sysview is recycled (With COLD start) the problem is not solved and the new SVWVDSLB created in DLLIST still contains the definitions for the 2 LogStreams.
Seems like the definitions in the parmlib members are not loaded.
This article explains why xxxx.SMFDATA.SMFD.yyyy appears when viewing the content of the SVWVDSLB member, and why an error occurs for this LogStream when starting Sysview if this LogStream is not defined in the parmlib members.
In the SMFDATA member of the SYSTEM parmlib there is the following parm:
DynamicSMFLogstreamDefinitions WARM
When this option is WARM the definitions will be loaded from the SYSVIEW persistent data store and the definitions will be merged with existing entries.
Change DynamicSMFLogstreamDefinitions to COLD in SMFDATA member of hlq.CNM4BPRM and restart sysview.
When this option is COLD the definitions will be loaded from the SYSVIEW parmlib member SVWVDSLB and the existing entries will be removed.