AW: Re: What is JES2 waitning for after $TSPL(volser),SPACE=MAX?
Thanks for all the help, everyone It turned out I was simply too impatient. As someone suggested, JES2 was still about to format the additional space. It just took so much longer that I had expected and the AWAITING(E2) is not very helpful. Anyway, no need for a PMR. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: What is JES2 waitning for after $TSPL(volser),SPACE=MAX?
That was me. I remember the AWAITING() from a similar action 1 year ago. Since E2 was the member you gave the commands, this member did the formatting and you should have been able to see that JES2 doing an abnormally large amount of I/O on the volume. The MAS was waiting for E2 to finish the formatting. I didn't look at the I/O rate; just was mislead by the AWAITING(E2) thinking that there is something to be done before JES2 starts formatting. The message could be better. I hope that while this formatting was going on that the systems were not hung up and that they were running normally using the original extents while the E2 system was formatting the new extent (but not yet using it). Once the format finished the extra space could then have been added to the available space on that volume and this information would then be passed to the other member(s). I didn't specificlly look for, but have not seen or heard of any problems while the space was being formatted. In summary, the expansion ran smooth. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Silly problem with WLM Classification Rules
I am unable to distinguish between 'SE=other'and No SE (SE=blanks). SE=* matches on any blank and non-blank SE. SE=%* should match on a non-blank first character, but seems to do the same as SE=*. The % mask appears to match also on blanks, although the PF1 doc suggests otherwise. Unless 'No SE' is represented by hex zeroes and therefor matches on %. I tried on z/OS 2.1 and got the same result. However online help and the book seem to indicate that % matches on any character. I take this to mean all 256 possibililties. In the online help, I have found that you can use comparison operators. So I tried: SE%* SEA* The latter should match if no SCHENV is specified, since both blank and X'00' should be lower than A. Neither worked. Nor did a A or A*. I could not readily find comparison operators in the FM, only in the WLM dialog help. Not sure if this is new with z/OS 2.1. If you can see this on V1.13, you might want to try 'A*' and eventually open a PMR if it does not work for you either. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: Silly problem with WLM Classification Rules
About comparison operators: the z/OS 1.13 help says: You can use a relational operator for the priority work qualifier only. Same on 2.1. Sorry I have overlooked this. However this is worth a PMR since the diaog silently accepts it, at least on an SE type entry. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: Purging output
$POJ*,JM=IDC1031*,ALL,CC=(4) Change this to: $PO JQ,JM=IDC1031*,ALL,CC=(4) I regularly use this, just using different filters such as DAYS. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: Purging output
Looks like the CC=(4) is an invalid keyword for a filter. According to the FM, it's not the keyword but the value which is invalid. I've never used this keyword but from the FM, it seems you can't select on the actual CC value but only by category. Categories are ABENDED, CANCELLED, CODE, etc., etc. However the listing CC as part of the $PO command might bean error; the explanation to the keywords says Display or Displays. Not meaningfull a s part of a purge. Also, I just tried some keywords and got errors. Using CC= on a $DO... works as expected. I'll submit an RCF to get this clarified. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: IKJ56500I COMMAND OPUTX NOT FOUND
Forget all those Irish commands (OGET, OPUT, etc.) and start unsing UNIX commands. Here are two JCL's I'm using to run UNIX commands in batch: // EXPORT SYMLIST=*// SET DIR='newdir'//UNIXCMDS EXEC PGM=BPXBATCH //STDINDD DUMMY //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYMRESDD DD SYSOUT=* //STDPARM DD *,SYMBOLS=(JCLONLY) SH cd /some/directory ; ls -l ; mkdir -m 700 DIR./* Note that STDPARM is the BPXBATCH vatiant of PARMDD, and don't confuse them. You start with the usual SH to tell BPXBATCH to run a shell. All the rest of STDPARM is input to that shell, so you need to adhere to shell command line syntax. Chain multiple commands with the ;. Note also that you must not try to insert comment, because the first # will start a comment that goes to the end of STDPARM. Advantage: You can user JCL symbols (and if your jobclass allows it, also system symbols) in the UNIX commands. The second job is solving the problem of running commands via su in batch. Its not perfect, but mostly does the trick for me. First, there is a JCL procedure: //BPXSU PROC SOUT='*',TMP='tmp-command-file-for-BPXSU-job' //INPUT EXEC PGM=IEBGENER //SYSPRINT DD DUMMY //SYSIN DD DUMMY //SYSUT1DD DDNAME=COMMANDS //SYSUT2DD PATH='/tmp/SYSUID-TMP', // PATHDISP=(KEEP,DELETE), // PATHOPTS=(OWRONLY,OCREAT,OEXCL), // PATHMODE=(SIRUSR,SIWUSR) //EXECUSS EXEC PGM=BPXBATCH,PARM='SH su' //STDOUTDD SYSOUT=SOUT. //STDERRDD SYSOUT=SOUT. //STDIN DD PATH='/tmp/SYSUID-TMP', // PATHDISP=(DELETE,DELETE) //STDPARM DD DUMMY Second, here is how to use it: // EXPORT SYMLIST=*// SET FILE='somefile'//UNIXCMDS EXEC BPXSU//COMMANDS DD *,SYMBOLS=(JCLONLY) ls -l ; chown foo:bar FILE./* The rules for COMMANDS are similar to the above. Note that this is STDIN, not STDPARM, so the SH is not need. Also, fi system symbols are allowed, the you can make the temp file name more unique using date, time or other system symbols. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: IKJ56500I COMMAND OPUTX NOT FOUND
THAT IS AWESOME! Wow! Thanks, You're welcome. I recognize from seeming my onw post that it has been reformatted in a bad way. A couple of line feeds have been dropped. Hope you can decifer the samples anyway. If not, tell me and I will try reposting them. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: IKJ56500I COMMAND OPUTX NOT FOUND
Yeah but that's only as of z/OS 2.1 ?.as a ISV we support backlevel versions also ?so one has to come up with two solutions ? If you need the symbol substitution, then yes, this requires z/OS V2.1. The STDPARM has been there at least in V1.13. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: publibz-infocenter-knowledgecenter
What's a quick link to this week's z/OS v2r1 software shelflist? Bring back LOOKAT! ...and bring back BookMaster and BookServer as well. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: JCLLIB in started proc?
The START command processor needs to build and initiate some JCL to start what was requested. The JCL will be sent to a subsystem that is able to process that JCL. The Master Subsystem (MSTR) and the Job Entry Subsystems 2 (JES2) and 3 (JES3) are the ones I know. The first operand of the START command is shown as membername in the System Command reference. For brevity, I name it MEMBER hereafter. In order to build the JCL, the START command processor performs the following steps: 1) Search for MEMBER in the data sets allocated under IEFJOBS in the master scheduler JCL. If found, this member *must* contain a job, i.e. it must start with a JOB statement. 1a) If it does, this JCL is used in step 4) below. Continue with step 4). 1b) If it does not, an error is returned and processing ends. 2) Search for MEMBER in the data sets allocated under IEFPDSI in the master scheduler JCL. 2a) If found and if the member contains a job, i.e. it starts with a JOB statement, this JCL is used in step 4) below. Continue with step 4). 2b) If found but the member does *not* start with a JOB statement, it is ignored. Continue with step 3). 3) Build a job to invoke MEMBER as JCL procedure, i.e. build a JOB statement and an EXEC PROC=MEMBER statement. Continue with step 4). 4) Send the JCL found or built in steps 1) - 3) to the subsystem for processing. The subsystem is the primary JES by default, or the one named on SUB=, if specified. Exception: If MEMBER is the name of a subsystem (IEFSSNxx), then the default subsystem is MSTR. 5) START command processing ends. After this point, the *subsystem* has to process the JCL. If that requires the resolution of JCL procedures or JCL INCLUDEs, the only source for this is the procedure library of the subsystem. - If the subsystem is the Master Subsystem, then the only procedure library is the set of data sets allocated under IEFPDSI in the master scheduler JCL. - If the subsystem is one of the JESs, then the only procedure library is the set of data sets allocated under the PROCnn (nn is the set assigned to STC jobclass in JES). HTH --Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: JCLLIB in started proc?
If that requires the resolution of JCL procedures or JCL INCLUDEs, the only source for this is the procedure library of the subsystem. So you are saying that JCLLIB is never accepted in a started PROC? No, I didn't mean to imply that. I just leaft out JCLLIB inadvertently. This statement should read: If that requires the resolution of JCL procedures or JCL INCLUDEs, the only source for this is the procedure library of the subsystem, and any JCLLIB library which may be present in the JCL *if* the JCL was the result of step 1a) or 2a). I changed this also in the text below. -- Peter Hunkeler -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Peter Hunkeler Sent: Saturday, December 20, 2014 12:51 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: AW: Re: JCLLIB in started proc? The START command processor needs to build and initiate some JCL to start what was requested. The JCL will be sent to a subsystem that is able to process that JCL. The Master Subsystem (MSTR) and the Job Entry Subsystems 2 (JES2) and 3 (JES3) are the ones I know. The first operand of the START command is shown as membername in the System Command reference. For brevity, I name it MEMBER hereafter. In order to build the JCL, the START command processor performs the following steps: 1) Search for MEMBER in the data sets allocated under IEFJOBS in the master scheduler JCL. If found, this member *must* contain a job, i.e. it must start with a JOB statement. 1a) If it does, this JCL is used in step 4) below. Continue with step 4). 1b) If it does not, an error is returned and processing ends. 2) Search for MEMBER in the data sets allocated under IEFPDSI in the master scheduler JCL. 2a) If found and if the member contains a job, i.e. it starts with a JOB statement, this JCL is used in step 4) below. Continue with step 4). 2b) If found but the member does *not* start with a JOB statement, it is ignored. Continue with step 3). 3) Build a job to invoke MEMBER as JCL procedure, i.e. build a JOB statement and an EXEC PROC=MEMBER statement. Continue with step 4). 4) Send the JCL found or built in steps 1) - 3) to the subsystem for processing. The subsystem is the primary JES by default, or the one named on SUB=, if specified. Exception: If MEMBER is the name of a subsystem (IEFSSNxx), then the default subsystem is MSTR. 5) START command processing ends. After this point, the *subsystem* has to process the JCL. If that requires the resolution of JCL procedures or JCL INCLUDEs, the only source for this is the procedure library of the subsystem, and any JCLLIB library which may be present in the JCL *if* the JCL was the result of step 1a) or 2a). - If the subsystem is the Master Subsystem, then the only procedure library is the set of data sets allocated under IEFPDSI in the master scheduler JCL. - If the subsystem is one of the JESs, then the only procedure library is the set of data sets allocated under the PROCnn (nn is the set assigned to STC jobclass in JES). -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: JCLLIB in started proc?
Thanks. Digressing ... any idea of the WHY for this restriction? What restriction? The restriction that JCLLIB is only allowed in cased 1a) and 2a)? Only guessing here. I suspect that it would have made things too complex if JCLLIB was allowed anywhere in JCL. Imagine a procedure was resolved and within that part, a new JCLLIB was defined before another procedure had to resolved, etc., etc. Nesting is allowed for up to 15 levels. So a design decision was taken to allow JCLLIB only between the JOB statement and the first EXEC statement in a job. If not case 1a) or 2a), the JOB and EXEC statements are built by the START command processor. There is no way to place a JCLLIB, unless the START command itself would support some keyword to specify a library that trigged building a JCLLIB statement between the JOBs and the EXEC statments. It does not, and honestly why should it? You can create jobs including JCLLIB easily. If this is not an answer to your question, please be more specific. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: //STARTING JOB ... was: Re: JCLLIB in started proc?
Nice summary, Peter. Thanks Do you happen to know who puts in //STARTING JOB ... when MEMBER is only contained in the JES2 proclib concatenation and not in MSTJCL? You probably mean //STARTING EXEC ... not //STARTING JOB, do you? Well, again, I can only tell from what is my understanding and experience. I don't have insight into the code. That said, I think this is just the way the start command processor builds the EXEC statement. Why does it matter? I have a MEMBER that starts with a JOB statement in a proclib. As long as that proclib is in both MSTJCL and JES2 proclib concat, all is well. As soon as I remove the proclib containing MEMBER from MSTJCL, I get a //STARTING JOB ... in my JCL and of course a JCL error because my JCL already contains a JOB statement. MEMBER is started task JCL and gets started either using ASCRE or a regular START command. I tried to describe that jobs are supported only if they are present in either IEFJOBS or IEFPDSI of MSTJCLxx. This is true even if the job is to be started under a JES. The START command processor reads the JCL from IEFJOBS or IEFPDSI and submits it. Suppose such a job is complete, i.e. it does *not* reference any PROCs nor does it have any INCLUDE to resolve. In this case no further lookup neither in IEFPDSI nor in PROCxx is due. On the other hand, *if* a lookup is required to resolve either a PROC or an INCLUDE, then either IEFPDSI *or* PROCxx will be searched, depending on whether the job runs under MSTR or JESx, resp. I am assuming that it is JES2 that puts these extraneous two lines in. No, as I wrote, it is the START command processor that builds these two statements. It is my understanding that the way those statements are build is not different whether they're gonna be sent to the MSTR or to a JESx subsystem. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: //STARTING JOB ... was: Re: JCLLIB in started proc?
If we could solve your problem we could also solve mine presumably. Sorry, Charles, I've lost track of what you initial problem was. Would you like to reiterate? -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: AW: //STARTING JOB ...
You probably mean //STARTING EXEC ... not //STARTING JOB, do you? I am on vacation right now and cannot test. I know that two lines are inserted, one of them is a JOB card, the other an EXEC statement. Nothing gets inserted. Try to think about it from another point of view: You want to submit a job. One way to do it is by starting an ISPF EDIT session, then write the JCL for your job, and finally issue submit. If you let aside that submit can generate a job statement for you, the minimum JCL you need to write is a JOB and an EXEC statement. This is what the START command used to do before Started Job support was introduced with MVE/ESA 5.2 (I believe). START built a JOB and an EXEC statement to invoke the JCL procedure specified on the start command. This job was then processed by either the master or primary (or any other) subsystem. As of MVS/ESA 5.2 START will do some processing *before* the step described above: It looks if the member specified is found in one of its JCL library concatenations (IEFJOBS, IEFPDSI), and if found, if this is a JCL starting with a JOB statement. If the first statement is *not* a JOB statement, START reverts back to the processing describe above. However, if it *is* a JOB statement, the content of this very member is then read and handed over to the master or primary (or any other) subsystem. In either case, the subsystem is not adding to nor modifying the JCL received. There is nothing you can do to change this behaviour, I knew of. These are just the rules. Place your Started Jobs JCL in one of the libraries in the IEFJOBS or IEFPDSI concatenations. This is the only place JOBs are accepted, even it they are to run under the primary JES. There is nothing that forbids a JCL (procedure) library to be in the IEFJOBS, the IEFPDSI as well as in one or more JES PROC concatenations. I tried to describe that jobs are supported only if they are present in either IEFJOBS or IEFPDSI of MSTJCLxx. This is true even if the job is to be started under a JES. The START command processor reads the JCL from IEFJOBS or IEFPDSI and submits it. That is not quite true. Once the JCL already containing a JOB statement is not contained in MSTJCLxx (only in the JES2 proclib concatenation), the automatic insertion of these two lines (by whatever) causes a JCL error. Yes, it is true. The case you describe is *not* supported. Full stop. No, as I wrote, it is the START command processor that builds these two statements. It is my understanding that the way those statements are build is not different whether they're gonna be sent to the MSTR or to a JESx subsystem. Implicit in any START command is 'SUB=JESx' (that's the default). Exception is if the MEMBER name is equal to an existing subsystem. In that case, the default in the start command is SUB=MSTR. My start command is ALWAYS issued with implicit SUB=JES2. Behaviour is different if the JCL is NOT contained in MSTJCL, only in JES2 proclib. Well, yes I can agree that the behaviour is different in the case you describe: It the behaviour of a supported versus an unsupported case. Why don't you simply add the membet ot a library already in IEFJOBS or IEFPDSI concatenation? Alternatively, add that library to one of these concatenations. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: //STARTING JOB ... was: Re: JCLLIB in started proc?
Seriously, no one cited security as a why for this restriction. Part of a proper system setup anc change management is to limit who can use the START command, possibly what he/she can START and for sure who can apply changes to JCL the JCL (procedure) libraries in discussion. If this JCL could be modified by content of personal libryries, this would undermine the above. What hinders you to ask for the JCL (procedure) library to be added to IEFPDSI? Ask for it, expain your case. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: AW: Re: How to find which task has been denied to take a dump?
As supplied by IBM, the IEESYSAS proc does not contain a DD statement for any of those DDnames. We have not modified the IEESYSAS procedure. There is none of the dump DD statements in there. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
What exactly does SHRD tell me in the IEF032I step end message?
I haven't been programming using above the bar storage lately, and I understand I'll have to do some RTFM. However, I need a quick answer to the following question, if possible. I see the following at the end of a job step: IEF032I STEP/UTIL/STOP 2015021.1318 CPU: .. VIRT: 9832K SYS: 840K EXT: 1539796K SYS: 18188K ATB- REAL: 716K SLOTS: 32K VIRT- ALLOC: 67M SHRD: 1015808M This tells me that the step has as much as 67M above the bar storage allcated (highwater mark). This was backed by up to 716K of fral frames (also highwater mark). Now here are my questions: a) Does SLOT mean slots on AUX only, or would this include slots on FlashExpress used for paging? b) Both REAL and SLOTS are in KiB, not frames and pages, right? c) What does the SHRD mean? This what the manual says: SHRD: Indicates the maximum megabytes of above the bar shared virtual storage (high-water mark) that were accessable by the step. Do the REAL and SLOTS numbers include the frames/pages from the sharead area? I understand that a program needs to first allocate ATB storage (IARV64 REQUEST=GETSHARED), before it can be shared (IARV64 REQUEST=SHAREMEMOBJ). In the above case, the program seems to have allocated quite some virtual ATB srotage but it is little used (only very few real frames allocated). -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: NO response to java -version
at the prompt i issue (the fully qualifed path name is on purpose here): /usr/lpp/java/bin/java java ?version I don't have access to a system at the moment, so I might be wrong. Anyway if there is no typo in the command line as show, I think the java is duplicate. The first one at the *end* of the path is calling the java binary (the JVM). The second one is the first parameter, the -version the second parameter. Result: JVM is tring to execute some class called java.class passing it parm -version. The JVM does not see -version as a command line option. Try: /usr/lpp/java/bin/java ?version -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: AW: Re: How to find which task has been denied to take a dump?
For those interested: I found an entry in LOGREC that matched in time and STC name (SMSVSAM). I've opened a PMR since I consider an error if a system component tries to document a problem via ABEND dump instead of an SVC dump. SMSVSAM does not initiate an ABEND dump. RTM2 does that when there is a SYSUDUMP, SYSABEND, or SYSMDUMP DDname allocated. SMSVSAM uses proc IEESYSAS. As supplied by IBM, the IEESYSAS proc does not contain a DD statement for any of those DDnames. If your installation modified the IEESYSAS proc to add one of those DDnames, then the attempt to take that kind of dump is your doing, not SMSVSAM's doing. I guess I did not choose good wording for what I meant. I was assuming that system code should establish appropriate recovery routines to handle unexpected situations. I was further assuming that this code should document the failure via SVC dump, then retry. This doesn't not seem to be the case since RTM2 was trying to document via abend dump (maybe based on the fact that we indeed added a dump DD statement. I will chek if this is the case.) Am I still on the wrong track? -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How to find which task has been denied to take a dump?
SLIP SET,A=SVCD,MSGID=IEA848I,ML=1,ID=M848,END Thanks, Jim, this confirms to me there is no way to find out from the operlog, only. I got this request long after the IPL from our second level. I have not yet looked if it happens regularly. First, I was interested to find out if I'm missing a way to identify the task in retrospect. I will sure consider the SLIP. Another suggestion is that message IEF196I, which has existed for over 40 years, should include the ASID to which it pertains. Good idea. However, this would not help in my case either. In retrospect, you cannot map an ASID to a task. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: How to find which task has been denied to take a dump?
To be a bit more specific, I think started task (or job) rather than task is what is wanted. Absloutely correct. I just thought task would be understood from the context. I found system address space or SUB=MSTR started task which did not request a jobid too clumsy ;-) For this specific case, wouldn't RACF logging of denied accesses have been a way to capture the data as to which job was denied access? Good point. I'll have a look. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: SMF RDW
I just want to understand ?how?. Why? I genrally say there is no stupid question, but this one is an exception. There is no use in asking why someone wants to understand how something works. The OP stated that he would like to get a deeper understanding. That should suffice to provide information if available instead tring trying to get justification on the why. No offence intended, Elardus, but you just did answer in a similar way to my query yesterday. I clearly stated that I'm curious to understand how OPEN works. I'm a curious guy. I'm asking because you can't use RDW directly with standard methods. So you don't consider BSAM a standard way of working with data? I do not say it is used very often in all days programming, but I still consider this a standard method. And you do, well actually you must deal with RDWs and even BDWs yourself. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: SMF RDW
hope someone can help. I try to understand how a SMF RDW works. Basically I have no problems to understand ?the whole thing? as long as the record is not ?spanned?. To make it clearer: For example a RDW (first 4 Bytes) of ?33.14.01.00?. OK, x?3314? tells me that the record is 13.076 Bytes long, but how to deal with the remaining part the ?0100?? The only thing I know is that the record is spanned actually. Does this mean that the next 256 Bytes ?after? the first 13.076 Bytes belong together or how is this calculated?! RDWs are 4 bytes. The first two are always the lenght of the record. The fourth byte is reserved and is always x'00'. The third byte, the one you're talking about, is always x'00' unless the record format is VBS, .i.e. spanned records. With non spanned records, a logical record must always fit into a single block. For spanned format, the logical records may be split into multiple parts, each one being written to a separat block. So, there is a first part, there are zero or more intermiediate parts, and there is a final part. The rightmost 2 bits of the third byte in the RDW indicat just this: x'01' - first part, .i.e. a new spanned record starts here. x'11' - intermediate part. Note that there is no sequence number. The sequence is given by the sequence of the blocks. x'10' - The final part, .i.e. the end of the spannded record. Note that even with spanned format, non-spanned records are allowed besides spanned records. I.e. there may be records that do fit in a block, and they will have the third byte as x'00'. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: abend S602-0 when in AMODE 64
I'd say that it is C that confused static with constant. Humans would think of static data as being constant (at least constant once loaded). Writeable static is, to me, an oxymoron. Static is just one of the terms used with computing that is being used with different meanings. When I started to work on IBM mainframes in 83, the first language I go taught was PL/I. PL/I distinguishes between static and dynamic storage for variables. Storage for static variables, i.e. variables declared with the STATIC keyword, is allocated in the so called static CSECT that becomes part of the object module. Note that this *is* read/write storage, so in PL/I STATIC does not mean constant. Storage for dynamic variables will be allocated at run time. PL/I did not have constants until the advent of Enterprise PL/I. You define a constant by defining its value via VALUE() keyword instead of the usual INITIAL() keyword. Also new with Enterprise PL/I is the ASSIGNABLE/NONASSIGNABLE attribute for variables. So, STATIC as well as dynamic variables can be writable or not (i.e. constant after being initialized). -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: AW: Re: SMF RDW
If I have insulted you, please accept my apology, You have not. It takes much more to do so ;-) but like many IBM-MAIN members, I try to help for free and when I have time. So do I, and I have spent and still do spend much time working with IBM-MAIN anf other lists. And I have very often received help myself. If you don't want me to reply to you, just say so. No, do not stop replying. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
How to find which task has been denied to take a dump?
In the OPERLOG, I see the following messages while system CH02PROD is being shutdown for IPL (more messages in context further down): N 002 CH02PROD 14333 08:01:23.54 0281 IEA848I DUMP SUPPRESSED - USER NOT AUTHORIZED BY SAF N 000 CH02PROD 14333 08:01:23.54 0281 IEF196I IEA848I DUMP SUPPRESSED - USER NOT AUTHORIZED BY SAF The jobid column is blank which tells me the task is a system task or one which had been started SUB=MSTR. But how do I identify the associated task? From the longer extract, one can see that OAM and SMSVSAM termination has been initiated. The part denoted [snip 1] has a bunch of IGW467I from all systems in the plex. Then come the dump denied messages immediately followed by IGW408I confirming SMSVSAM termination ended. NC000 CH02PROD 14333 08:01:23.51 AWRK03P2 0290 STOP OAM NR400 CH02PROD 14333 08:01:23.51 S0166129 0090 CBR1000I OAM STOP command execution scheduled. NC000 CH02PROD 14333 08:01:23.52 AWRK04P2 0290 V SMS,SMSVSAM,TERMINATESERVER M 800 CH02PROD 14333 08:01:23.52 0090 *IGW572I REQUEST TO TERMINATE SMSVSAM 436 D 436 0090 ADDRESS SPACE IS ACCEPTED: E 436 0090 SMSVSAM SERVER TERMINATION SCHEDULED. M 404 CH02DSYS 14333 08:01:23.52 0090 IGW467I DFSMS SMF_TIME PARMLIB VALUE 825 D 825 0090 CHANGED ON SYSTEM: CH02DSYS D 825 0090 OLD VALUE: YES 5 E 825 0090 NEW VALUE: YES 4 [snip 1] M 404 CH04PROD 14333 08:01:23.53 0090 IGW467I DFSMS RlsAboveTheBarMaxPoolSize 414 D 414 0090 PARMLIB VALUE CHANGED ON SYSTEM: **ALL** D 414 0090 OLD VALUE: 4096 4 E 414 0090 NEW VALUE: 4096 5 N 002 CH02PROD 14333 08:01:23.54 0281 IEA848I DUMP SUPPRESSED - USER NOT AUTHORIZED BY SAF N 000 CH02PROD 14333 08:01:23.54 0281 IEF196I IEA848I DUMP SUPPRESSED - USER NOT AUTHORIZED BY SAF N 800 CH02PROD 14333 08:01:23.58 0090 *IGW408I SMSVSAM SUCCESSFULLY TERMINATED AT END OF MEMORY M 404 CH01NSYS 14333 08:01:23.52 0090 IGW467I DFSMS DEADLOCK_DETECTION PARMLIB VALUE 970 D 970 0090 CHANGED ON SYSTEM: CH01NSYS D 970 0090 THIS SYSTEM IS OPERATING AS A LOCAL DEADLOCK PROCESSOR. D 970 0090 OLD VALUE: 15 4 4 E 970 0090 NEW VALUE: 15 4 3 [snip 2] Thanks -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: abend S602-0 when in AMODE 64
static NEVER means constant Yip. I believe all wannabee programmers should learn this fact. How difficult can it be to be understand? Difficult, if you start as a trainee at a company that decided to force that all STATIC variables be set to NONASSINGABLE. They very much look like constants then. (Been there, seen that.) I admit it is not the STATC but the NONASSIGNABLE keyword that makes the constants, but a trainee migth not yet appreciate that fine distinction. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: How to find which task has been denied to take a dump?
For IEA848I it says For USER NOT AUTHORIZED, the security authority can be changed to allow ... Thanks for the various tips, Lizette. I'm aware of the FACILITY profile. I'll have to think about UACC(READ). The question was how to find the task that triggered the message because it is not authorized. It is more general and not restricted to this specific message: How to find the task related with a message if ther is no jobid? I haven't had a look at LOGREC yet. This is surely something to consider (not sure why I have not thought of it myself). -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
How does OPEN with DISP=MOD find the end of current data in a PS data set?
Based on a discussion here, I got curious on how OPEN in append mode (DISP=MOD) finds the end of the current data in a DASD PS data set. I do have some knowledge about VTOC and DSCBs but just never thought about this very question in detail. Some of the actions below do not apply if the data set resides on one volume only (i.e. it is *not* multivolume). This my current assumption. I'm not so much concerned about the fact that some information from the VTOCs is being mapped to internal control blocks (e.g. DEB) and by what code and when. I'm concentrating on the data in the VTOC and how is is used. 1. Allocation (?) has built a list of volumes where the data set has currently some space allocated. 2. OPEN needs to find the last volume on which there is current data. DSCB flag DS1IND80 indicates of this is the Last volume contsining data in this data set. I understand this flag to indicate the last volume with current valid data, not the last volume where the data set has some space allocated. I.e. if a data set gets expanded to a second volume while writing data, I assume this flag is OFF on the first but ON on the second volume. If the data set gets rewritten (DISP=OLD), and all data written this time fits on the first volume, then the flag would be turned ON on the first volume. The data set still has some, now unused, space allocated on the second volume, but the VTOC and all tracks are left unchanged in this case. 3. Once the last volume is identified, OPEN needs to find the end of current valid data on that volume. DS1LSTAR and possibly DS1TTTHI identify the last track (and block on that track) that has valid data. OPEN needs to map that track number to a cylinder-track address with the help of the extents information (DSCB1/DSCB3s). If the above is roughly correct, then processing for OPEN in append mode will increase with the number of extents and volumes. On the other hand, processing for OPEN in replace mode (DISP=OLD) will not change, no matter on how many extents/volumes the data set has allocated from previous processing. I appreciate any comment and correction. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: AW: Re: AW: Re: How to find which task has been denied to take a dump?
That seems to me like undesirable behavior. I will discuss this with the owner of the code to see if that could be changed in a future release. Thank you very much indeed, Jim. Much appreciated. I mentioned that I had opened a PMR for this. I will post its number tomorrow. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How to find which task has been denied to take a dump?
I mentioned that I had opened a PMR for this. I will post its number tomorrow. Here it is: 60902,113,848 -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: How to find which task has been denied to take a dump?
For this specific case, wouldn't RACF logging of denied accesses have been a way to capture the data as to which job was denied access? Good point. I'll have a look. Unfortunately, the IEAABD.* profile had been defined with logging for successful and denied UPDATE access. Nothing was found in the RACF SMF records. From reading about the difference between READ and UPDATE permission, I was expecting this result for this case (no library with EXECUTE access involved). For those interested: I found an entry in LOGREC that matched in time and STC name (SMSVSAM). I've opened a PMR since I consider an error if a system component tries to document a problem via ABEND dump instead of an SVC dump. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: Parallel Sysplex split
That's not true in our case. We share the IODF between two sysplexes, it is cataloged in a user catalog that is connected to the master catalogs of all systems in both sysplexes. For the purpose of the IPL, the IODF does not need to be cataloged at all. You designate the IODF volume via its unit address in the LOADPARM (pos. 1-4). The DSN of the IODF to be used is then specified in the LOADxx member (suffix specified via LOADPARM, pos. 5-6). The LOADxx member is searched in SYSx.IPLPARM (x=0, 1, ..., 9) or SYS1.PARMLIB on the IODF volume and finally in SYS1.PARMLIB on the IPL volume. No catalog is involved in all of this. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: Seperate Password for OMVS
How do I prevent my users' (whom I must give OMVS segments so they can use FTP) using UNIX services? By what means? If you do not want them to be able to login into a shell, set the PROGRAM field in the OMVS segment to '/bin/true', or some such. If the users need to be able to use FTP and are also in need of login to TSO, you're out of luck, I guess. I can imagine the complementary question: How can I allow users to use OMVS but not TSO. batch, etc. Don't define a TSO segment for those users. OMVS and TSO are independent segments. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Vary OPERLOG offline before IPLing the system?
I found that automation is setup to vary operlog offline just before stopping JES2. I was trying to find a reference in the FMs recommending this. But no success. Why would we do this? If operlog is stopped, then we would loose all hardcopy messages from the time JES was brougt down until the system is brought doen (V XCF,,OFFLINE), right? What (negative) impact is there if we don't stop operlog? -- Peter Hunkeler PS: Resend with typo in subject corrected -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Vary OPEERLOG offline before IPLing the system?
I found that automation is setup to vary operlog offline just before stopping JES2. I was trying to find a reference in the FMs recommending this. But no success. Why would we do this? If operlog is stopped, then we would loose all hardcopy messages from the time JES was brougt down until the system is brought doen (V XCF,,OFFLINE), right? What (negative) impact is there if we don't stop operlog? -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: Vary OPEERLOG offline before IPLing the system?
To the OP: Having seen enough asinine automation - are you sure that removing operlog right before JES wasn't done when operlog was first introduced,... I fully agree, and yes, I do suspect that it is the outcome of some misunderstanding. I wanted to get rid of this, just thought I'd better ask the combined wisdom. It's been some years since I cared for such things; I might have missed some common sense reason, or I might simply have forgotten. Feeling good now to suggest no longer varying operlog offline. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: AW: Jobs hanging in status Awaiting Conversion (JES2) (solved)
I would also shout Agh! At what JES2 and z/OS level are you? Or does that not matter? No, its not the fault of JES2, so the software levels do not matter. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Jobs hanging in status Awaiting Conversion (JES2) (solved)
Any idea what to look for? Arrrgh. JES2 INDependent mode hit us again I stumbled over this earlier this year when job output was not purged. TWS is the culprit. See JES2 not purging output on PURGE queue in the JES2 list (Jan 2015), if interested in details. -- Peter Hunkeler -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Jobs hanging in status Awaiting Conversion (JES2)
I know there is a JES2 list, but this list is usally more responsive and we're somewhat in a rush to find a solution. We're somewhat lost. In support of our storage colleages, we've shutdown both systems in out maintenance plex, and re-ipled one with only basic functions such as JES2, VTAM, TSO. Intent was to be able to run some storage jobs against the zFSs. We're facing the problem that jobs we submit are hanging in status Awaiting Conversion. We've done all sorts of displays and checks, especially all that is mentioned in the elder JES2 Level2 Bit Bucket. The 4 converter PCEs are idle, there is no (visible) GRS contention. Started tsks and TSO logons are working. Any idea what to look for? -- Peter Hunkeler -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: LE Question
One more potential option is the UNIX shared memory feature. I have not used this in any of my own programs, so I cannot say for sure it is an option in your case. Anyway, you might want to have a look. There is a set of C functions called shmget(), shmat(), shmdt(), and shmctl(). A program creates the sharable area with shmget(), other programs map that storage into their own address space using shmat(). The idea is: The C routine would allocate the large area in 64bit storage, the Cobol routine would map part of it (mega byte chunks) into 31bit storage. The Cobol program would need to call BPX1MAT for shmat() functions. --Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: SDSF ISF121I message
Paraphrasing the JCL Reference manual: MEMLIMIT parameter specifies the limit on the total size of usable virtual storage *above the bar* in a single address space. REGION is for below the bar, MEMLIMIT is for 64-bit addresses above the bar. And there is the (maybe) unexpected and (IMHO) unlucky relationship that REGION=0K or 0M implies MEMLIMIT=NOLIMIT. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Why is the boundary between TRK- and CYL managed space at cylinder 65519/20?
I wonder why the boundary between track managed and cylinder mamanged space is between cylinders 65519 snd 65520. And why is the space unit 21 cylinders when it comes to the cylinder mamange space? I understand there there are two things that are different between those two areas (see also the excerpt from a DFSMS manual below): a) For track managed space, allocation information is kept as x'', so a half word for the cylinder and track (head) numbers, each. For cylinder managed space it is x'CCCh', i.e. 28bits for the cylinder and only 8 bits for the head address. b) For track managed space, allocation is in units of one track, for cylinder managed it is in units of 21 cylinders. 65535 / 21 is 3120.73120 * 21 is 655203121 * 21 is 65541 I guess from the above calculations that 65520 was chose so that no space is lost between the maximum tracked mananged address (theoretically 65535) and the first cylinder managed address 65541. This assumes that there are no non-EAV volumes out there which have 65535 cylinder (I think this yould be possible under VM, is it?). I don't have an idea why 21 cylinders was chosen as the cylinder managed unit. Anyone? Any comments? -- Peter Hunkeler -- Excerpt from z/OS DFSMS Using Data Sets - Chanpter Extended Address Volumes For an extended address volume, the extended addressing space (EAS) is cylinders whose addresses are equal to or greater than 65,536. The ccc portion is non-zero for the cylinders of EAS. These cylinder addresses are represented by 28-bit cylinder numbers. For compatibility with older programs, the ccc portion is hexadecimal 000 for tracks in cylinders whose addresses are below 65,536. These cylinder addresses are represented by 16-bit cylinder numbers. This is the base addressing space on an extended address volume. A multi-cylinder unit is a fixed unit of disk space that is larger than a cylinder. Currently, on an EAV, a multicylinder unit is 21 cylinders and the number of the first cylinder in each multi-cylinder unit is a multiple of 21. The cylinder-managed space is space on the volume that is managed only in multicylinder units. Cylinder-managed space begins at cylinder address 65,520. Each data set occupies an integral multiple of multicylinder units. Space requests targeted for the cylinder-managed space are rounded up to the next multicylinder unit. The cylinder-managed space only exists on EAV volumes. The track-managed space is space on a volume that is managed in tracks and cylinders. Track-managed space ends at cylinder address 65,519. Each data set occupies an integral multiple of tracks. Track-managed space also exists on all volumes. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
$HASP311 jobname re-queued at end of memory and held
Crossposted. I had posted this on the JES2 list but got no insight so far. Hopefully someone here can shed some light on this. I stumbled across a job that had ended and was in status HELD in the JES2 execution queue. First I thought someone must have issued a $HJnnn while the job was running. I then saw that the job has had some problems (878-10 abends) which finally lead the job and the initiator being terminated at end of memory (initiated by DB2 - step ends with S0F4 reason F30905). Now the intersting thing which I didn't know (and don't understand either), and for which I was not yet able to find where this is documented: JES2 writes message $HASP3111 jobname RE-QUEUED AT END OF MEMORY AND HELD Well, I've found the doc on message $HASP311 but it doesn't tell much details. Questions I have: - When are jobs eligible for this kind of JES2 automatic restart? - What are the factors being part of this decision? - Not sure all jobs are restartable per se. - What would have happended to the job at next JES2 warm start? - How to correctly handle jos in this state? - Can this be configured? Can someone shed some light on this and/or point me to the document where I can read how this works. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: $HASP311 jobname re-queued at end of memory and held
Cross-posted to IBM-MAing and JES2-L A while ago I was seeking for help regarding jobs being re-queued at an EOM situation. I did not get the desired insight here, so we asked IBM for details. We got below explanation, which IBM support found in internal documents, only, but not in any FM. I thought I'd post it here so it will be available in the archives. Q:We have a DB2 batch job that suffers from several S878-10 and finally the initiator fails completely. At the end of that a JES2 message $HASP311 appears and the job sits in the hold queue from then. Why is the job re-queued and where is that documented? Answer from IBM support (19/02/15 13:25): $HASP311 with the associated message text is always issued by JES2 in response to a request by the Initiator to requeue the job that has gone though EOM processing. This is normal behavior and is not new and not a defect. From a JES2 perspective this has always worked this way. It is the Initiator that is requesting the requeue of the job AND if there was an EOM involved before job completion $HASP311 is issued with the corresponding text. ... and a bit more and better explanation: There are a few reasons why a job could be marked for re-execution, but the most common cause is that the initiator (where the job executes in), AND NOT THE JOB ITSELF, experiences an error, like an End-of-Memory condition which appears to be your case (the 40D indicates an out-of-storage condition during RTM processing, usually following ABEND80A or ABEND878). In that case, we turn on a flag in the control block structure to indicate that the job is eligible for restart (this is the same flag that would be set if $EJOB command was used to restart a job). JES2 requeues the job for warmstart and puts it in operator hold to prevent the job from failing recursively. During warmstart processing, JES2 will decide whether this job needs to be automatically restarted based on the setting of JOURNAL and RESTART option. The JES2 Init and Tuning Guide has more details about this under topic 1.13.2.6 titled 'Warm start considerations'. Here is an excerpt: ...If a job in execution was journaled, it is updated to indicate warmstart, and the job is queued for re-execution. If a job in execution has no journal, it is tested to determine whether restart was indicated for the job. If restart was indicated, the job is updated to remove any warmstart indications, and the job is queued for re-execution. If restart was not indicated, the job is queued for output processing. So, the action taken at next warmstart will be determined by the setting of JOURNAL and RESTART on JOBCLASS. However, you could decide to release the job ($AJ) or cancel it ($PJ) immediately. ... And an additional hint: The job is requeued back for execution (per the $HASP311 message) since JOURNALing is active. You can confirm this by issuing a $DJOBCLASS(y),LONG where y is the respective jobclass of DB2A7417 and I would expect you find JOURNAL=YES. This is working as expected. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: Why is the boundary between TRK- and CYL managed space at cylinder 65519/20?
http://www.redbooks.ibm.com/abstracts/sg247617.html Thanks for this pointer. I was searching the DFSMS library, but forgot Redbooks. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: OMVS not starting on my DR LPAR
Which means that the ZFS address takes a good while to do a check function on all of them when we IPL at D.R. zFS updates a heartbeat record in every mounted zFS files system every 30 seconds.When zFS detects that a file system has not been properly unmounted, it will wait for 65 seconds before continuing with the mount. It does so to detect whether the file system is still mounted elsewhere. See http://www-01.ibm.com/support/knowledgecenter/#!/SSLTBW_2.1.0/com.ibm.zos.v2r1.ioea700/unmfs.htm I don't know if OMVS is int ETC/WAIT status during this time, however. I'd say no. It does not make sense to start the init script before all files systems have been mounted. The script or anything startred by it might refer to any place in the file system structure. Once the file systens are mounted, OMVS starts BPXOINIT, which in turn runs /etc/rc (assuming you're not using etc/inittab). BPXOINIT will fork() a shell to run the script; and the script may fork() yet more processes. Thes will run in BPXAS UNIX initiator address space, which in turn run under JESx. So, this process may hang waiting for JESx to become available, or as other already mentioned, waiting for subprocesses to end or daemonize. Note that parameter file /etc/init.options has two options -a and -t. -a specified how many seconds the init process shall wait for the init script to complete. Message FSUM4013I will be issued to the /etc/log file when the interval expires. -t specifies whether the init process shall continue to wait or terminate the script when the timeout occurs. If JESx is up, do you see IEF start messages for BPXAS address spaces? Does wither D OMVS,W or D OMVS,A=ALL display anthing helpful? -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: OMVS not starting on my DR LPAR
cat /etc/log ... and since you can't cat unless OMVS initialization is complete, you might want to redirect /etc/log to the SYSLOG. Delete the /etc/log file and create a symlink instead, pointing to /dev/console. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: Is EXCP data from SMF 30 interval records repeated in step end records?
DDCONS does not do I/O, it only consolidates SMF I/O records, costing (much) CPU and elapstime to produce the records, but it will not add I/O counts to the step. Yep, I understand it accumulates all the interval counts for a given DDname and device and writes only one entry with the total instead of merely repeating the individual entries from the interval records. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: Is EXCP data from SMF 30 interval records repeated in step end records?
Do you have SAS and MXG at your shop? If so, then the MXG.SOURCLIB will have information on what you are looking at. No, we don't. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: Is EXCP data from SMF 30 interval records repeated in step end records?
Do you also see subtype 5 (Job termination)? Yes, but they are not of interest for the question at hand. What is your DDCONS and INTERVAL setting? DDCONS is what I was missing, well actually, I forgot about it. Thanks for the reminder. We do have DDCONS(NO) -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Is EXCP data from SMF 30 interval records repeated in step end records?
Please bear with me; I never had to dig into this detail on step end EXCP SMF reporting. I'm analysing a perfomance issue with long running (35 hours) a batch job. Looking at JESYSMSG, I stumbled across information that our IEFACTRT exit writes at step end. There is one step that seamed to do millions of I/Os against STEPLIB. STEPLIB is a two DSN concatenation, however, I see dozens of STEPLIB related I/O numbers Trying to understand, I started to have a detailed look at the SMF 30 records for the step. We do have interval recording, so I can see one subtype 1, a bunch of subtype 2, followed by one subtype 3 for the lat interval, and finally 1 subtype 4 records at the end of the step. Q1: The I/O counts in the interval records are *not* cumultive, but reflect the count since the previous record has been cut, correct? This is how I read the doc. Q2: The EXCP information that was written to the interval records is repeated in the step end record, correct? Q3: IEFACTRT will only see subtype 4 records, correct? Q4: If Q1-Q3 are correct, this explains why IEFACTRT listing I/Os by DDname and device can shoe dozens or hundreds of EXCP numbers for a two DSN STEPLIB. Thanks for confirmation or correction where due. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: OMVS command history
Thanks for this post. I was about to suggest to (mostly) forget about TSO OMVS and start logging in via ssh. You've taken the burden off me :-) To edit your command history, press esc-k. Press additional k keys to get older commands. After you have the command you want, you will be in vi edit mode. After editing, press enter to submit. May I add to the above? No matter whether you've setup to use emacs or vi as your shell command line editor, the following apploes to shell command line editing (I hope it really applies equally to emacs, since I only ever use vi). Whenever the shell presents you the command prompt, think of it as if you were editing the .sh_history file, and are about to add a new line to the end of the file. You are in input mode. Whatever you type will be in that line. Hitting the enter key will a) terminate that line and b) have the shell process that command line. Hitting ESC while at the shell prompt (remember you're in input mode) will take you out of input mode. Vi calls this new mode the command mode. Keys you type will be interpreted as editor commands, while the current file in the editor is still the .sh_history line. You now move up in this file with k and down with j. So this positions your one line window view (the command line) in the file. Once you see the command you've been looking for, hit enter to re-run it as if it had just been entered (see above), or, use any editor command to move around on the command line (h for one character to the left, l for on to the right), or any editor command to start changing that line (i for insert before the cursor, a for insert after). There is a notable difference between command line editing and file editing. Hitting enter whil in insert mode starts a new line in the later case. In the former case it has the shell execute the command. So there is no need to ESCape from insert mode into command mode, once you're done with command line editing, torun the command. Finally, don't be afraind from learing that bit of vi Kirk suggested. I'm an old MVS guy and I did it when vi became available on MVS (OS/390 V1.x). I've never regretted. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: Statement of Integrity and UNIX.
It used to be the case that a root user, or a user with access to root, might be able to gain access to any resource, if there happened to be another user, with an OMVS segment, who had access to the resource. This is the reason BPX.DAEMON exists. What you wrote is true *if* BPX.DAEMON is *not* defined at all. When BPX.DAEMON is defined, which is higly recommended, then a process running with (e)uid=0 needs to also have READ access to BPX.DAEMON to be able to make an (MVS) identity switch to anyone (having an OMVS segment). -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: AW: Re: OMVS command history
but OMVS has no access to this file. What about the history command? Well, as I wrote, the OMVS command processor has no access to the .sh_history file (because it has not been programmed that way). You can of course use the histroy shell command. But this is not related to what the OP asked about. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: JES2 Exit 23
Long time ago (MVS/ESA 3.x in the late 80ies), I wrote JES2 and PSF exits to provide (part of) the accounting information as well as some other stuff to PSF. It was a combination of JES Exits 3 and 23, as well as PSF exits 1 and 2. At that time, I did not want to take the burden to extend any JES2 control blokc held on the spool, and since it was sufficient, I used some user fields in the JCT so save acoounting information in JES2 exit 3. Later, JES2 exit 23 aquired some storage (getmain) to store this data for PSF exits 1 and 2. PSF exit 2 (job end) was in charge of releasing the storage after use. This is from a quick refresh of my memory. Note also that I have not verified if there is an easier way nowadays. I'll send you some code snippets offlist. -- Peter Hunkeler Von: Lizette Koehler stars...@mindspring.com An: IBM-MAIN@LISTSERV.UA.EDU Betreff: Re: JES2 Exit 23 Datum: 31.05.15 07:49 I have not found any definitive info on how to extract the Accounting information on a JOB producing output and getting it to the APSUX01/APSUX01P exit. You might want to contact IBM directly via an SR for assistance. What version of PSF are you running? Are you using Assembler or C Language? Have you looked at the IEFJESCT to see what is available in the JES2 Communications Area? Lizette -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Lizette Koehler Sent: Saturday, May 30, 2015 5:28 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: JES2 Exit 23 If you are not aware, there is also a JES2 List that might be helpful as well. IBMMAIN or JES2 will be good. To join JES2 - use this URL JES2 http://listserv.vt.edu/cgi-bin/wa?A0=jes2-l Have you looked at the JES2 EXITS manual? SA22-7534-13 z/OS JES2 Installation Exits Lizette -Original Message- From: IBM Mainframe Discussion List [mailto:IBM- m...@listserv.ua.edu] On Behalf Of Markus Haselbach Sent: Saturday, May 30, 2015 12:38 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: JES2 Exit 23 Hallo, I?m for the first time involved with JES2 exits. The issue is printing with PSF. I have to write accounting information from the Job Card on the Job Header Page. This will be done in PSF Header Exit APSUX01. The question is how to get the information there. I would like to pass the accounting field by putting it in the JSPA in JES2 Exit 23 HASX23A. Can somebody give me a hint, how to get the Jobcard in HASX23A, or an other solution? Best regards Markus Haselbach Credit-Suisse AG -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Cache Fast Write (CFW) - Data in the CFW is *not* mirrored, is it?
My GDPS mate asked us to make sure that cache fast write (CFW) on out (PPRC) mirrored boxes is disabled because it is not compatible with HyperSwap. This statement presumes that data in the CFW is not mirrored, is it? Up to now, I got somewhat inconsistent informtion about CFW in current DASD subsystems. Trying to get a clear view with the help of specialist here on the list. I understand that CFW can be switched on/off via IDCAMS. While this can be protected via RACF, this is not bullet proof. Some software (DFSort?) might write its own channel programm to set the switch. I therefore asked our DASD provider if CFW can be permanently disabled on the box. Got a Yes, but nobody does it Talking to someone else, I was told that modern DASD subsystems always use CFW; the user has no influence in this (??) Finally I haven't been able to figure out whether data in the CFW cache is mirrored *before* of *after* the data has been hardened to the platter. Appreciate any insight. Thanks in advance -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: AW: Re: AW: Re: OMVS command history
Well, as I wrote, the OMVS command processor There's more to OMVS than just the shell. The phrase but OMVS has no access clearly refers to more than the shell. Not sure what you're referring to, but I was talking about the OMVS *TSO command processor*, only. And no, that statement you cited does neither refer to a shell nor to anything more than what I wrote: The OMVS TSO Command processor has not been programmed to read/write/care for any command history file any UNIX shell program might use. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: Cache Fast Write (CFW) - Data in the CFW is *not* mirrored, is it?
Where's Ron when we need him ?. Yep, but what does this help me? -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: OMVS command history
The shell (/bin/sh to be specific) writes all commands into its history file .sh_history. This is kept across sessions. Command line editing when in a ssh (telnet/rlogin) shell session will use this file, as well as the fc and history shell commands. When using TSO/OMVS (the 3270 interface), the OMVS TSO command processor is the interface between the shell and your 3270 terminal. It is OMVS that keeps a history of everything entered *in memory* only. Once you logout, OMVS command processor will terminate and release its storage. There goes the OMVS command history. Note that .sh_history is still feeded when logged in through OMVS, but OMVS has no access to this file. HTH -- Peter Hunkeler On 25 May 2015 at 12:55, Ken MacKenzie ken.macken...@pramerica.ie wrote: Hi All, Something's puzzled me for some time and I wonder if it is a quirk at this site. When I go into OMVS and enter a command, I can then press F12 to recall it. Repeatedly pressing F12 brings back older commands. That's great but when I go out and come back in, pressing F12 does nothing until I've entered a command. I notice that there is a file called .sh_history.mysuerid which contains my command history. My question, then, is why is my command history kept if I can't use it? Or is there something set up incorrectly here? Ken MacKenzie Pramerica Systems Ireland Limited is a private company limited by shares incorporated and registered in the Republic of Ireland with registered number 319900 and registered office at 6th Floor, South Bank House, Barrow Street, Dublin 4, Ireland. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- Mike Shorkend m...@shorkend.com www.shorkend.com Tel: +972524208743 Fax: +97239772196 -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: Problem with FTP into a PDS
I'm not a big fan of the Irisch commands (OEDIT, OGET, etc.), but for the problem at hand, OGETX with the SUFFIX() operand might be useful. All suffices must be the same, and the remaining name must be a valid member name. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: How comes SDSF HOLD panel shows one line per OutputGroup instead of per job?
The multiple output groups are caused when you do a SET BOUNDARY within a step. If you use a different step for each SET BOUNDARY, then a single output entry appears for the job. Yep, this is what I did: multiple lists each for a different zone. I added DD statements to this job for the SMPLIST, LOG, OUT and RPT to get all output in a single output group. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: SDSF and Carriage Control
IOF does and has for at least 14 years support carriage control emulated display (both RECFM=A or M), except for overprinting. Pardon my ignorance, but what is IOF? -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Q: FTP Exits
I've been asked to find a way to check FTP usage in our z/OS environment (2.1 at this point) to see if users are specifying IP addresses or names to be resolved. IP packets contain IP addresses and ports, not DNS names. The receiver cannot tell whether the user behind the client specified a hostname (to be resolved by a DNS lookup) or an IP address directly. If the former, then the client software must resolve the hostname via DNS lookup in order to start a TCP session via IP address. With HTTP, the client sends how the server was addressed to the server. So the web server knows whether the user entered an IP address or a hostname. This is the basis for multihoming, aka. VirtualHosts in web servers. I don't know but doubt that this information is part of the FTP protocol. If not, what you desire seems not possible to me. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: AW: Q: FTP Exits
Never underestimate the power of an annoyed developer. There is a way to get to FTP's PARM= value. I'd never dare to. My point was that if it is not part of the protocol definition, a client may or may not send additional information. However clever a developer might be, it would only help if user had no way but to use his invention. That surely is not given for FTP. I'm gonna have a look at some Wireshark traces, and at the FTP RFC(s). -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: SDSF and Carriage Control
Is - part of the ASA standard or is it an IBMism? -- Peter Hunkeler It's pretty hard to find a definitive document. I'd have greater trust in one that wasn't published by IBM. While reading RFC 959 (FTP) for some other reasons, I stumbled across the following text: Quote3.1.1.5.2. CARRIAGE CONTROL (ASA) The file contains ASA (FORTRAN) vertical format control characters. (See RFC 740 Appendix C; and Communications of the ACM, Vol. 7, No. 10, p. 606, October 1964.) In a line or a record formatted according to the ASA Standard, the first character is not to be printed. Instead, it should be used to determine the vertical movement of the paper which should take place before the rest of the record is printed. The ASA Standard specifies the following control characters: Character Vertical Spacing blank Move paper up one line 0 Move paper up two lines 1 Move paper to top of next page + No movement, i.e., overprint /Quote Then looking at RFC 740 (NETRJS) I read in appendix C QuoteCarriage Control The carriage control characters sent in a printer channel by NETRJS conform to IBM's extended USASI code, defined by the following table: CODE ACTION BEFORE WRITING RECORD Blank Space one line before printing 0 Space two lines before printing - Space three lines before printing + Suppress space before printing 1 Skip to channel 1 2 Skip to channel 2 3 Skip to channel 3 4 Skip to channel 4 5 Skip to channel 5 6 Skip to channel 6 7 Skip to channel 7 8 Skip to channel 8 9 Skip to channel 9 A Skip to channel 10 B Skip to channel 11 C Skip to channel 12 /Quote So, I conclude that the - indeed is an IBM extension. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: SDSF and Carriage Control
Ah! Here it is!: asa - Interpret ASA/FORTRAN carriage control But it's an incomplete implementation. Doesn't support the - (space 3 lines) ASA CC. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
How comes SDSF HOLD panel shows one line per OutputGroup instead of per job?
This is embarrassing but I have to admit I don't have a clue what I did, and more importantly, how to back out. In SDSF's hold panel, I suddenly see one line for each output group (i.e. SYSOUT DD) for all of my jobs (well at least for this prefix setting). I don't see this woth other prefix settings. Those jobs display as usual with one line per job. I know I had some fingercheck error, but didn't notice exactly what it was. Just hit RESET and continued. Now this is my punishment ;-) RTFM and searching SDSF's help didn't give me a hint what I might have done. Any idea? -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: How comes SDSF HOLD panel shows one line per OutputGroup instead of per job?
Solved! It was SMP/E who fooled me. I'm sorry to not have recognized this before posting. I had an SMP/E job doing some LIST processing for one zone. All DDs except from the CSI were dynamically allocated. I repeated the LIST statement in the same step to list from some more zones. SMP/E allocated and deallocated for each LIST, which lead to a set of new output groups each time (SMPLOG, RPT, LIST, OUT). I never seem to have done this before, or, my memory is failing -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: How comes SDSF HOLD panel shows one line per OutputGroup instead of per job?
Any chance of a screen print/trap to show this phenomena? Yes, I could, but further investigation revealed that somehow the sysout dds for the jobs in question were somehow split into separate JES2 output groups. So it is obvious now, why each SYSOUT is display on a line of its own: They're independent JES2 output groups So the question has changed: What did I do to split these jobs from the initial single output group to one per SYSOUT? I have searched the log but could not yet find anything useful. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: z/OS version by Sysres Module
> Is there a module within SYSRES dataset's which can help me to determine the z/OS version ? > This Question is just for the Knowledge sake and not trying solve any problem. "D IPLINFO" gives you that and more. Or look at CVT field CVTPRODN. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: Fastest way to read OLDEST GDG entry
> Check out the GDGORDER parameter. It became available in z/OS 2.2 and allows > you to process generation data sets in the order they were created. This actually became available with z/OS V2.1 And it doesn't help with her request to process the latest GDS *only* -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: Fastest way to read OLDEST GDG entry
Processing all GDSs using the base entry is kind of like processing a DD concatenation. I can't tell the details from memory, but in Assembler you can code so that you get control when the system reaches the end of one dsn in the concatenation, just before it is going to open the next one. I seem to remember it an OPEN exit. If reading all GDSs via base entry behaves similarly, you could just terminate processing upon first invocation of that code. Using GDGORDER=FIFO, your program would do what you want. The code would need to find the actual dsn of the (first) data set right after open, so it can delete it. I can dig out some code if you like to further follow this vague idea. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: AW: PL/I and optional parameters
> The earlier post by Peter Hunkeler was referring to the LIST attribute of > ENTRY, described here: > http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/IBM3LR60/6.10.5 Yep, this is what I referred to. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: Subsys not down while Shutdown
> Thanks Lucas & Lizette. I have terminated the Task from list and performed > the Load. > Now is systems is up and running fine. Great. Now that this has been sorted out, you should invest some time to find out what ought to be brought down before an IPL what not. Automation (if you're using automation) should know and do what is necessary, but you should be prepared for the case when something does not work as intended. There are tasks (STCs) that you better try to stop in the proper way, or you might get into troubles at next startup (e.g. DB2 which might need some long lasting recovery). On the other hand, there are some tasks which you really don't need to care about, and there are tasks which cannot be stopped at all. The list is depending on your setup and the products you use. It is also useful to have a list of tasks to start, and in what order, in case you need to perform an IPL manually. Again automation may fail to complete the startup for whatever reason. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: tcpip reserved ports
> Ah! That did the trick. I was playing around with the D,TCPIP,TCIP,... > command and could not find what I needed, thanks. You can also get the list via console command: D TCPIP,TCPIP,N,PORTL -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: IEAVAPE2/IEAVPSE2 another address space
>> What the big deal I didn't want to use my real name never saw that as one of >> the requirements for >> Using IBMMAIN >> > My real name is Joseph Reichman What a big deal?? Do *you* like to communicate with people who think they have a need to hide their real personality? I definitely do not. There are people who post on lists without mentioning their name. Bad enough. But signing in the name of someone else? And who can we be sure Josef Reichman isn't just another name you've arbitrarily chosen? I had not replied to any post of you since long time, and I will continue to refrain from doing so. This a one-time exception. You don't seem to be honest, neither about you, nor about you programming intent. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
RMF STORF "Frame Occupancy Total"
Cross-posted from MXG-L Looking at RMF III STORF reports, I'm trying to understand what the report is telling me, especially the frame occupancy. It confuses me that field "Frame Occupancy Total" (short FOT hereafter) is described as being the *sum* of fields "Frame Occupancy Active" (short FOA) plus "Frame Occupancy Idle" (short FOI). Here is why... I understand at each sample RMF sees a job either active (using CPU) or idle (waiting for something). It looks at the number of frames and adds that to the corresponding field (and calculates the average over the interval). FOI is a subset of the FOA frames, right? if this is correct, then I'd expect FOA to always be higher than FOI (unless a lot of new frames have assigned to the job just after a sample and the job goes idle before the next sample). If FOI is a subset of FOA, what is the reason FOT = FOA + FOI? -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
RMF III Frame Occupancy vs. Frames WSET
Cross-posted from MXG-L (and extended) The RMF guide describes the "Working Set" to include frames backing Dataspaces and Hiperspaces. I assume the "Frame Occupancy" does only include address space frames. Is this correct? The RMF manual is not clear about this. My assumption is based on the fact that I do see entries with much higher "Active Frames WSET" than "Frame Occupancy", and I do know that the job is using Dataspaces. Are shared Dataspace and Hiperspace frames counted for the onwing address space, only? Assume address space A (AS-A) creates some Dataspace (DS-A) and shares it with AS-B. AS-A stores 2MB of data into DS-A. At that time 500 frames are assigned to the Dataspace and counted in AS-A's WSET number. Assume some frames get stolen from the Dataspace. Some time later, AS-B accesses the all data in DS-A, i.e. all 500 frames are needed, leading to page-in of the once stolen pages. To whom are those frames accounted? True or False? - The ones not stolen had been counted for AS-A when AS-A initially wrote into DS-A. - The ones not stolen are *not* counted for AS-B when accessing DS-A. - The ones now paged-in are counted for the *owing* AS-A. - The ones now paged-in are *not* counted for AS-B when accessing DS-A. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
What are SMF30 fields SMF30HVO and SMF30HVH telling me?
I've got a new job which forces me to think about such things as the topic at hand. Please bear with me. I (think) I understand how virtual and real storage, below, above the line and bar work. In course of analysing a production problem related to paging, I'm searching the SMF30 haystack for hints on what's going on. I'm looking at the storage section and am having difficulties to understand what SMF30HVO and SMF30HVH are telling me. I thought I had understood, but as I see HVH values to be significantly higher than the HVO values, I'm confused. I've searched the archives and Google but could not find useful information. >From the description of the fields in the SMF manual, I would have expected >HVO to be at least as high as HVH. Anyone to educate me of point me the some good doc on this? -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: What are SMF30 fields SMF30HVO and SMF30HVH telling me?
> Might it be OA48512? Looks so. Thanks -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
CICS suffering from Page-In delay: Page Stealing versus Paging Out
A word in advance: I have subscribed to the MXG-L list but have not yet granted access, so I'm asking here first. I'm busy working on a problem some of CICS region are suffering from periodically. There are times when some CICS regions are paging-in some MB of storage and are thus suffering from the paging delay. Since this is about page-in, the storage that is paged-out has been in use before. It is not too clear yet what this storage is and what is causing it to be referenced again in that massive way. That's being investigated and is not directly my question here, although any hint is welcome as well. I'm trying to understand why that amount of storage has been paged-out from those CICS regions, and when this has happened. looking at the SMF30 subtype 2 for the CICS regions a indeed can see intervals with large number of pages being paged-out (SMF30PGO). I do not see any non-zero values indicating pages had been stolen (SMF30PST). It has been my understanding (which may be wrong, of course) that page steaqling happens when the Available Frame Queue goes below the min threshold. SRM/RSM will them steal pages and page them out. I would expect those numbers to appear in SMF30PST. And if this number is 0 for an address space, this one was not a donor in a low AFQ situation, right? We do see the AFQ going low sometimes, and it was my assumption that those CICSs were victims by having pages stolen. This does not seem to be the case. What then causes the pages to be paged-out (SMF30PGO)? Is CICS doing PGOUT by itself? -- Peter Hunkeler -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: Copy a directory structure with copying files.
I'm sorry for the bad formatting. Trying again I'm adding some pax options as follows: a) I want the target to inherit all source attributes: ==> pax -rwE -pe -XCM source target b) I want the target to keep source attributes, except for ACLs (if an) which should be set baset on the target environment's ACLs: ==> pax -rwE -ppx -XCM source target I like to see what's been copied, therefore the -E option And don't forget that you may need appropriate rights, depending on what you intend to do. E.g. setting extended attributes (APF, program controlles, sharelib) require access to BPX.FILEATTR profiles. copytree can be much lower than pax. Both are much slower that an IDCAMS REPRO, which is my preferred option *if* the part being copied is contained in a separate file system. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: Copy a directory structure with copying files.
I'm adding some pax options as follows: a) I want the target to inherit all source attributes:==> pax -rwE -pe -XCM source target b) I want the target to keep source attributes, except for ACLs (if an) which should be set baset on the target environment's ACLs:==> pax -rwE -ppx -XCM source target I like to see what's been copied, therefore the -E option And don't forget that you may need appropriate rights, depending on what you intend to do. E.g. setting extended attributes (APF, program controlles, sharelib) require access to BPX.FILEATTR profiles. copytree can be much lower than pax. Both are much slower that an IDCAMS REPRO, which is my preferred option *if* the part being copied is contained in a separate file system. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: CICS suffering from Page-In delay: Page Stealing versus Paging Out
> There is an option in the WLM to make a service class memory critical. Yes, I know and I have verified that we do *not* used it. Why? Good question that I will have to raise. I'm very astonished the CICSs are not set storage critical. But I'm new to this installation and don't know historical information available, yet. Apart from this, I have to live with the current setup and need to find answers to my previous questions. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: Help with mount?
> Isn't that supposed to be; SUPERUSER.FILESYS.USERMOUNT not > SUPERUSER.FILESYS.MOUNT? I wasn't aware of the USERMOUNT profile, I only ever looked at the latter. But from reading what the former allows, I'm having difficulties to see the difference between having READ on the former or the latter. Both seem to allow users to mount with NOSETUID. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: Help with mount?
> You can add MOUNT to your USERID which is easy or you can just submit a JOB > to issue the MOUNT and UNMOUNT He asked about the authority to do z/OS UNIX file system mounts and unmounts. Mount authority is given when a) the process doing the mount/unmount is running uid=0 b) the process doing the mount/unmount is running with an MVS userid that has been given READ or UPDATE permission to profile SUPERUSER.FILESYS.MOUNT in the UNIXPRIV class (RACF). READ allows mounts with NOSETUID attribute, only. UPDATE allows SETUID or NOSETUID. See z/OS UNIX System Serives PLanning Guide for details on the various UNIXPRIV class profiles. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: SMF Type 30
>My belief is that the IBM developers know what a task is and would not have >included "task" in the field name if the field applied to anything other than >a task. They sure know and they sure know that a UNIX processs is just a standard MVS task with some additional attributes. If a program running as a UNIX process does, for example, a local spawn(), it creates a new process in the very same address space. But this process needs to be tied to a TCB in order to be dispatchable, so a new task is created as part of spwn() processing. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: Dataset in use on shared DASD
> D GRS,C This is of no value when there is no contention. Nothing will be returned. You might have been thinking of this command: D GRS,RES=(SYSDSN,data.set.of.interrest) But even this command will at most tell you something about whether the dataset is currently allocated or not. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: ENQ rname_addr description
> The RNAME must be from 1 to 255 bytes long, and can contain any hexadecimal > character from X'00' to X'FF'. To me a character is a character, thus a "hexadecimal character" would be one of {C'a', ..., C'f', C'A', ..., C'F', C'0', ..., C'9' }. Why not "... 255 bytes long, and can contain bytes of any value, i.e. x'00' to x'FF'" -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: AW: Re: SMF Type 30
>I believe I have seen it discussed that "task" is more closely akin to >"thread". Threads also need TCBs under the hood. Processes and threads are both ways to perform multitasking, so both need TCBs. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: LE Condition Handler
> Retry is not possible, though, and if the operator issues a second cancel > command the non-APF program cannot trap that one, but the first one can be > handled. And this very fact disqualifies an x22 recovery routine as the solution for such an important task as writing data out to disk. Been there seen that: Operators issuing "C SOMEJOB" some 50 times within 10 minutes or so (no joke, and that's not the whole story) against some hanging address space which did not get cancelled. With this experience in mind, I would never consider an ESTAE exit to be able to reliably do lengthy actions on a x22 abend. And I consider writing important data out to disk to be an endless lengthy operation. Alternatives: - Could you change the code to use a coupling factility structure to keep that index data? - Could you change the code to use a system logger logstream? -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: Anyone Using...PSF-Managed, Channel-Attached Printers?
A former employer of mine was heavily using a couple of ESCON channel attached Océ printers under PSF. They changed the interface to TCP/IP around 2011 (roughly). Still heavy PSF users but only with TCP/IP attached printers. --Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: How to output afp datastream (was How to output arp datastream)
> Is there any way I can output the afp data stream to a qsam file format?and > transmit the dataset to other platform! Not sure what your problem is, and what you consider a "QSAM file format". An AFP datastream, when created on z/OS is nothing more than a sequence of variable length records. Rendering software, such as ISIS Papyrus, write the records using plain normal z/OS, i.e. QSAM. When is comes to send the data to some other platform, just use FTP in *binary* mode. When you receive AFP datastreams generated on non-z/OS platforms, you must "reblock" the data. This "AFP" speak and a bit misleading. What it does is to split the byte stream received into variable length records. I may be of more help, if you can be more specific about what your problem is. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
ISPF 3.2 (allocate) does not honor SDB
It seems I'm having a senior moment. For years, I used to allocate data sets in ISPF 3.2, leaving the block size field empty. The system then calculated the block size based on RECFM anf LRECL. The result was half track blocking. At my new employer, I get the block size set to maximum (for RECFM & LRECL), so FB-80 leads to 32720. This is z/OS V2.1. This is only via ISPF 3.2; in batch, I still get half track blocking. What am I missing? -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: ISPF 3.2 (allocate) does not honor SDB
>What type of dataset? PS, PO, PDSE, ...? The optimal block size for PDSE >(FB-80, DSNTYPE=LIBRARY) is 32720. Yes, its about PDSEs. Kind a makes sense, sure. However I have been using PDSEs for a long time and don't seem to remeber to have seen this. Must have been blind (meaning I didn't care to look to carefully), obviously. Did this change with z/OS V2.1? -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: AW: Re: ISPF 3.2 (allocate) does not honor SDB
>No. >Check the archives ("Default System BLKSIZE for PDSE" in Oct 2006) >"Partitioned Data Set Extended Usage Guide" ( >http://www.redbooks.ibm.com/abstracts/sg246106.html?Open ) Figure 10-32 shows >a PDSE created 2004-11-04 with SMS.IND=R (SDB) and block size 32720. How embarrassing. I understand I'm at an age where one starts to forget. However, I don't understand I just never recognized this behaviour. Anyway, thanks for the pointer to that thread. Interesting reading. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: FTP - how get RDW and ASCII
> Not Unix, but... Not UNIX either, but... //ICONV EXEC PROC=EDCICONV, // INFILE=?FRED.INFILE?, // OUTFILE=?FRED.OUTFILE?, // FROMC=?IBM-037?, // TOC=?ISO8859-1? -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN