technical: Six z/OS Features to Reduce a Systems Programmer's Workload
Although many see z/OS as an 'old' operating system that rarely changes, the reality is different. New z/OS versions every two years regularly introduce new features and benefits. Over the past 10 years or so, this has included some features that make the lives of z/OS systems programmers easier. Let's look at my six favourite z/OS enhancements or features that make my life easier.
1. Runtime Diagnostics
Picture this: your z/OS system is sick, and things are running slowly. You issue the z/OS command:
You see the following response in the z/OS console:
EVENT 1: HIGH:HIGHCPU SYSTEM: MVS1 2023/02/04 09:15:04
ASID CPU RATE: 100% ASID: 0045 JOBNAME: ABCJB1
STEPNAME: STEP1 PROCSTEP: JOBID: JOB00078
USERID: USER1 JOBSTART: 2023/02/04 09:04:23
ERROR : ADDRESS SPACE USING EXCESSIVE CPU TIME. IT MIGHT BE LOOPING.
ACTION: USE YOUR SOFTWARE MONITORS TO INVESTIGATE THE ASID.
Voila! You've found the problem: a job was looping.
Runtime diagnostics is a started task that just sits there until needed. Systems programmers can issue a simple command, and it will check all sorts of things, including
- CPU usage and looping tasks
- ENQ, latch and lock delays and deadlocks
- Critical messages or message combinations
- Outstanding WTOR messages
- JES2 health exceptions
- Server address space health exceptions
One single command can save 30 minutes of manual analysis.
First introduced with z/OS 1.13 in 2011, regular enhancements make runtime diagnostics one of the best tools to help z/OS systems programmers analyse problems.
2. z/OS Health Checker
I love the fact that I can logon to SDSF, and look through a whole bunch of systems checks that the z/OS Health Checker automatically does. Many of these I would never have found myself, others would have taken a while to dig out.
z/OS Health Checker is enhanced with Predictive Failure Analysis (PFA) that can detect 'soft' problems before they become 'hard' problems. For example, detecting if an address space is obtaining too many ENQs, or CSA storage is creeping up. If setup right, it can also perform some actions to help diagnosis, including performing a Runtime Diagnostics analysis, or dumping affected address spaces.
3. z/OS Upgrade Tools
It seems like we're already planning, implementing, or finalising a z/OS upgrade. With every new version of z/OS, IBM release two fantastic tools to make installing and migrating to the new version easier:
- z/OS Health Checker – IBM releases new z/OS Health Checker checks that analyse the current system, and look for issues that may affect migration.
- z/OSMF Workflows – IBM release z/OS Management Facility workflows so you can step through all the migration steps. So good, IBM no longer publishes the z/OS Migration manual.
SDSF has been around since I started working on the mainframe. However, since Rocket software have taken charge, a lot of really amazing features have been added. Today, SDSF is an excellent all-round z/OS monitor. Want to list APF authorized libraries? Easy. Want a quick view of all z/OS systems in the Sysplex? No problem. Want to browse the contents of storage? Can do.
If you haven't taken a fresh look at SDSF, now is the time to find out all the brilliant new features.
5. PARMLIB Validation
OK, this isn't one feature, but a few. IBM haven't produced a single utility to validate z/OS PARMLIB settings. But there are a few other ways it can be done. For example:
- RACF RACPRMCK command – validate RACF PARMLIB members
- TSO PARMLIB CHECK command – validate IKJTSOxx PARMLIB members
- z/OS Symbolic Parmlib Parser – sample ISPF dialog to see parmlibs members after symbol substitution. Can also check the syntax of LOADxx and GRSRNLxx PARMLIB members
- SETOMVS SYNTAXCHECK - z/OS command to check the syntax of the BPXPRMxx member. Also checked by the z/OS Health Checker rule USS_PARMLIB
- CEEPRMCC – Language Environment program to check the syntax of CEEPRMxx members
Other products also provide features to check PARMLIB syntax. For example, Broadcom MIM has the SyntaxSCAN utility.
Scanning parmlib changes before implementing them can save a lot of pain later.
6. ISPF Option 3.17
I've used the ISPF ISHELL utility to manage z/OS UNIX files and filesystems for years. A few months ago, a friend of mine suggested that I was an idiot, and should use the ISPF option 3.17 introduced in z/OS 2.3. OK Liam D, you were right.
For us z/OS guys who struggle a little using UNIX shells, 3.17 is a great ISPF panel for doing anything with z/OS UNIX filesystems and files.
As a senior systems geek, I'm all for working less. These tools are free, always available, and easy to understand. Six ways to work less.