SG 246377
SG 246377
z/OS Version 1
Release 6
Implementation
z/OS, ServerPac, WLM, RMF
Paul Rogers
Patrick Bruinsma
Olivier Daurces
Robert Kohler
Meganen Naidoo
Miha Petric
Natabar Sahoo
ibm.com/redbooks
International Technical Support Organization
April 2005
SG24-6377-00
Note: Before using this information and the product it supports, read the information in “Notices” on
page ix.
This edition applies to Version 1 Release 6 of z/OS (5694-A01), to Version 1 Release 6 of z/OS.e (5655-G52),
and to all subsequent releases and modifications until otherwise indicated in new editions.
Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .x
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
The team that wrote this redbook. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Become a published author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Contents v
6.1.1 RMF IFA support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
6.1.2 SMF record changes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
6.1.3 Special programming enhancement details . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
6.2 ESS support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
6.2.1 Enhanced reporting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
6.2.2 SMF extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
6.2.3 SPE details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Contents vii
viii z/OS Version 1 Release 6 Implementation
Notices
This information was developed for products and services offered in the U.S.A.
IBM may not offer the products, services, or features discussed in this document in other countries. Consult
your local IBM representative for information on the products and services currently available in your area. Any
reference to an IBM product, program, or service is not intended to state or imply that only that IBM product,
program, or service may be used. Any functionally equivalent product, program, or service that does not
infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to
evaluate and verify the operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter described in this document. The
furnishing of this document does not give you any license to these patents. You can send license inquiries, in
writing, to:
IBM Director of Licensing, IBM Corporation, North Castle Drive Armonk, NY 10504-1785 U.S.A.
The following paragraph does not apply to the United Kingdom or any other country where such provisions are
inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS
PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT,
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of
express or implied warranties in certain transactions, therefore, this statement may not apply to you.
This information could include technical inaccuracies or typographical errors. Changes are periodically made
to the information herein; these changes will be incorporated in new editions of the publication. IBM may make
improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time
without notice.
Any references in this information to non-IBM Web sites are provided for convenience only and do not in any
manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the
materials for this IBM product and use of those Web sites is at your own risk.
IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring
any obligation to you.
Information concerning non-IBM products was obtained from the suppliers of those products, their published
announcements or other publicly available sources. IBM has not tested those products and cannot confirm the
accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the
capabilities of non-IBM products should be addressed to the suppliers of those products.
This information contains examples of data and reports used in daily business operations. To illustrate them
as completely as possible, the examples include the names of individuals, companies, brands, and products.
All of these names are fictitious and any similarity to the names and addresses used by an actual business
enterprise is entirely coincidental.
COPYRIGHT LICENSE:
This information contains sample application programs in source language, which illustrates programming
techniques on various operating platforms. You may copy, modify, and distribute these sample programs in
any form without payment to IBM, for the purposes of developing, using, marketing or distributing application
programs conforming to the application programming interface for the operating platform for which the sample
programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore,
cannot guarantee or imply reliability, serviceability, or function of these programs. You may copy, modify, and
distribute these sample programs in any form without payment to IBM for the purposes of developing, using,
marketing, or distributing application programs conforming to IBM's application programming interfaces.
Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems,
Inc. in the United States, other countries, or both.
Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the
United States, other countries, or both.
UNIX is a registered trademark of The Open Group in the United States and other countries.
Linux is a trademark of Linus Torvalds in the United States, other countries, or both.
Other company, product, and service names may be trademarks or service marks of others.
This IBM® Redbook discusses the many enhancements to z/OS® Version 1 Release 6, and
provides information to help you install, tailor, and configure this release.
It first offers a broad overview of z/OS Version 1 Release 6, and then goes into detail on how
to install and tailor z/OS and the many components that have been enhanced, such as: the
z/OS base control program (BCP), ServerPac, DFSMS, Workload Manager (WLM), RMF™,
SMP/E, z/OS UNIX®, ISPF, and Communication Server.
This redbook is intended for systems programmers and administrators responsible for
customizing, installing, and migrating to the newest levels of z/OS.
Patrick Bruinsma is an Advisory IT Specialist working for IBM Global Services in The
Netherlands. He has six years of experience with z/OS, DB2®, MQSeries®, Websphere MQ
Workflow, Blaze Advisor, CICS®, and UNIX System Services. He participated in a previous
ITSO residency dealing with UNIX-related topics.
Olivier Daurces is an Advisory IT Specialist working for IBM Technical support in France. He
has five years of experience with z/OS. His areas of expertise include RACF® and Parallel
Sysplex®.
Robert Kohler is a Certified Consulting Systems Products IT Specialist working for IBM US
in Technical Sales Support - Americas Techline. He has more than 23 years of systems
programming experience in mainframe environments on MVS™, OS/390 and z/OS platforms.
His expertise covers a wide range of hardware and software products. He specializes in
installation, implementation, migration, performance tuning, and capacity planning.
Meganen Naidoo is a Technical Architect working for Comparex Africa, the leading provider
of competitive, innovative and practical business solutions, based in South Africa. He has
more than 20 years of mainframe experience, working on VM, OS/390, z/OS, and Linux®
system platforms. His main areas of expertise include a variety of technical topics on z/OS,
Miha Petric is a system programmer from Slovenia working as IBM subcontractor. His areas
of expertise include MVS and its subsystems. He has worked in this field since 1978. He is an
IBM Business Partner for education and teaches IBM classes.
Your efforts will help increase product acceptance and customer satisfaction. As a bonus,
you'll develop a network of contacts in IBM development labs, and increase your productivity
and marketability.
Find out more about the residency program, browse the residency index, and apply online at:
ibm.com/redbooks/residencies.html
Comments welcome
Your comments are important to us!
We want our Redbooks™ to be as helpful as possible. Send us your comments about this or
other Redbooks in one of the following ways:
Use the online Contact us review redbook form found at:
ibm.com/redbooks
Send your comments in an email to:
[email protected]
Mail your comments to:
IBM Corporation, International Technical Support Organization
Dept. HYJ Mail Station P099
2455 South Road
Poughkeepsie, NY 12601-5400
This chapter provides an overview of the features and new functional changes offered by
z/OS Version 1 Release 6.
z/OS V1R6 has the Program Number 5694-A01. You can order z/OS V1R6 electronically via
ShopzSeries. Make sure you order the optional priced and unpriced features that you were
using in previous releases of z/OS, as follows:
The unpriced (relatively new) feature z/OS Security Level 3, which now includes the
following:
– OCSF Security Level 3
– LDAP 31-bit Client Security Level 3 (a new FMID in V1R6)
– LDAP 64-bit Client Security Level 3 (a new FMID in V1R6)
– Network Authentication Service Level 3
– System SSL Security Level 3, if you desire
If you order z/OS V1R6 ServerPac, then you would want to use this latest level of SMP/E to
process your electronic order. You may order SMP/E V3R3 using the ShopzSeries Web site:
http://www.ibm.com/software/shopzseries
You may download this SMP/E level from the download zone when needed; the download
zone can be found at:
http://www.ibm.com/software/os/
Table 1-1 Changes to base elements and unpriced features in z/OS V1R6
Integrated Security Services Base element – New subcomponent LDAP Server
64-bit Client (JRSL362 ) added.
Table 1-2 Priced feature and base elements deleted in z/OS V1R6
C/C++ ISPF panels (from Priced Feature - invoke the C/C++ compiler via
C/C++) UNIX, JCL, or TSO/E.
Run-time Library Services Base Element - no longer required due to
(RTLS) (from Lang Env) stability and upward compatibility
Dynamic Link Library (DLL) Base Element - no longer needed due to C/C++
Rename Utility (from Lang Env) DLLs being licensed with the z/OS base
SMIv1 version of the IBM MVS Base Element - if you want to continue to use
Enterprise-specific MIB module SMIv1, publicly available tools can convert
(from Communications Server) SMIv2 to SMIv1
System SSL Java Class and Base Element – For Java application, use the IBM Java
JNDI support Secure Sockets Extension (JSSE) product
DCE Application Support Base Element - no replacement necessary.
Evaluate WebSphere for similar function
Encina Toolkit Executive Base Element - no replacement offered.
Marketplace has moved to other technologies
Text Search Base Element - no replacement offered
OROUTED
z/OS V1R6 is planned to be the last release in which z/OS Communications Server supports
OROUTED. After z/OS V1R6, the function will be removed from the product. Customers
should use OMPROUTE as their dynamic routing daemon.
DFSMS ISAM
Due to ISAM's limited functionality and the capabilities of VSAM, particularly VSAM data sets
in extended format, z/OS V1R6 is planned to be the last release in which DFSMS ISAM and
the utility program, IEABISAM, will be available. IBM has provided the ISAM Compatibility
Interface (ISAM CI), which allows users to run an ISAM program against a VSAM KSDS data
set. Details on using this interface and procedures for converting ISAM data sets to VSAM
data sets can be found in Appendix E of z/OS DFSMS: Using Data Sets, SC26-7410. The
order numbers for editions of this book are as follows:
SC26-4922: For DFSMS/MVS® (any release)
SC26-7339: For OS/390 V2.10
SC26-7410: For z/OS
The introduction of ICF catalogs in the mid-1980s and other catalog enhancements (such as
the multilevel alias support) directly addressed those problems. In addition, processes were
developed for system build to use system-specific aliases instead of JOBCAT or STEPCAT.
CBIPO introduced these processes. They are used today by offerings such as ServerPac to
create data set entries in the new master catalog of the system being built.
At the time ICF catalogs were introduced, the JOBCAT and STEPCAT facilities were
functionally stabilized. Neither MS-managed data sets nor UCBs above the 16 megabyte line
may be used with JOBCAT or STEPCAT. ICF catalogs contain sufficient functional capabilities
so that all functions that previously could only be performed with JOBCAT or STEPCAT can
now be done without them.
Furthermore, the use of JOBCAT and STEPCAT can actually cause significant problems.
Data sets are generally not cataloged according to the normal predictable search order when
JOBCAT or STEPCAT is used. This impacts the ability to do comprehensive installation
storage management and can increase staff requirements. For example, interval migration
and recall using DFSMShsm™ is effectively unusable when the data sets cannot be found
using the standard catalog search order.
The use of JOBCAT and STEPCAT can also result in noticeable increases in the time
required to perform catalog requests.
C/C++ compilers
From the optional features C/C++ with Debug Tool and C/C++ without Debug Tool, IBM
intends to remove the OS/390 V2R10 level of the C/C++ compilers. The OS/390 V2R10
C/C++ compilers are shipped as an aid to migration to the C/C++ compilers that were
introduced in z/OS V1R2. The z/OS V1R2 level of the C++ compiler supports the ISO 1998
Standard level of C++.
For information about migrating from the older to the newer level of the compilers, see z/OS
C/C++ Compiler and Run-Time Migration Guide for the Application Programmer, GC09-4913.
OS/390 R10 level of the Priced Feature - move to the ISO 1998 Future
C/C++ compilers (from Standard level of the compilers (introduced in
C/C++) z/OS R2)
AnyNet (from Base Element - implement Enterprise Future
Communications Server) Extender as a replacement
Note: The advantage is that products other than z/OS can exploit the packaging and
installation enhancements in SMP/E without having to install the prerequisites for a new
level of the operating system.
In addition, since SMP/E plays a key role in Internet delivery of software, it allows IBM to
exploit the Internet delivery and installation technologies in SMP/E sooner without having to
wait for customers to migrate to new levels of the operating system. SMP/E V3R3 is available
at no additional charge to customers and it will run on any currently supported operating
system.
SMP/E V3R3 provides the following enhancements for the z/OS V2 Release:
Utilize z/OS Communications Server FTP Client functionality for SMP/E RECEIVE
FROMNETWORK operations.
Extend GIMZIP and GIMUNZIP functionalities to support VSAM ESDS, KSDS, LDS,
RRDS data sets, UNIX directories, and UNIX files.
Enhance RECEIVE FROMNETWORK service routine to support the internet delivery of
ServerPac. GIMTGPKG a new service routine is introduced to transport GIMZIP package
from remote FTP server to z/OS host, it ensures integrity of package files and it support
secure transmission.
Utilize IEBCOPY COPYMOD support to reblock load modules to its destination data set’s
block size, preventing creation of fat blocks in a destination data set. SMP/E uses
COPYMOD to copy ++MOD and ++PROGRAM elements.
Extend RECEIVE sourceid function that it performs as ++ASSIGN function. The goal is to
have the specified sourceid assigned to all PTFs in the input stream if they would have
been received.
The Debug Tool supports debugging of application programs that run in the following
environments:
CICS
IMS
DB2
WebSphere
TSO
JES batch
UNIX System Services
Debug Tool for z/OS can be used in conjunction with the following products to debug z/OS
and OS/390 applications from the workstation using the remote debug capabilities:
The Debug Tool for z/OS V4R1 provides the following functional and usability improvements:
You can create a DDNAME to specify the location of the listing or source file.
You can switch between hexadecimal and decimal display.
The LIST cursor command has been enhanced.
The FIND command no longer requires the use of quotes.
The IBM Debug Tool Utilities and Advanced Functions V4R1 has been enhanced to include:
Debug Utility for IMS
Usability enhancements
Support for Language Environment assembler programs
The stand-alone version of ICKDSF is now offered on CD-ROM instead of diskette. Using it
from a CD-ROM is much easier, and the enhanced capacity of CD-ROMs supports more
ICKDSF function and makes room for expansion as new capabilities are added.
ICKDSF Release 17 also incorporates a broad range of high priority customer requirements,
which includes many that have been requested for a number of years. Highlights include:
All commands can be RACF protected (MVS version only).
When an uncorrectable data check is detected during an ANALYZE SCAN, the data set
name can optionally be printed out if the track in error resides within a data set.
ICKDSF can check connectivity of devices to help verify, in many cases, whether or not
they are cabled correctly.
ICKDSF checks for the “VTOC full” condition when refreshing a VTOC or building an
index.
You can install z/OS V1R6 or z/OS.e V1R6 (including msys for Operations) in the same
SMP/E zone as the NetView and System Automation products.
In this case, it is recommended that you order the NetView and System Automation products
in your z/OS V1R6 ServerPac. They can be installed in the same zones as z/OS V1R6, and
do not require separate maintenance and duplication of service work (which they would if they
were in separate zones).
However, if you have an earlier level of either the NetView or System Automation product
installed, you have to put the product into a separate zone before installing z/OS V1R6, and
maintain its data sets with different names than the z/OS V1R6 msys for Operations data
sets. Use BUILDMCS to move the NetView or System Automation product or else you will
have to reinstall it. Older levels of NetView and System Automation than what is included in
z/OS V1R6 cannot be ordered with a z/OS V1R6 ServerPac.
If you plan on moving from z/OS V1R6 msys for Operations NetView to a full-function
NetView V1R4, there is a sample job to assist you. This sample job enlarges the msys for
Operations data sets to accommodate the extra space needed for a NetView V1R4
installation. For details, see Tivoli Netview OS/390 Installation: Migration Guide Version 1,
SC31-8768.
GIMGTPKG
GIMGTPKG
GIMUNZIP
Ensure that you have enough DASD space to download and process the order: about 6 GB
for a z/OS order.
If downloading to an intermediate server or workstation, you need enough hard drive space to
contain the package: about 5.5 GB for a z/OS order.
Note: Once the software requirements are met, ICSF, FTPS, and RACF setup is needed to
download a package.
Once you make your product selections, place your order as shown in Figure 2-2 on page 14.
You should receive an order confirmation within a few hours. After that, you will have to wait
for the order to be built by IBM and placed on the download server. Depending on what you
order, this might take up to 10 business days. Once the order is ready to be downloaded, you
will get another note saying that it is ready. This second note will contain a link to the
download page you need to use to get information for proceeding with the next step.
ShopzSeries
Step 2: Get the order confirmation
e-mail
Step 3: Get the "Order ready" e-mail
Figure 2-2 Electronic delivery work flow (1 of 5)
Go to the download page shown in Figure 2-3. It contains the information you need to
download your order. Record the following data for use in the installation dialog:
The order number
The FTP server name
The source directory
The FTP user ID you need to download the order
The FTP password you need to download the order
The hash value that will be used to check what you download to make sure it’s what we
sent
ShopzSeries
Step 2: Get the order confirmation
e-mail
Step 3: Get the "Order ready" e-mail
Figure 2-3 Electronic delivery work flow (2 of 5)
z/OS Download
driving file system
system
Figure 2-4 Electronic delivery work flow (3 of 5)
For “reasonable” connection speeds, phase 1 should finish fairly quickly. The files in phase 1
total about 30 MB before compression.
When phase 1 finishes, the order shows up in the dialog, and you are then able to select it for
installation. Also, the RECEIVE job sends a NOTIFY message to the submitter’s TSO/E user
ID as shown in Figure 2-5 on page 16. You need to have INTERCOM set in your TSO/E
profile to get the message. Do this by issuing the PROFILE INTERCOM command from ISPF
Option 6.
Once phase 1 has finished, you can begin to use the dialog to configure the order. Phase 2 of
the download proceeds in the background to get the remainder of the data for your order and
place it in the download file system.
z/OS Download
driving file system
system
Figure 2-5 Electronic delivery work flow (4 of 5)
You can begin to work with the order while phase 2 completes (refer to Figure 2-6), up to the
point where you are ready to generate the installation jobs. However, the installation job
option is not enabled in the dialog until phase 2 has finished. Since phase 2 downloads most
of the data (about 5-6GB before compression), it is likely to take considerably longer than
phase 1 to complete. Once the RECEIVE job has finished and the Installation option has
been enabled in the dialog, you can finish installing the order.
When you click on the link for downloading directly to your z/OS system, you will see
Figure 2-8 on page 18. The second arrow shows the link to the information you need to enter
in the CustomPac Installation Dialog to initiate the download. This is a text file that will contain
the order number, server name, source directory, FTP user ID and password, and the hash
value needed for the download. You should either download this file to your workstation or
copy and paste the information to a file on your workstation or on your z/OS system so that it
can be copied and pasted into the installation dialog.
The third arrow points to a sample job you can download, edit, and submit to install a new
copy of the CustomPac Installation Dialog. Since saved configurations cannot be accessed
from a new copy, this job is recommended for new ServerPac customers only.
If you cannot download directly to your z/OS system, you need to have picked the second link
on the first download page, which brings you to Figure 2-9. This page links to the Download
Director, which you can use to download your ServerPac order to your workstation.
Figure 2-10 on page 19 shows the information you will need to create the RECEIVE job.
r
c to
D ire
d
l oa
wn
Do
Note: Always specify the hash value from the download page no matter which server is
used to do the download to the z/OS system.
From there on, it’s the same as if you were using an IBM server. The advantage of using
store-and-forward is that your z/OS system need not be connected directly to the Internet.
The disadvantage is that you cannot begin to work with your order until the entire package
has been placed on your FTP server and Phase 1 of the RECEIVE job has run on your z/OS
system.
Downloading via
store-and-forward 2 of 2
Note: If the first screen says “This dialog supports electronic delivery,” then you do not
need to run the UPDATE job.
To work with older orders, you will have to convert their SCPPEENU and SCPPHENU data
sets from sequential to VSAM. There is a sample job in CPAC.SAMPLIB to help with this,
named CPPCINV. This can be done right in the middle of installing an older order so that the
new order can be installed, or at any time if you want to display saved configurations from
older orders.
2.1.8 Coexistence
The CustomPac Installation Dialog did not really provide coexistence support prior to z/OS
R6. It allowed you to display orders from prior dialog levels, but not install them. Now, the level
of the dialog shipped with a ServerPac is always used to install it. The dialog update process
updates only the master dialog, which is now used solely for order management functions
and not for order installation. Therefore, there are no restrictions on when an order can be
installed, and the master dialog update process does not disrupt the installation of an order
already in progress.
Note: If you install z/OS R6 with a ServerPac, you can still finish the installation of a CICS
order that was built previously.
Values entered once to generate the RECEIVE job are saved now and used later so they
don’t have to be entered twice.
Since we selected to receive the order from a server in the last panel, we need to tell the
dialog where the server is and also give it some information it needs to retrieve the order, as
shown in Figure 2-15 on page 25. The server name or address can point to an IBM server, if
you will download directly to your z/OS system, or to your own server if you used Download
Director to get the order from the IBM server, and will download it from there to your z/OS
system.
The source directory is the location on the server that contains your ServerPac files. The user
ID and password are used to establish the FTP session. The hash value is used during the
download to compare the one generated at IBM to the one generated on your system. If they
are equal, then what was sent is almost certainly what you received. If they do not match,
then the downloaded data is corrupted, and you need to try again.
Now that the dialog knows where to get your ServerPac order from, you need to tell it where
to store it temporarily while you work with the configuration and generate the installation jobs.
On this panel, shown in Figure 2-16 on page 26, specify the destination directory for the
download. If you want the dialog to add a job step that creates a new file system data set and
mount it, then say “yes” for “Allocate a new file system data set,” and fill in the fields below the
line “New File System Data Set Information.”
Make sure that there is enough space for the order, plus enough space to unpack the largest
non-VSAM, non-file system data set in the order. Depending on when you order with respect
to the RSU cycle, the largest data set might be the SMPPTS. You should add at least 500
cylinders to the amount of space required to download the order to allow the largest data set
to be unpacked later.
The download page shows the space required for the order, in megabytes. To convert to 3390
cylinders, multiply the number of MB by 1.4 and add at least 500.
Note: You will need to have defined a volume of 7500 cylinders or larger to download a
5,000 MB order to a single-volume file system data set.
Assuming that most z/OS systems that connect to the Internet have firewalls, we’ll answer
“Yes” to “Do you want to enter firewall commands”, as shown in Figure 2-17.
The firewall commands must be entered in a format that the GIMGTPKG program
understands, which is in the form of a <FIREWALL> tag and its subtags. A syntactically
correct example of a <FIREWALL> tag is provided, as shown in Figure 2-18 on page 27.
Remove the XML comment delimiters (<!– and -->) and edit as needed if you have anything
that needs to be passed to the firewall.
After the panel in Figure 2-19 on page 28, the dialog will put you in an ISPF Edit session
where you can edit the default JOB statement, or just copy in your own JOB statement and
save it. This JOB statement will also be used to generate the installation jobs later, but it can
be changed by selecting it from the installation option’s job list and editing it there. Since
you’ve seen an edit session before, we won’t show you another one.
Having modified the JOB statement as needed, the next thing to do is to generate the
RECEIVE job so you can submit it. Pressing Enter, as shown in Figure 2-20, will display it in
ISPF Edit. One of its steps will save a copy of the job as originally generated in the
SCPPBENU data set, so if something goes wrong or you just want to see what was
generated, you have a copy without needing to generate it again. If you modify the job before
submitting it, though, the modified job will be submitted but it will not be saved.
The panel in Figure 2-22 collects the information we need to run the RECEIVE job from tape,
namely the RIM tape volume serial and tape unit. The edit job statement introduction panel,
subsequent edit session, RECEIVE job introduction panel, and subsequent edit session are
the same as for orders to be downloaded from a server.
As of z/OS V1R3 and z/OS.e V1R3, the BCP also includes the program management binder,
which was formerly in the DFSMSdfp base element. Previous versions of z/OS established
basic support for 64-bit operation. z/OS V1R6 continues to build on the basic support by
enabling additional system components to exploit the new architecture. It also provides
expanded capabilities that include a fully functional 64-bit environment for C/C++ applications
that facilitates application program and middleware growth into the 64-bit virtual environment.
This chapter focuses on the enhancements provided with the z/OS V1R6 base control
program (BCP), as follows:
System logger - 64-bit virtual support
RRMS 64-bit callable services
RRS - restart anytime/anywhere
SMF buffer constraint relief
GRS enhancements
2047 members per XCF group
Service aids enhancements
MVS allocation enhancements
New JCL keywords for PSF
Unicode enhancements
Greater than 16 CPU support
Support for zAAP
Binder enhancements
Linkage index reuse
Relocate structure after CF maintenance
Under z/OS V1R6, the System Logger services API can now be called in 64-bit mode. 64-bit
applications can call logger services directly without switching addressing modes. They no
longer need to be bimodal. Also, several of the logger services that handle high volume and
large data buffers allow those buffers to utilize storage above the 2 GB bar. However, with one
exception for the new BUFFER64 keyword, all addresses for user data areas and parameter
lists must still be 31-bit. In order to use these services in 64-bit mode, it is necessary to
reassemble the module that invokes them.
These buffers can now be placed in storage above the 2 GB bar to provide storage constraint
relief. Each service has its own length requirement for the buffer and the size of the buffer
accepted has not changed.
The existing BUFFER keyword can only be used for 31-bit addressing. The BUFFER64
keyword can contain any valid 64-bit address, whether it be above or below the bar. The two
keywords are mutually exclusive.
You can call any of the system logger services in AMODE 64, but the parameter list and all
other data addresses, with the exception of BUFFER64, must reside in 31-bit storage.
IXGBRWSE service This service supports the new BUFFER64 keyword. IXGBRWSE is
used to browse (read) log data from a log stream. Using IXGBRWSE,
a program can read consecutive log blocks in a log stream or search
for and read a specific log block in a log stream. Log data is returned
into the caller’s buffer (BUFFER64) at the specified address, which
can be any valid 31- or 64-bit address. The keyword is valid on
REQUEST(READCURSOR) and REQUEST(READBLOCK).
IXGIMPRT service This service supports the new BUFFER64 keyword. IXGIMPRT is
used to import (similar to write) a log block, specifying block ID and
time stamp. It is a logstream recovery service. BUFFER64 specifies
the address of the buffer from which the log block is to be imported.
IXGWRITE service This service supports the new BUFFER64 keyword. IXGWRITE is
used to write log data to a logstream. BUFFER64 specifies the
address of the buffer from which the log block is to be written.
IXGCONN Yes
IXGDELET Yes
IXGINVNT Yes
IXGOFFLD Yes
IXGQUERY Yes
IXGUPDAT Yes
z/OS V1R6 provides RRMS callable services in assembler and C that can be called directly
by an AMODE(64) caller, and that accept parameters passed using 64-bit addresses. This
avoids switching to AMODE(31) before invoking RRMS callable services and copying
parameters to 31-bit addressable storage.
There are new ATR, CTX, and CRG callable services provided for AMODE(64) callers. These
services allow parameters to be in 64-bit addressable storage. The names of the 64-bit
callable services are different from those for the 31-bit callable services.
Attention: The SRRCMIT and SRRBACK services have no 64-bit equivalents. Use
ATR4CMIT and ATR4BACK services instead.
z/OS V1R6 allows resource managers to be restarted on a different system within the same
RRS logging group, without canceling RRS. RRS will manage any outstanding transactions
across the multiple systems internally. This enhancement eliminates an RRS outage simply to
move a resource manager to a different system. For this support, resource managers do not
have to make any code changes.
Without these APARs, the downlevel system cannot properly interpret the z/OS V1R6
changed processing, which will result in improper RRS processing of transactions.
You can only use “restart anytime/anywhere” across z/OS V1R6 systems. Unless all systems
in the RRS logging group are at z/OS V1R6, you will not get the full benefit of this support.
When you attempt to restart any resource manager running on z/OS V1R6 system, the
downlevel system will fail with a x’F02’ return code from the Begin_Restart service. Also,
z/OS V1R6 systems will reject any resource manager attempting to restart from a downlevel
system where RRS remained active with a x’F02’ return code from the Begin_Restart service.
The message IEE986E is issued when the allocation of buffers in the SMF address space
exceeds the warning level (default is 25%). As each additional allocation occurs, this
message is redisplayed with an updated percentage value unit all of the buffer space is
exhausted. When the buffer is 100% filled, message IEE979W is issued.
APAR OW56001 provides relief by increasing the initial, incremental, and maximum buffer
size limit and the warning level. The maximum buffer allowed with this APAR is 1024 MB.
Note: We recommend to check the “high water mark” value in the Type 23 record
(SMF23BFH), and set the BUFSIZMAX value to twice this value.
BUFUSEWARN
The BUFUSEWARN in parmlib is specified as:
BUFUSEWARN (dd) Specifies the buffer warning level percentage when SMF will start
issuing message IEE986E. When the amount of “in-use” buffer
percentage falls below the BUFUSEWARN, message IEE986E is
deleted. The value specified is from 10 to 90 (10% to 90%). The
default is 25 (25% of BUFSIZMAX value). D SMF,O displays the
BUFUSEWARN value.
Implementation
The new SMF parameters are specified in the following ways:
SYS1.PARMLIB(SMFPRMxx).
The SET SMF (T SMF) command.
The SET command specifies a different SMFPRMxx parmlib member or initiates the
restart of SMF. The command is SET SMF=xx, where xx specifies the two alphanumeric
characters indicating the SMFPRMxx member of the logical parmlib containing the
parameters the system is to use.
The SETSMF (SS) command.
The SETSMF command allows an installation to add a SUBPARM parameter or replace
any previously-specified parameter in the active SMF parmlib member except the
ACTIVE, PROMPT, SID, or EXITS parameters. The SETSMF command cannot add a
parameter to the active SMF parmlib member. The SETSMF command cannot be used
with a SMFPRMxx member that specified NOPROMPT. To avoid possible confusion with
the SET SMF command, use the abbreviation SS for the SETSMF command.
The command is issued as SS parameter(value[,value]...). For example:
SETSMF SUBSYS(STC,TYPE(0:127),INTERVAL(003000)) or
SS SUBSYS(STC,TYPE(0:127),INTERVAL(003000))
Message changes
The following messages are changed to support this enhancement:
IEE967I
The new BUFSIZMAX and BUFUSEWARN parameters will be displayed on the IEE967I
display SMF options message. Figure 3-2 on page 38 shows the messages generated
when the command is issued.
The new fields added to “IPL SMF/SET SMF/SETSMF Section” are shown in Figure 3-3
on page 39. The new fields follow the existing field, SMF90IDT.
Coexistence
Since SMF is specific to each LPAR, there are no coexistence issues with this support.
This service uses the ENQ, DEQ, and RESERVE macros for serialization processing. The
macros identify the resource by its symbolic name, which has three parts: QNAME, RNAME,
and SCOPE. The resource is serialized with a scope of STEP, SYSTEM, SYSTEMS, or
sysplex. The resource is used by authorized or unauthorized users and ownership is either
shared or exclusive. This service is widely used and controlled by installations using RNLs
and Exits.
This service uses Latch_Create, Latch_Obtain, Latch_Release and Latch_Purge services for
serialization processing. The resource is associated with a latch number and the latch has a
scope of single system. The latch is used by authorized users only; ownership is either
shared or exclusive. This service is widely used by systems and subsystems. It cannot be
controlled by installations.
GRS complex
GRS is configured either in Ring or Star mode in order to communicate with other instances
within the GRS complex. IBM recommends GRS Star for performance and availability
reasons.
GRS Ring consists of one or more systems connected to each other using CTCs or XCF
connections. The links are used to pass global resource information from one system to
GRS Star uses a coupling facility lock structure, ISGLOCK, so each system can go directly to
the coupling facility to get an ENQ. No messages are sent in non-contention cases. In a star
complex, when an ISGENQ, ENQ, DEQ, or RESERVE macro is issued for a global resource,
MVS uses information in the ISGLOCK structure to coordinate resource allocation across all
systems in the sysplex.
Figure 3-4 shows a conceptual view of GRS Star and Ring complexes.
G RS R ing G RS Star
RSA
ENQ/DEQ
CF
The synchronous RESERVE feature was added to Global Resource Serialization in OS/390
Release 7. The SYNCHRES option in the GRSCNFxx parmlib member allows an installation
to specify whether the system should obtain a hardware RESERVE for a device prior to
returning from the RESERVE service. Thus the caller has both the ENQ (recommended to be
excluded to local ENQ) and the HW RESERVE. This option might prevent jobs that have a
delay between a hardware RESERVE request being issued and the first I/O operation to the
Under z/OS V1R6, the GRSCNFxx parmlib member SYNCHRES option is active by default.
The installation can deactivate it through either the GRSCNFxx parmlib member or the
SETGRS operator command.
Having SYNCHRES off can cause a deadlock and/or data integrity problem. Having it on may
cause a very minimal negative performance effect. Therefore, z/OS V1R6 has provided you
the ability to decide how you want the reserve to be handled, by using the ISGENQ
SYNCHRES(YES,NO, SYSTEM) option. If you know that the serialization protocol works fine
by getting a local ENQ exclusive and then doing some processing before the physical volume
RESERVE completes, then you can choose SYNCHRES(NO) on ISGENQ. If you know that
your serialization protocol can result in a deadlock or possible data corruption if the reserve is
obtained after the ENQ is obtained but before the physical volume RESERVE completes, then
specify SYNCHRES(YES) on ISGENQ to prevent this from occurring.
To manage the ENQ/Latch contention effectively, z/OS V1R6 GRS now exploits the “type 2”
system event (Sysevent) services, ENQHOLD and ENQRLSE, which were introduced by
WLM in z/OS 1.3. This service allows the caller to pass additional data to SRM describing the
request.
New messages
The following new messages are added:
ISG355I IARV64 service-name SERVICE FAILED, RC=return-code, RSN=reason-code
START@=64-bit starting address END@=64-bit ending address DIAG=x DETECTING
MODULE=name of the detecting module
Explanation: An IARV64 service was issued, but failed with an error return and reason
code. Refer to the IARV64 documentation for information on return and reason codes.
System action: The system continues processing.
ISG356E SYSTEM system-name DOES NOT SUPPORT ISGQUERY. SYSPLEX WIDE
REQUESTS MAY CONTAIN INCOMPLETE DATA.
Explanation: GRS detected a system in the GRS complex that is incapable of handling
ISGQUERY requests from other systems.
System action: The issuing system continues processing. However, it will not send any
sysplex-wide ISGQUERY requests to the named system. Data returned on all
sysplex-wide ISGQUERY requests may be incomplete.
XCF originally supported between 8 and 511 members per group. This number was sufficient
for most groups, as they typically have a small number of members. But this value was too
small for those installations that run large numbers of CICS regions.
The member limit was increased to the maximum value of 1023 in OS/390 V2R5.
Large customers are now running with 800+ CICS regions. They will not be able to start more
than 1023 CICS regions due to the XCF member limit. This limit was derived from the 2 GB
size of the IXCDSMEM data space and a group limit of 2045.
XCF has been enhanced to provide support for up to 2047 members per XCF group. The new
couple data set formatting utility (IXCL1DSU) now supports formatting a sysplex CDS for up
Table 3-8 shows the summary of CDS versions and their supported OS release.
D A,XCFAS
IEE115I 14.20.31 2004.105 ACTIVITY 268
JOBS M/S TS USERS SYSAS INITS ACTIVE/MAX VTAM OAS
00004 00025 00005 00031 00043 00005/00010 00012
XCFAS XCFAS IEFPROC NSW * A=0006 PER=NO SMC=000
PGN=N/A DMN=N/A AFF=NONE
CT=00.54.28 ET=00165.48
WKL=SYSTEM SCL=SYSTEM P=1
RGP=N/A SRVR=NO QSC=NO
ADDR SPACE ASTE=03969180
DSPNAME=IXCDSMUS ASTE=030D6000
DSPNAME=IXCDSMEX ASTE=036DE200
DSPNAME=IXCDSMEM ASTE=036DE180
Messages
The old version of IXCL1DSU will not format a sysplex CDS for more than 1023 members.
If you try to format the CDS with more than 1023 members, you will receive the message:
IXC291I INVALID NUMBER VALUE, xxxx
A sysplex will not use a version 4 sysplex CDS unless all systems support 2047 members.
Any attempt to do so will receive the message:
IXC255I UNABLE TO USE DATA SET dsname AS THE ALTERNATE FOR SYSPLEX: IT WAS
CREATED AT A FORMAT LEVEL HIGHER THAN THIS SYSTEM CAN USE
When using a version 4 sysplex CDS, systems without support for 2047 members cannot
join the sysplex and will receive the message:
IXC258I COUPLE DATA SET dsname WAS CREATED AT A FORMAT LEVEL HIGHER THAN THIS
SYSTEM CAN USE
The following topics describe the enhancements for the z/OS V1R6 service aid component.
A conventional MVS data set may occupy a maximum of 64 K tracks on a single volume.
Volume capacity in bytes is dependent on track size, but it yields an effective ability to record
less than 4 GB of data on existing DASD devices.
Many dump data sets, both system dumps and SADMPs, occupy multiple volumes. System
dumps are generated during normal system operation. The system dump service takes the
help of DFSMS while writing the dumps. The system dump supports extended PS data sets
and also uses the striping and compression technologies to store the dumps. This helps to
write the dump to a volume with more than 64 K tracks.
Before z/OS V1R6, SADMP had the restriction of writing the dump into a data set with
DSORG=PS. SADMP supports DASD data sets occupying up to 16 volumes. A single data
set can hold less than 64 GB of data (16 times 4 GB per volume). SADMP does allow the
system operator to specify a secondary dump data set as a target, but the transition from one
16-volume data set to another includes an undesirable period of time as all of the volumes fill,
and the pace of recording falls to a small fraction of what was occurring initially.
This problem has been addressed in z/OS V1R6. Now, z/OS V1R6 SADMP can use extended
format non-VSAM data sets (DSORG=PS-E). These data sets are not limited to 64 K tracks
per volume and can occupy a maximum of 32 volumes. So, it gives the facility the opportunity
to plan ahead for the DASD space required for a SADMP. You may change your SMS
DATACLASS for this support. However, the following restriction still applies:
The SADMP data set does not support striping.
The SADMP data set does not support compression.
AMDSADDD is a REXX utility for the system programmer to allocate and initialize the DASD
SADMP data set. This utility is supplied in SYS1.SAMPLIB. When you plan to take a
stand-alone dump to DASD, you must allocate and initialize the dump data set using this
utility.
(Type[,[Storclas][,[Dataclas][,[Mgmtclas]]]])
where
Type is the device type as in earlier releases.
Storclas is the SMS storage class.
Dataclas is the SMS data class.
Mgmtclas is the SMS management class.
Note: APAR OA04140 will roll back this support up to z/OS V1R4.
z/OS V1R6 SYSMDUMP writes RECFM=FBS data sets. System-determined BLKSIZE may
be requested. Multiple dumps may be written using DISP=MOD to a SYSMDUMP data set.
System support for SYSMDUMPs anticipates this and pads all blocks written to BLKSIZE to
ensure that the RECFM=FBS attribute is retained.
GTF has been enhanced in many ways for z/OS V1R6. The most significant change allows
multiple instances of GTF to be active concurrently.
z/OS V1R6 allows multiple instances of GTF to be active concurrently. This is a functional
enhancement and not directed toward enhancing performance. When you activate multiple
GTF instances, each instance operates as a system task in its own address space. The only
way to activate GTF is to enter a START GTF command from a console with master authority.
Using this command, select either IBM’s procedure or your cataloged procedure for GTF. The
cataloged procedure defines the GTF operation; you can accept the defaults that the
procedure establishes, or change the defaults by specifying certain parameters on the START
GTF command.
Each instance of GTF can be assigned a unique identifier that is specified on the START GTF
command after the GTF keyword. This will allow you to recognize and control specific
instances of GTF. If a unique identifier is not specified, the operating system assigns a default
identifier with the device number of the volume on which the trace data set resides. This
makes it difficult to differentiate between multiple instances of GTF.
Figure 3-7 shows an extract from the SDSF DA panel showing multiple instances of GTF
active at the same time. We have issued the command S GTF twice and S GTF.GTF once.
You will notice that two instances of GTF have the same identifier, 2517. This is the DASD
device number where the trace data set resides. This is because we issued the S GTF
command twice without an identifier. However, you will also notice that they are running in
different address spaces (different ASID and different JobID).
EPTRACE subcommand
A new EPTRACE subcommand has been added. This subcommand is used to generate
reports on the control flow between programs as indicated by 72-byte save areas. The syntax
is shown in Figure 3-8.
Syntax -
EPTRACE KEYFIELD/SAVEAREA DATA('data') ORDER(ENTRY/RETURN)
ACTIVE/DATASET('dsn')/FILE('ddn')/PATH('path')
FLAG(INFORMATIONAL/WARNING/ERROR/
SERIOUS/SEVERE/TERMINATING)
PRINT/NOPRINT TERMINAL/NOTERMINAL TEST/NOTEST
FINDSWA subcommand
A new FINDSWA subcommand has been added. This is used to locate a scheduler work area
(SWA) block, including a SWA block prefix, in a dump. The syntax is shown in Figure 3-9 on
page 49.
where:
'addr' Describes a 3-byte SWA virtual address (SVA).
CONTEXT('symbol')) Specifies a symbol describing a STRUCTURE(JSCB) or a
STRUCTURE(TCB) that provides context for the search.
The potential for this error exists in several places in allocation. At those points, an error code
is set but no error message is generated until allocation is ready to return to the requester.
Further, the error messages generated are queued internally and not issued via WTO. This
means that a SLIP trap on the message ID is impossible, as the error message is issued long
after the error is detected.
Setting a SLIP trap on the locations that set the error reason code is difficult because it is
required to know the service level of several modules. To trap the error code, a dump of the
current system needs to be analyzed before a SLIP trap is created. This may include up to 20
individual traps to catch the exact error. Sometimes, it is difficult to easily recreate the
problem and so the problem diagnosis takes a long time.
z/OS V1R6 allocation has been enhanced to create a message when the error is detected
(versus doing it later, as is done with existing messages) and queue it with the existing
message. Further, it provides a mechanism for IBM to request a dump of the problem without
using SLIP.
This eliminates the iterative process previously necessary to determine module service
levels.
You may act or ignore the message, depending on the condition in which it is issued. Some
applications, such as DFSMShsm, expect message IEF702I. In this case, you may simply
ignore the message. If the error is not expected, use the information provided in the message
to ensure that the system is configured properly and contact IBM service.
Figure 3-10 shows the new message IEF705I along with an example.
Examples
IEF705I DIAGNOSTIC INFORMATION FOR UNSUCCESSFUL ALLOCATION
DETECTED AT 02/04/2004 15:21:09.874581 BY IEFAB486 INSTANCE 00000002
JOB702IS STEP2 SBJTAPE
DEVICES FOR 3390M -
TOTAL: 00000004 / OFFLN: 00000000 / ALLOC: 00000000 / AVAIL: 00000000
DIAGNOSTIC UNIT/DEVICE TYPE INFO:
3390M 3390M 3010200F 00132000 00132000
DYNAMIC ALLOCATION REQUEST FLAGS: 0000 51100000
//PRT619 CNTL
//PRT619 PRINTDEV FONTDD=*.FONT03,
// FONTPATH=*.TTFONT01,
// :
// :
// :
// DISCINTV=0,
// DATACK=UNBLOCK,
// MGMTMODE=IMMED,
// TIMEOUT=REDRIVE,
// PRMODE=SOSI4,
// CHARS=(60DB),
// IPADDR=9.99.98.40
//PRT619 ENDCNTL
Note: PSF ignores the FONTPATH keyword unless PSF has been Unicode-enabled.
Note: PSF will ignore the USERPATH keyword unless PSF has been Unicode-enabled.
Note: This support has been rolled down to z/OS 1.2 via APARs OA02478 and OA05130.
The following enhancements have been made to z/OS V1R6 Unicode support:
Loading of pre-built image for DB2
Performance Improvement for Unicode Conversion Service
DB2 interfaces with z/OS Unicode services to provide code page conversions. Therefore,
during the initialization of DB2 V8, it is required that:
The z/OS Unicode services are properly enabled by the customer. If this is not the case,
all conversion requests will fail with RC=12, RS=1, and IPL will be necessary to enable the
Unicode environment. In addition, DB2 will not initialize.
The required code page conversions that will be requested by a DB2 user are available in
the Unicode environment. This means that the correct code page conversion tables are
loaded in the Unicode environment (specifically into the “active conversion image”). If this
is not the case, the conversion request will fail with RC=8, RS=3 (unsupported CCSID was
specified).
Again, during DB2 initialization, a conversion request is issued in order to check if z/OS
Unicode services is active. If the requested code page conversion is not part of the
conversion image, then DB2 V8 will not initialize. To recover, it is necessary that a conversion
image with the required conversion tables be built and loaded.
Enhancement
The objective of this enhancement is to create an image that contains all possible conversion
tables that DB2 supports and load it during DB2 initialization, when z/OS Unicode
conversions services has not been set up by the customer (UNI=xx not specified in
IEASYSxx parmlib member). This eliminates the need for DB2 V8 customers to customize
z/OS Unicode services. System programmers will no longer need to create an image with the
necessary conversion tables and customize the CUNUNIxx parmlib member.
Note: This enhancement is implemented in the base code of z/OS V1R6. However, this
has been rolled down to z/OS V1R2 via APAR OA04069.
Loading of a Unicode prebuilt image is only supported when the caller is in PSW Key=7 and
TCB mode. DB2 initialization uses this state of execution. When UNI=xx is not specified in the
CUN2022I:Loading of
Empty Environment conversion image
and finished: 40394816
PSW Key = 7
bytes loaded..
DB2 User
DB2 User
Figure 3-14 Unicode prebuilt loading during DB2 initialization
A quick way to verify the successful loading and page fixing of the prebuilt image is by issuing
the console command DISPLAY UNI,STORAGE. The result should show 9862 pages of
storage utilized by the active image.
Once the prebuilt image has been loaded and page-fixed in storage, issuing the SET UNI=xx
command will replace it with the image specified in the corresponding CUNUNIxx parmlib
member. Subsequently, the prebuilt image cannot be reloaded using another SET UNI
command. Rather, an IPL without specifying UNI=xx in the system parameters and a Unicode
conversion call from a Key=7, TCB mode environment is required to load the prebuilt image.
The prebuilt image contains the CCSIDs, as shown in Figure 3-15 on page 55.
Note: The above CCSID list represents the conversions supported by the prebuilt image.
Each CCSID can be converted to and from UTF-8 (CCSID 1208), to and from UCS2
(CCSID 1200), and to and from CCSID 0367. All tables were built using the ER technique.
New messages
Three new messages were introduced with this support:
CUN2046I AN EMPTY UNICODE ENVIRONMENT HAS BEEN ESTABLISHED
CUN2047I UNICODE CONVERSION ENVIRONMENT NOT ACTIVE. UNICODE
DYNAMIC LOAD CAPABILITY IS NOT AVAILABLE
CUN3004I IMAGE img_name WAS NOT FOUND
Migration consideration
Customers who have already created and loaded an image are not affected by this support.
A performance improvement has been made to the Unicode character conversion service.
When certain new requirements are met, it no longer considers EBCDIC <-> UTF8
conversions as any-to-any and uses a new and shorter code path. In addition, it takes
advantage of specific hardware instructions intended for EBCDIC<-> UTF8 conversion. This
performance improvement encompasses all EBCDIC character sets, including Single-Byte
(SBCS), Double-Byte (DBCS), and Multi-Byte (MBCS).
Both changes need to be made in order to take advantage of the performance improvement.
As a solution to this, z/OS V1R6 has been enhanced to support more than 16 CPUs in a
single z/OS image. As per the current change, z/OS V1R6 will support up to 24 CPUs
(literally, CPUs with addresses up to x'17'). The greater than 16 CPU support is totally
transparent to all personnel that interact with the system. However, the level of efficiency
achieved is highly dependent upon workload.
This support is available with z990 and z890 processors. Review the PSP buckets for any
necessary PTFs required for this support. The system messages, which contained a
When configured with general purpose processors within logical partitions running z/OS,
zAAPs may help increase general purpose processor productivity and may contribute to
lowering the overall cost of computing for z/OS Java technology-based applications. zAAPs
are designed to operate asynchronously with the general processors to execute Java
programming under control of the IBM Java Virtual Machine (JVM). This can help reduce the
demands and capacity requirements on general purpose processors, which may then be
available for reallocation to other zSeries workloads. Figure 3-16 on page 58 illustrates this
behavior. Without zAAP, the Java applications run in the general purpose CP, which
consumes, for example, 1000 MIPs, 500 MIPs for Web application execution and 500 MIPs
for Java code execution. Now, in the zAAP integrated environment, the Java code runs in the
zAAP, thereby reducing the CPU utilization to 500 MIPs (in this example).
80% utilization
Java Execution
Powered by zAAP
Java
Java Java
Java
Java
Java
Java
1000 MIPS for WebSphere App 500 MIPS for WebSphere App +
500 MIPS now available for additional workloads
In this example, with zAAP, we can reduce the standard CP capacity requirement for the Application
to 500 MIPS or a 50% reduction. * For illustrative purposes only
The amount of general purpose processor savings varies based on the amount of Java
application code executed by zAAPs. This is dependent upon the amount of Java cycles used
by the relevant applications and on the zAAP execution mode selected by the customer.
zAAPs may be defined as either shared by other logical partitions or dedicated to a specific
partition. However, both the CPs and zAAPs for each partition will have the same shared or
dedicated attribute. For a given partition, you cannot define shared central processors and
dedicated zAAPs, or vice versa. PR/SM™ configures shared zAAPs from the same pool of
shared special purpose processors as the Internal Coupling Facility (ICF) and Integrated
Facility for Linux (IFL).
Collectively, all shared ICFs, IFLs and zAAPs will also dynamically share in the processing
requirements for all three special purpose processor types, as controlled by PR/SM.
Logical partition hypervisor only dispatches standard logical processors on standard physical
processors & zAAP logical processors on zAAP physical processors
zAAP only executes z/Architecture mode instructions and IBM´s JVM code, Java code, and
associated z/OS infrastructure code (for example, z/OS dispatcher, supervisor services, etc.).
IBM´s JVM is the only authorized zAAP exploiter.
The IBM JVM processing cycles can be executed on the configured zAAPS with no
anticipated modifications to the Java applications. Execution of the JVM processing cycles on
a zAAP is a function of the Software Developer's Kit (SDK) 1.4.1 for zSeries, z/OS 1.6, and
the Processor Resource/Systems Manager™ (PR/SM).
When z/OS is IPLed, it determines how many zAAPs are configured and subsequently
assigns Java programming to the zAAPs when requested by the JVM. The JVM
communicates with the z/OS supervisor to enable the JVM as eligible for execution on a
zAAP. The next time the zAAP is available for dispatching, the JVM task is selected for
execution. The z/OS dispatcher, operating in conjunction with the z990 PR/SM facility,
dispatches zAAP eligible tasks on available zAAPs. During execution of the Java
programming, when there is a Java Native Interface (JNI) call that executes code outside the
JVM (for example, DB2), the JVM again communicates with the z/OS dispatcher to switch
execution back to the next available central processor. On return from the JNI call, the JVM
again enables itself as zAAP-eligible and the above process is repeated.
Integrated Facility for Applications (IFA)-eligible work can run on both IFAs and standard
processors. There are options that specify how the Java execution cycles are dispatched. You
can specify that standard processors will not run any IFA-eligible work unless there are no
IFAs operational in the partition. You can also prevent IFA-eligible work from running on
standard processors because of software licensing considerations.
z/OS Dispatcher
Suspend JVM Task
Placed in zAAP work queue JAVA Application Code
Executing on a zAAP
Logical
Processor
z/OS Dispatcher
Dispatch JVM task on z/OS standard
logical processor
JVM
Signalling CP work
JVM Release control
z/OS Dispatcher
WebSphere Dispatch JVM task on zaap
logical processor
The example in Figure 3-18 shows the execution of a Java unit of work, as follows:
Initially the Java code is dispatched on a standard processor (CP) and any other unit of
work.
Before the Java code gets executed on a Java machine (JVM), JVM signals to the
dispatcher the current unit of work is zAAP-eligible work.
When the current unit of work releases control, it is placed by the dispatcher in the zAAP
dispatcher work queue. When a zAAP processor becomes available, the dispatcher
selects the highest priority work from the zAAP work queue and dispatches it on the zAAP
processor.
A zAAP-eligible unit of work can be executed on a zAAP (if a zAAP is available). Work
executing on the zAAP inherits the dispatching priority from the execution on the regular
CP. The Java application code executes on this zAAP (also called an IFA, or Integrated
RRSAF code
JDBC method (ASM/PLX)
(Java code) RRSAF
JNI connection
Java JDBC DLL
2 (C code) 3 4 DB2 address
App 1
space
8 6 5
7
JNI callback
JVM
B E F O R E
N e tw o rk w e b s e r v in g
1 s t T ie r 2 n d T ie r 3 rd T ie r
C lie n t A p p
S e rv e r z /O S
C lie n t D a ta b a s e
A p p S e rv e r
C lie n t S e rv e r
P
zA A A F T E R
le d
enab
In te g r a te d z /O S w e b a p p l
& d a ta b a s e s e r v in g
1 s t T ie r 2 n d T ie r
C lie n t S ta n d a rd z A A P
C P
C lie n t In te g ra te d z /O S
A p p lic a t io n &
C lie n t D a ta b a s e S e rv e r
zAAPs limitations
The following restrictions apply to zAAP processors:
The system cannot be IPLed on a zAAP processor.
Table 3-9 lMinimum Java levels for zAAP exploitation or determining zAAP execution potential
zAAP Projection Tool for Java 2 IBM SDK for z/OS, Java 2
Subsystem
Technology Edition, SDK 1.3.1 - Used to Technology Edition, V1.4,
version
Determine zAAP Java execution potential with PTF for APAR PQ86689
IMS V9 YES
Figure 3-21 is an example of the format and contents of this print line. The key fields of
interest for performance analysis, which are highlighted in this figure, are the following:
Switches To/From IFA State changes in processing of zAAP-eligible work versus
not eligible work for all Java threads in the JVM
Java IFA Time accumulated for Java threads processing zAAP-eligible
work
Java Standard CPU Time accumulated for Java threads processing zAAP
non-eligible work
Interval address space CPU Time for all work in the address space across all dispatchable
units, including the Java threads
IFA Projection data for system id=<SYSD.50594238> Starting at: 18:31:30- Current address
space CPU: 0.008068 sec.
<SYSD.50594238> Interval at: 18:36:30 Switches To/From IFA: 3717251 Java IFA: 99.3 sec.
Java Standard CPU 101.86 sec. Interval address space CPU: 208.66 sec.
<SYSD.50594238> Interval at: 18:41:30 Switches To/From IFA: 3903114 Java IFA: 104.27
sec. Java Standard CPU 106.95 sec. Interval address space CPU: 219.09 sec.
<SYSD.50594238> Interval at: 18:46:30 Switches To/From IFA: 4176332 Java IFA: 111.57
sec. Java Standard CPU 114.44 sec. Interval address space CPU: 234.43 sec.
<SYSD.50594238> Interval at: 18:51:30 Switches To/From IFA: 3842225 Java IFA: 102.64
sec. Java Standard CPU 105.28 sec. Interval address space CPU: 215.68 sec.
<SYSD.50594238> TOTAL at: 18:51:30 Switches To/From IFA: 15638922 Java IFA: 418 sec.
Java Standard CPU 429 sec. Total address space CPU: 878 sec.
SMF Instance RMF zAAP CP Space %Time zAAP% Other Appl% zAAP% ZAAPs
name or Group interval zAAP engine Java% engine w/capt w/wait
start eligible eligible engine ratio
The existing keywords (CODE and DATA) in the IMPORT statement cannot distinguish
between 32-bit vs. 64-bit DLLs. z/OS V1R6 provides two new keywords, CODE64 and
DATA64, to support 64-bit CODE and DATA in the IMPORT statement.
IMPORT statement
The IMPORT statement specifies an external symbol name to be imported and the library
member or z/OS UNIX file name where it can be found. An imported symbol is one that is
expected to be dynamically resolved. Two new keywords, CODE64 and DATA64, have been
added to this control statement.
// EXEC PGM=IEWL,PARM=’MAP,XREF,CASE=MIXED’
//LOADMOD DD DSNAME=PROJECT.LOADLIB,DISP=SHR
//OBJECT1 DD PATH=’/sl/app1/pm3d3/dlla01’,PATHDISP=(KEEP,KEEP)
//SYSLIN DD *
IMPORT CODE TAXES97,Compute_97_Taxes_Schedule1
IMPORT CODE TAXES97,Compute_97_Taxes_Schedule2
IMPORT CODE64 TAXES03,Compute_03_Taxes_Schedule1
IMPORT CODE64 TAXES03,Compute_03_Taxes_Schedule2
IMPORT DATA REVENUE,TotalRevenue
IMPORT DATA64 REVENUE03,TotalRevenue03
INCLUDE OBJECT1
...
/*
INCLUDE statement
The INCLUDE control statement specifies sequential data sets, library members, or z/OS
UNIX files that are to be sources of additional input for the binder. Starting with z/OS V1R6,
the IMPORTS option has been made the default and three new options, NOIMPORTS,
NOATTR, NOALIASES, have been added.
Note: If both IMPORTS and NOIMPORTS options are specified, the last valid option will
be used.
//LOADMOD DD DSNAME=PROJECT.LOADLIB,DISP=SHR
//OBJECT2 DD PATH=’/sl/app1/pm3d3/dlla02’,PATHDISP=(KEEP,KEEP)
//SYSLIN DD *
INCLUDE LOADMOD(TESTMOD,READMOD)
INCLUDE ’/ml/app1/pm3d3/dlla01’
INCLUDE OBJECT2
...
/*
The INCLUDE API IMPORTS option value has been changed from NO to YES.
When the DYNAM(DLL) option is used to build a DLL module, a side file might be generated
along with it. The side file is saved in the data set represented by the SYSDEFSD ddname.
The side file contains a collection of IMPORT control statements that can be used by other
DLLs in order to resolve their own external references during dynamic linking. If a DLL does
not export any symbols, no side file is generated for it. When the side file is used as input to
the bind, any statement not explicitly specifying CODE64 or DATA64 will be interpreted as
31-bit (AMODE=31) DLLs. When an application that wishes to use exported symbols from a
DLL is linked, the binder issues an error message if the AMODE of the referencing ESD does
not match that specified on the import statement.
There are system LXs and non-system LXs. The LXRES macro is used with SYSTEM=YES
to obtain a system LX and with SYSTEM=NO to obtain a non-system LX. A system LX is
usable by all address spaces with no overt action on their part. When the owner terminates,
the system LX is never made available for someone else to reuse. The original requester,
however, can choose to reconnect to the LX when the address space terminates and restarts.
A non-system LX is usable only by address spaces that connect through it. When the owner
terminates, the LX is made available for someone else to use when all connectors have
disconnected.
Each instance of DB2 or MQ uses multiple LXs. A customer site often has multiple instances
of DB2 and MQ running in the system. When these address spaces are recycled, some of
their LXs remain unavailable for reuse. Over a period of time, the system runs out of LXs.
Enhancements have been made to reuse LXs in circumstances where previously they could
not be reused and by increasing the number of LXs, by using:
New hardware architecture
z/OS infrastructure exploitation
Application exploitation
z/OS infrastructure
z/OS V1R6 supports up to 32 K LXs and provides support for associating a sequence number
with the PC number.
Application exploitation
To create and use an LX that can be > 2047, create both the PC number and sequence
number before issuing the PC instruction. To reuse an LX that can be > 2047, issue the PC
with a PC number and a sequence number.
The situations in which a structure moves around include moving structure instances to
accommodate CF maintenance or needing to move to facilitate activating a new CFRM
administrative policy. Afterwards, the structure instances do not reside in their desired CF
locations, and performance may be impacted. The series of operator commands needed to
relocate the instances are complex and prone to operator error.
A method is needed to facilitate the movement of structure instances such as DB2 GBPs to
their desired CFs. APAR OA03481 provides a new REALLOCATE parameter with commands
SETXCF START and SETXCF STOP to address this issue.
For example, assume that a CF structure is duplexed with the old instance in the third CF
listed in the preference list and the new instance in the first CF listed in the preference list. If
evaluation using the structure allocation criteria determines that the “more suitable” location
for the structure instances should have the old instance in the first CF listed and the new
instance in the second CF listed, then the REALLOCATE process would take two steps to
adjust the location by stopping duplexing, keeping the new instance followed by reduplexing
the structure. As a result, the old instance will be in the first CF listed in the preference list and
the new instance will be in the second CF listed.
Note: After the population of CF1, if it is necessary to redistribute the structures for
a better sysplex balance, the preference lists in the CFRM policy could be updated.
Once the updated CFRM policy is activated, the POPULATECF function could again
be used for CF1 or any other Coupling Facility to redistribute the structures.
b. After CF1 has been returned to the sysplex configuration, the operator can issue the
SETXCF START,REALLOCATE command to move structures back into CF1 as
appropriate, based on the current CFRM policy and structure allocation criteria. The
REALLOCATE process ensures that only those structure instances allocated in a “less
suitable” Coupling Facility have structure rebuild processing initiated to adjust the
location or activate a pending policy change.
Thus, the entire set of allocated structures (simplex or duplexed) in the CFRM active
policy are eligible to be evaluated for placement in CF1 and any other Coupling Facility
in use by the sysplex, even it they were not part of the original CF1 evacuation. As
each structure in the CFRM policy is examined, messages are issued to the operator
indicating:
• IXC574I the current location of instances, the policy information used, and the
results of applying the XCF allocation algorithm
• IXC544I when a REALLOCATE processing is not attempted for the structure
• Messages for structure rebuild processing when a structure needs to be reallocated
• IXC545I and IXC543I when the REALLOCATE process completes
Note: The POPULATECF function and the REALLOCATE process are mutually
exclusive.
Use SETXCF commands or the IXLREBLD Use SETXCF commands to start or stop.
macro to start or stop.
Only supports simplex structures. Supports both simplex and duplexed structures.
Uses the position of the specified coupling facility Evaluates current location of structure instances
in the preference list of a structure to select as a based on structure allocation criteria to select as
candidate structure. a target structure.
Predetermines the set of simplex structures that Does not predetermine the set of structures but
are pending rebuild and lists in message selects a target structure, takes necessary steps,
IXC540I. then proceeds to examine the next allocated
structure.
Only a single step (rebuild that can be The number of steps used to adjust the location
user-managed or system-managed) is used to is based on whether the structure is simplex or
relocate the structure. duplexed.
Only the specified CF is considered for allocating The new instance may be in any in-use CF and is
the new instance. selected based on the structure allocation
criteria.
When the locations differ or a policy change is pending, the REALLOCATE process uses the
structure rebuild process to accomplish the needed adjustments. Structure rebuild processing
supports:
User-managed rebuild
User-managed duplexing rebuild
System-managed rebuild
System-managed duplexing rebuild
For a simplex structure, one step (rebuild) is used to adjust the location and/or to activate a
pending policy change.
For a duplexed structure, two or three steps are used, with step one to stop duplexing and
subsequent steps used to rebuild as needed to adjust the location and/or activate a pending
policy change and to reduplex the structure.
When the REALLOCATE process does not select an allocated structure, message IXC544I is
issued with explanatory text.
Use the DISPLAY XCF,STR,... command to show the current state of processing for allocated
structures. An allocated structure may be pending evaluation by the REALLOCATE process
or be the current target of the REALLOCATE process. When a structure is not allocated or
already examined by the REALLOCATE process, no additional status is displayed.
When the entire process completes, for all structures, the processing provides a report
(message IXC545I) summarizing the actions that were taken as a whole.
The REALLOCATE process evaluates all allocated structures, in a serial (one structure at a
time) fashion. Each selected structure is processed to completion before the next structure is
evaluated. The serial nature of this processing allows even XCF signalling structures to be
selected for relocation.
REALLOCATE processing evaluates a structure based on the CFRM policy and on the
current conditions, for example available CFs, CF attributes, and connection attributes. For
each structure that is not optimally located, it takes the necessary steps to adjust the location
of the structure’s allocated instances.
It is possible that the conditions of the structure have changed between the time it is
evaluated and the time when the steps using structure rebuild processing cause a new
instance to be allocated. But the current conditions are used when the structure allocation
algorithm is applied. The REALLOCATE process does not validate the resulting location of
the allocated instances, but relies on the result of applying the XCF allocation criteria.
Because of this, when the necessary steps finish, it is possible that the preferred CFs shown
in the message IXC574I, issued with the evaluation information, are not the CFs containing
the allocated instances.
When stopping without specifying FORCE, REALLOCATE processing completes the steps
for the current target structure and then finishes. The status of the REALLOCATE processing
will be “STOPPING” as shown by DISPLAY XCF,STR or CF.
When stopping with FORCE specified, REALLOCATE processing finishes immediately and
the steps for the current target structure may not be completed. The FORCE option should be
used when structure rebuild processing for the structure that is the target of the
REALLOCATE process is not making progress.
When the process finishes, the processing provides a report (message IXC545I) for the
selected structures, summarizing the actions that were taken up to the time that processing
was stopped. To stop the REALLOCATE process does not require issuing the command
without FORCE specified before issuing with FORCE specified.
DFSMSdfp provides new support that allows allocations to be automatically directed to high
performance devices. This is intended to give the user additional control over the volume
selection process for an SMS-managed data set depending on whether a base volume has a
PAV or PAVs associated with it.
Before the volume selection process begins, SMS categorizes each volume in a storage
group into one of four lists from which volumes are selected for data set allocation:
Primary list All the volumes in all the specified storage groups are candidates for the
primary list, which consists of online volumes that meet all the specified
criteria in the storage class and data class, are below their threshold, and
whose volume status and storage group status are enabled. All volumes
on this list are considered equally qualified to satisfy the data set
allocation request. Volume selection starts from this list.
Secondary list Volumes that do not meet all the criteria for the primary volume list are
placed on the secondary list. If there are no primary volumes, SMS
selects from the secondary volumes.
Tertiary list Volumes are marked for the tertiary list if the number of volumes in the
storage group is less than the number of volumes requested. If there are
no secondary volumes available, SMS selects from the tertiary
candidates.
Rejected list Volumes that do not meet the required specifications (ACCESSIBILITY =
CONTINUOUS, AVAILABILITY = STANDARD or CONTINUOUS,
After the system selects the primary space allocation volume, that volume’s associated
storage group is used to select any remaining volumes requested for the data set. If you
specify an extend storage group, the data may be extended to the specified extend storage
group.
Figure 4-1 shows the new PAV capability option to be specified to a storage class.
PAV capability
option
The PAV capability field is specified to enable and facilitate volume selection algorithms. The
possible values are:
R (REQUIRED) PAV capability is required. Only those volumes that support this
capability will be eligible for the allocation request. All other volumes
will be rejected from consideration.
P (PREFERRED) PAV capability is preferred. Volumes with this capability will be
preferred over volumes that do not have this capability.
The volume selection preferences list has been updated to include PAV capability in the
following order:
VIO
Data set separation
Volume count
High threshold
SMS status
END-OF-VOLUME extend
Non-overflow
IART (initial access response time)
Snapshot
Accessibility
PAV capability
Availability
Extended format
MSR (millisecond response)
ISMF support
The following ISMF functions have been updated to support the PAV capability:
Storage class define/alter
A sample panel is shown in Figure 4-1 on page 79.
Storage class display
A sample panel is shown in Figure 4-2 on page 81.
PAV capability
Naviquest support
A new NaviQuest field, PAVCAP(), has been included in sample JCL
SYS1.SACBCNTL(ACBJBAS1) to enable users to define, alter, or display the storage class.
This is shown in Figure 4-4 on page 82.
Migration/coexistence consideration
There are no specific migration and coexistence considerations for this enhancement.
Installations should be aware that a storage class may be defined under z/OS V1R6 to
specify PAV capability. If done, lower level systems, below z/OS V1R6, will ignore this field.
There are no toleration PTFs required for this.
Introduction
In July 2002, APAR OW53245 provided the new function to combine the PDSE address
spaces SMXC and SYSBMAS to a single address space called SMSPDSE. The introduction
of the SMSPDSE address space improved overall PDSE usability and reliability by:
Reducing excessive ECSA usage (by moving control blocks into the SMSPDSE address
space)
Reducing re-IPLs due to system hangs (in failure or CANCEL situations)
Providing storage administrator's tools for monitoring and diagnosis (for example,
determining which systems are using a particular PDSE)
To further improve reliability and availability, a PDSE address space restart capability has
been provided in z/OS V1R6 DFSMS. The purpose of the restartable PDSE address space is
to eliminate the need to re-IPL a system or systems due to a hang or deadlock condition, or
an out-of-storage condition. Even though the SMSPDSE address space incorporates
guaranteed recovery during a failure or cancel situation, a PDSE hang or deadlock is still
possible. The restartable PDSE address space eliminates the need to re-IPL in order to
recover from a PDSE error.
SMSPDSE
SMSPDSE is a non-restartable address space for PDSE data sets that are in the LNKLST
concatenation. The linklist and other system functions use global connections. The
SMSPDSE address space cannot be restarted because global connections cannot handle
the interruption and reconnection that are part of an address space restart operation.
SMSPDSE is the only PDSE address space for the z/OS system when one of the following
conditions exists:
The IGDSMSxx initialization parameter, PDSESHARING, is set to NORMAL.
The IGDSMSxx initialization parameters in a sysplex coupled systems environment are
set as follows:
PDSESHARING(EXTENDED)
PDSE_RESTARTABLE_AS(NO)
SMSPDSE1
This is the new restartable address space that provides connections to and processes
requests for those PDSEs that are not part of the LNKLST concatenation. To create the
SMSPDSE1 address space during IPL in a sysplex coupled systems environment, set the
IGDSMSxx initialization parameters as follows:
PDSESHARING(EXTENDED)
PDSE_RESTARTABLE_AS(YES)
User programs will maintain the connection to the PDSE and its members during and after
SMSPDSE1 restart. Also, the restart will not cause failure of a user job, TSO session, an edit
or browse of a PDSE member, or LISTPDS of a PDSE.
Enhanced parameters
The following existing IGDSMSxx parameters have been enhanced with synonym parameters
for the global PDSE address space (SMSPDSE) initialization:
LRUCYCLES synonym PDSE_LRUCYCLES
LRUTIME synonym PDSE_LRUTIME
HSP_SIZE synonym PDSE_HSP_SIZE
BMFTIME synonym PDSE_BMFTIME
New parameters
The following new IGDSMSxx parameters have been added for the restartable PDSE address
space initialization:
PDSE_RESTARTABLE_AS(YES|NO)
Specifies whether PDSE initialization during IPL NIP processing will bring up a second
restartable PDSE address space. If specified as PDSE_RESTARTABLE_AS(YES), along
with a specification of PDSESHARING(EXTENDED), allows PDSE initialization to create
a second restartable PDSE address space, SMSPDSE1.
Note: If the amount of available real storage is 64 MB or less, the amount of real
storage used is limited to one eighth of the available real storage.
The PDSE1_HSP_SIZE parameter can be used to request up to 512 MB for the PDSE1
hiperspace. Or you can indicate that the hiperspace is not to be created (by setting
PDSE1_HSP_SIZE to 0).
If a valid value is specified for PDSE1_ HSP_SIZE, the system uses it to create the
PDSE1 hiperspace at IPL time. The PDSE1_HSP_SIZE value remains in effect for the
duration of the IPL. This value cannot be changed via an operator command.
If not enough expanded storage is available to satisfy the PDSE_HSP_SIZE value and
PDSE1_HSP_SIZE value, the system uses some portion of the available expanded
storage (up to the full amount) for the PDSE hiperspace and the PDSE1 hiperspace,
depending on the amount of caching activity in the system. The system will stop caching
PDSE1 members if the available expanded storage becomes full.
On systems not running in z/Architecture mode, if no expanded storage is online to the
system, the hiperspace cannot be created.
Software requirements: The restartable PDSE address space feature requires z/OS V1R6
and the supplied PTFs, if any.
Coexistence requirements: If one system in your sysplex has the restartable PDSE address
space code installed, then all systems in the sysplex must have the restartable PDSE
address space code installed, or the required PTFs. This step is required even if you do not
attempt a restart on those systems.
Figure 4-5 shows a sample of the IGDSMSxx parmlib member we used in our system to start
the SMSPDSE1 address space.
SMS ACDS(SYS1.SMS.ACDS)
COMMDS(SYS1.SMS.COMMDS)
INTERVAL(15)
DINTERVAL(150)
...
ACSDEFAULTS(NO)
PDSESHARING(EXTENDED)
PDSE_RESTARTABLE_AS(YES)
PDSE_MONITOR(YES)
PDSE1_BMFTIME(3600)
PDSE1_HSP_SIZE(256)
PDSE1_LRUCYCLES(200)
PDSE1_LRUTIME(50)
PDSE1_MONITOR(YES)
TRACE(ON)
SIZE(128K)
TYPE(ALL)
JOBNAME(*)
...
System IPL
When we IPL our system, we see two address spaces, SMSPDSE and SMSPDSE1. When
we issue the D A command against the PDSE address spaces, we receive the message
shown in Figure 4-6 on page 88.
Operator commands
SMS command processing has been modified to provide support for the new restartable
PDSE1 address space.
This command is used to verify the SMS options set or defaulted for PDSE address spaces.
Figure 4-7 on page 89 shows the command output in our system.
Before restarting the SMSPDSE address space, we strongly recommend to take the following
actions:
Issue the VARY SMS,PDSE1,ANALYSIS operator command to determine which PDSE is
causing the hang and which latch is being used.
Cancel the related task to attempt to free the latch that is used.
If the system is still hung, issue the VARY SMS,PDSE1,FREELATCH command to force
the release of the latch.
If the system is still hung, then restart the SMSPDSE1 address space using this command:
Vary SMS,PDSE1,RESTART[,QUIESCE(duration|3),COMMONPOOLS(NEW|REUSE)]
This command recycles the restartable PDSE address space (SMSPDSE1); it is valid if the
system was IPLed with a restartable PDSE address space. The operands are as follows:
Figure 4-8 on page 91 shows the V SMS,PDSE,RESTART command outputs when issued in
our system.
where:
PDSE1 This allows the operator to select the restartable SMSPDSE1
address space.
ACTIVATE This causes the SMSPDSE1 address space to start up after a
prior instance of the SMSPDSE1 address space has been
terminated.
COMMONPOOLS(NEW) A specification of NEW will cause SMSPDSE1 to abandon the
old common storage cell pools and to create a new set of cell
pools in ECSA.
COMMONPOOLS(REUSE) This is the default. A specification of REUSE will cause
SMSPDSE1 to reuse the existing common storage cell pools
that were created by the previous instance of SMSPDSE1.
Figure 4-9 shows the messages in our system, when the SMSPDSE1 address space is
activated after forcing.
V SMS,PDSE1,ACTIVATE
IGW038I VARY SMS,PDSE1,ACTIVATE COMMAND ACCEPTED.
IGW059I SMSPDSE1 IS BEING ACTIVATED.
IGW040I PDSE IGWLGEDC Connected
IGW040I PDSE Connecting to XCF for Signaling
IGW040I PDSE Connected to XCF for Signaling
IGW040I PDSE Posting initialization
IGW043I PDSE MONITOR IS ACTIVE 700
++ INVOCATION INTERVAL:60 SECONDS
++ SAMPLE DURATION:15 SECONDS
IGW061I SMSPDSE1 INITIALIZATION COMPLETE.
IGW066I SMSPDSE1 IS RECONNECTING ALL USERS.
IGW069I SMSPDSE1 RECONNECT PHASE COMPLETE.
IGW070I SMSPDSE1 WILL RESUME ALL USER TASKS.
IGW999I XQUIESCE Stopping
Issue the ANALYSIS command only when you suspect that one or more users or jobs are
having problems accessing a PDSE or PDSE1. This command and the FREELATCH
command use a sampling algorithm that interrogates the state of the PDSE or PDSE1 every
hundredth of a second for the number of retries that the user specifies (the default is 1500
retries, which is approximately 15 seconds). Errors are reported only if the state of the PDSE
or PDSE1 does not change. The command syntax is:
VARY SMS,PDSE | PDSE1,
ANALYSIS[,DSNAME(dsname)[,VOLSER(volser)]][,RETRIES(retries|1500)]
where:
dsname When specified, causes the analysis to be performed for a particular PDSE or
PDSE1. If the volser is omitted, the data set is found using the default system
catalog.
volser Allows you to specify an uncataloged PDSE or PDSE1.
retries Allows you to control the amount of time for which the particular PDSE or
PDSE1 situation must remain static. The PDSE or PDSE1 control blocks are
examined every hundredth of a second for the number of retries specified. By
default, the data set is examined 1500 times or for approximately 15 seconds
Figure 4-10 shows the messages received when the ANALYSIS command is issued in no
exception conditions.
V SMS,PDSE1,ANALYSIS
IGW031I PDSE ANALYSIS Start of Report(SMSPDSE1) 116
++ no exceptional data set conditions detected
PDSE ANALYSIS End of Report(SMSPDSE1)
IGWLHA10:20607200
Release a latch
The VARY SMS,PDSE|PDSE1,FREELATCH command releases any latch that the ANALYSIS
command indicates is held. If this command is used to release a latch held by a process that
is still running, it could result in the breakage of the PDSE or PDSE1. The latch is not
released unless it is held by the ASID and tcbaddr, indicated in the command. The latch is
released only if it is held by the same user for each of the retries. The command syntax is:
VARY SMS,PDSE | PDSE1, FREELATCH(latchaddr,ASID,tcbaddr)[,Retries(retries|1500)]
where:
latchaddr Address of the latch that is to be released.
ASID ASID of the holder of the latch.
tcbaddr Address of TCB that holds the latch. When an SRB holds the latch, the
address for the TCB actually points to a control block that represents the
active SRB. The value will be above the 16 MB line.
retries Allows you to control the amount of time for which the particular PDSE or
PDSE1 situation must remain static. The PDSE or PDSE1 control blocks are
examined every hundredth of a second. By default, the data set is examined
1500 times or for approximately 15 seconds, before the latch is released.
Figure 4-11 shows an example of the ANALYSIS command output in an exception condition.
V SMS,PDSE,ANALYSIS
IGW031I PDSE ANALYSIS Start of Report 634
---------data set name------------------ -----vsgt-------
SAHU.MNS.LOD.CMPRM.GN991 01-STM166-000104
++ Unable to latch DIB:19CF6D40
Latch:19CF6D50 Holder(012E:009FD078)
Holding Job:AHUSEP0D
PDSE ANALYSIS End of Report
In this example, the latch is 19CF6D50, ASID is 012E and tcbaddr is 009FD078. You can
issue the command V SMS,PDSE,FREELATCH(19CF6D50,012E,009FD078) to free the
latch. This is shown in Figure 4-12.
where:
PDSE | PDSE1 This allows the operator to select either the non-restartable
SMSPDSE address space by specifying PDSE, or the restartable
SMSPDSE1 address space by specifying PDSE1.
ON | OFF | RESTART ON allows the MONITOR to be started. OFF allows the MONITOR
to be stopped. RESTART allows the monitor to be stopped and
restarted.
interval This specifies the number of seconds between successive scans of
the monitor. If not specified, it defaults to the value specified in the
IGDSMSxx parmlib member. If it is not specified there, it defaults to
60 seconds.
duration This specifies the number of seconds for which a possible error
condition must exist before it is treated as an error. If not specified,
it defaults to the value specified in the IGDSMSxx parmlib member.
If it is not specified there, it defaults to 15 seconds.
Note: The interval and duration parameters can only be specified with the ON option, but
not with the OFF and RESTART options.
Figure 4-13 shows the MONITOR command output when issued in our system.
V SMS,PDSE1,MONITOR,RESTART
IGW043I PDSE MONITOR IS ACTIVE 137
++ INVOCATION INTERVAL:60 SECONDS
++ SAMPLE DURATION:15 SECONDS
V SMS,PDSE1,MONITOR,OFF
IGW043I PDSE MONITOR IS INACTIVE
V SMS,PDSE1,MONITOR,ON,100,30
IGW043I PDSE MONITOR IS ACTIVE 141
++ INVOCATION INTERVAL:100 SECONDS
++ SAMPLE DURATION:30 SECONDS
If the interval chosen is too long and there are requests to the SMSPDSE1 address space
which do not complete, the restart of the address space is delayed. This not only affects
processing on this system, but can affect PDSE processing on other systems in the sysplex,
In addition to the quiesce on the system that is doing the SMSPDSE1 address space restart,
there will be a partial quiesce of some shared PDSE function on other systems that are
participating in PDSESHARING(EXTENDED) within the sysplex. This partial quiesce is
referred to as xQuiesce. XQuiesce is a state that exists from the time the SMSPDSE1
address space is restarted and lasts until SMSPDSE1 completes reconnecting the PDSEs.
The purpose of xQuiesce is to prevent certain new PDSE operations on the other systems
while the SMSPDSE1 address space is being terminated and restarted. With xQuiesce, there
should be no post restart failures caused by members deleted on other systems nor Opens
for Updates on other systems. If the SMSPDSE1 address space does not successfully start
up, then the xQuiesce duration is infinite.
The message IGW031I has been changed. Figure 4-14 shows the messages when the PDSE
ANALYSIS command is issued for PDSE and PDSE1.
V SMS,PDSE,ANALYSIS
IGW031I PDSE ANALYSIS Start of Report(SMSPDSE ) 171
++ no exceptional data set conditions detected
PDSE ANALYSIS End of Report(SMSPDSE )
IGWLHA10:20607200
V SMS,PDSE1,ANALYSIS
IGW031I PDSE ANALYSIS Start of Report(SMSPDSE1) 174
++ no exceptional data set conditions detected
PDSE ANALYSIS End of Report(SMSPDSE1)
IGWLHA10:20607200
&SECLABL variable
The &SECLABL variable specifies the default security label in the RACF profile of the user or
data set if the SECLABEL class is active. Otherwise, the read-only variable contains a null
value.
Restrictions:
&SECLABL is set to “null” if the resource class SECLABEL is not active.
If you define overflow or extended storage groups, ensure that security levels do not
conflict.
You cannot use SECLABEL in ACS routines if you are using automatic data set
protection (ADSP). Issue SETROPTS NOADSP to disable ADSP.
Figure 4-15 JCL examples showing use of SECMODEL and PROTECT parameters
4. Update the storage group ACS routine with the &SECLABL read-only variable.
Figure 4-16 on page 99 shows an example of an ACS routine using &SECLABL. This
example assumes that a RACF security label ALERT is already defined to the system.
SELECT
OTHERWISE
DO
SET &STORGRP = ’S1P02’
WRITE ’ASSIGN DATA SETS WITHOUT SECLABEL ALERT TO STORAGE
GROUP: S1P02’
EXIT CODE(0)
END
END
END
5. Use the ISMF ACS test sase define/alter application to test the security labels in the
storage group ACS routines.
6. Validate and activate the SCDS.
ISMF support
The ACS test application has been updated to support all specifications of SECLABEL.
Figure 4-17 on page 100 shows the SECLABEL field added in the ACS TEST CASE
DEFINE/ALTER panel (ISMF option 7.4.1 and 7.4.2).
NaviQuest support
The test case generation from ISMF saved lists now contains a new SECLABEL field.
Figure 4-18 on page 101 shows the new SECLABEL field (ISMF option 11.1.1).
Catalog serviceability
Some new parameters have been added to the F CATALOG command.
TAKEDUMP This parameter causes the Catalog Address SPACE (CAS) to issue an
SVCDUMP using the proper options to ensure that all data needed for
diagnosis is available.
RESTART This parameter prompts the user for additional information with the
following messages:
IEC363D IS THIS RESTART RELATED TO AN EXISTING CATALOG PROBLEM (Y
OR N)?
If the response to message IEC363D is N, the restart continues; if the
response is Y, another prompt is issued.
IEC364D HAS AN SVC DUMP OF THE CATALOG ADDRESS SPACE ALREADY BEEN
TAKEN (Y OR N)?
During the COPY or RESTORE operation, if a data set exists with the same name as the
renamed data set on the target volume or in the standard order of search and is
SMS-managed, the operation will fail even with the REPLACE operation. This is because
RENAME or RENAMEU take precedence over REPLACE.
Note: This new function has been shipped with APARs OA05249 and OA05874 for
DFSMSdss R1F0, R1G0, and R1H0.
If a target data set is preallocated, it is scratched and reallocated if it is not large enough to
contain the dumped data set. VSAM preallocated target data sets are also scratched and
reallocated when:
Any of the following source and target data set attributes do not match:
– CI size
– Record length
– IMBED (only KSDS and key range data sets)
– Key length (only KSDS and key range data sets)
Figure 4-19 shows an example of the COPY operation with RENAMEU and REPLACE. The
COPY operation failed with message ADR472E, RC8 indicating a duplicate data set in the
target volume.
COPY DS(INCLUDE(ITSO.DEV1.ARCHDEF)) -
INDDNAME(DASD1) -
OUTDDNAME(DASD2) -
REPLACE -
TOL(ENQF) -
RENAMEU(SAHOO)
...
TASKID 001 HAS BEEN ASSIGNED TO COMMAND 'COPY '
2004.103 15:36:19 INITIAL SCAN OF USER CONTROL STATEMENTS COMPLETED.
RACF LOGGING OPTION IN EFFECT FOR THIS TASK
2004.103 15:36:19 EXECUTION BEGINS
ADR472E UNABLE TO SELECT A TARGET VOLUME FOR DATA SET ITSO.DEV1.ARCHDEF, 08
DATA SET FILTERING IS COMPLETE. 1 OF 1 DATA SETS WERE SELECTED: 0 FAILED SERIALIZATION
AND 0 FAILED FOR OTHER REASONS.
THE FOLLOWING DATA SETS WERE NOT SUCCESSFULLY PROCESSED
ITSO.DEV1.ARCHDEF
2004.103 15:36:22 EXECUTION ENDS
2004.103 15:36:22 TASK COMPLETED WITH RETURN CODE 0008
2004.103 15:36:22 DFSMSDSS PROCESSING COMPLETE. HIGHEST RETURN CODE IS 0008 FROM
TASK 001
Figure 4-20 on page 104 shows the same example for a COPY operation with RENAMEU
and REPLACEU. Now, the COPY operation is successful and the renamed data set replaces
the preallocated data set in the target volume.
COPY processing has been enhanced and now works like RESTORE processing. RLS
information of the preallocated target data set is saved when checking the VVRs of the
preallocated target. The LOG, LOGSTREAMID, and BWO information is saved. The recovery
required bit of the source data set will continue to be carried forward regardless of the
preallocated target status.
After data movement, if the preallocated target data set had RLS information, it is put back
into the RLS cell, otherwise the target will have no RLS information. If the target data set was
not preallocated, the RLS information from the source data set is propagated to the target.
Exit 22, which allows the use of the DFSMSdss API to control what gets placed in the RLS
cell, is used by RESTORE processing but will not be invoked for COPY processing.
DFSMSdss, when using FlashCopy®, issues a deleted data space withdraw (DDSW) for the
tracks of the preallocated target data set during the REPLACE or REPLACEU operation.
Current operation
Secondary space management does the following:
Statistics cleanup.
– Restart tape copy
– Daily statistics records (DSR) and volume statistics record (VSR) records that expired
and require cleanup from the migration control data set (MCDS)
Migration level cleanup performs several scans starting from where it previously stopped:
– Deletion of expired migrated data sets
• MCDS records (MCD) that are expired or recalled and require cleanup
• MCD records that require ML1-to-ML2 data set movement
• Migration control data set alias entry record (MCA) and Migrated CDS VSAM
associations record (MCO) records that are expired
– One scan of the offline control data set (OCDS)
• Tape copy needed (TCN) records that require TAPECOPY restart
• Performed before a DSR/VSR scan in MCDS
Deletes records from small data set packing (SDSP).
Moves migration copies from ML1 to ML2.
Expired ML1 and ML2 processing.
Runs as a single task.
SSM enhancement
SSM operation has been enhanced to be multithreaded. A new SETSYS MAXSSMTASKS
command has been added, which specifies the maximum number of concurrent automatic
secondary space management tasks that will run. The syntax of MAXSSMTASKS is shown in
Figure 4-21.
>>_SETSYS__________________________________________________________________>
| |
| |
|_MAXSSMTASKS(_________________________________________________)_|
| | | |
| +- 1 -+ | | + 2 + |
|_TAPEMOVEMENT(_|_ nn_|_)_| |_CLEANUP(_|_nn_|_)_|
Note: There is still only one task for ML1-to-ML2 DASD data movement.
DFSMSrmm subsystems
An RMMplex is one or more MVS systems, each running a DFSMSrmm subsystem sharing a
control data set. An RMMplex can optionally include one or more DFSMSrmm subsystems as
servers, one or more client subsystems, in addition to standard DFSMSrmm subsystems.
Server subsystem
A server subsystem has the following properties:
A server subsystem is identified by the OPTION SERVER operand.
The OPTION SERVER identifies the basic TCP/IP info that allows the server to handle
requests from CLIENT subsystems.
It has direct access to the CDS.
It processes its own local requests, as well as requests from clients.
Client subsystem
A client subsystem has the following properties:
A client subsystem is identified by the OPTION CLIENT operand.
The OPTION CLIENT also identifies basic TCP/IP info that allows the client to send
requests to a server.
The client subsystems have no direct access to the CDS but share the CDS through the
server.
It verifies the CDSID of the client, which matches that of the server.
Any parmlib options not required for a client are ignored.
If there is more than one server, the client can only connect to one server at a time.
If the server is not available, any requests that require server processing are failed with an
I/O error.
Processing requests
The processing requests depend on the subsystem, whether it is a server or a client.
For the client:
– Most requests are processed by communicating with the server.
– Requests that can be processed by the client are processed locally.
– When multiple requests are being processed, a FIFO queue is maintained.
– The operator command Q A displays the tasks and a summary of the queues.
For the server:
– Local requests are processed unchanged.
– Client requests are accepted and processed synchronously while the client waits.
– There is no queue of client requests.
– Request queues are only maintained for local requests.
– The operator command Q A displays local requests as well as accepted client
requests.
TCP/IP considerations
The following TCP/IP considerations are required for the client/server environment.
DFSMSrmm client/server processing is dependent upon Internet Protocol V4.
You must set up the firewall, if any, to allow communication between clients and servers for
the defined IP addresses and ports. DFSMSrmm does no authentication, encryption, or
verification of connection requests received on servers other than to verify that it is a valid
request and that the CDSIDs match.
Consider the use of RACF to protect the use of the IP addresses defined for DFSMSrmm
and limit use of the IP address to the DFSMSrmm started task.
Tracing of the IP communication is enabled by DFSMSrmm support.
– Use TCP/IP facilities such as component trace to gather info on DFSMSrmm socket
processing.
– Use RMM PDA trace for tracing DFSMSrmm subsystem processing.
OPTION CLIENT
The CLIENT option is specified as:
OPTION CLIENT(SERVERNAME(ServerName) PORT(PortNumber)
OPTION SERVER
The SERVER option is specified as:
OPTION SERVER(PORT(PortNumber) SERVERTASKS(number))
where:
PortNumber This operand specifies the port number to be used for IP
communication. The PORT operand is required. Specify a value from 1
to 65535. Port numbers 1 to 1023 are reserved.
number This operand specifies how many DFSMSrmm tasks should be
available on the server to handle socket connections from client
systems. DFSMSrmm uses this number to determine how many tasks
are to be started for processing all client requests on this server.
Specify a value from 1 to 999.
OPTION LOCALTASKS
The LOCALTASKS option is specified as:
OPTION LOCALTASKS(number)
where:
number Use this operand to set the number of tasks available on each system
for processing locally initiated requests. You can optionally specify a
value for local tasks on each and every instance of the DFSMSrmm
subsystem; client system, server system, or standard system. On a
client system, LOCALTASKS is also the maximum number of tasks that
can make a socket connection to the server. Specify a value from 1 to
999
Default: LOCALTASKS(10)
VLPOOL
VLPOOL is specified as:
VLPOOL PREFIX(prefix)…AUTOSCRATCH(YES | NO)…RELEASEACTION(NOTIFY)
where:
prefix Specifies a generic shelf location that is used in operator messages,
RMM TSO subcommands, and the DFSMSrmm ISPF dialog. A pool
prefix is one to five alphanumeric, national, or special characters
Exit EDGUX200
Exit EDGUX200 is called during expiration processing when a volume is about to be returned
to scratch. There are new parameters passed to this exit, which are mapped by the mapping
macro for the parameter list, EDGPL200. The new parameters are shown in Figure 4-22.
REXX variables
New REXX variables have been created into which client/server data will be returned from the
subcommands that return client/server information. This is shown in Table 4-1. The variable
names are EDG@SSTY, EDG@CSHN etc.; that is, add the prefix EDG@ to the name shown
in the table.
Client/Server host name X’819200’ 7 variable character 71 1 to 63 alphanumeric characters including LC CNTL
CSHN Character 63 hyphen and periods or blank
Server host name X’8A1A00’ 7 variable character 71 1 to 63 alphanumeric characters including LC OPT
SRHN Character 63 hyphen and periods or blank
Authorization
There is no change in the way authorization is handled for TSO subcommands and utilities.
TSO commands and utilities are authorized by DFSMSrmm on the system on which they are
run.
Note: Any attempt to run a utility using a function not available on the client will cause the
utility to end with RC16.
Current processing
Under current expiration processing, when all release actions are completed a volume can be
returned to scratch when all the following are true:
The scratch action is set and there is no other release action.
The volume is not system-managed or the system-managed library is available.
All catalogs are shared (CATSYSID(*) or CATSYSID not specified), or catalogs are not
shared and the creation systemid for file 1 on the volume matches one of the system’s
CATSYSID(list).
The EDGUX200 exit allows return to scratch.
Changed processing
Expiration processing has been changed. Assuming that the catalogs on client systems
are not shared with the DFSMSrmm server system:
– Catalogs can be successfully shared or unshared as long as CATSYSID is specified to
correctly match your environment.
– If catalogs are shared, CATSYNCH does not have to be run but is recommended for
performance reasons.
– If catalogs are not fully shared, CATSYSID must be specified in the server system with
a list of system IDs for which uncatalog processing can be performed.
– Specify CATSYSID on the client system with a list of system IDs for which uncatalog
processing can be performed on the client.
Running EXPROC on each system is normal for unshared catalog environments. This is
to automate the return of volumes to scratch and maintain catalogs, TCDB, and RACF
profiles.
As volumes are set pending release, the notify action is based on VLPOOL settings, as
follows:
– If notify release action is set on for the volume, it is left on.
– If notify release action is specified at the pool level, the volume notify release action is
set.
If a volume matches a VLPOOL defined with AUTOSCRATCH(NO), return to scratch
release action is not performed by EXPROC processing until confirmed by command.
Client/server coexistence
All client/server systems must be at least at z/OS V1R6. We recommend to upgrade the
server systems first. As long as toleration is installed on all systems in an RMMplex, they can
successfully support client/server processing. All dates and times are local times and any
dates and times displayed are exactly as they are stored in the CDS. There is no conversion
from server time zone to client time zone.
Output for SFIs is in EBCDIC and the values included are in binary, character, decimal.
Output for XML is converted to character in unicode format, as defined in the XML Schema
file for the RMM resources. Each XML object returned from the getBufferXml method of the
RmmCommand class contains only the data and tags to define the data. The document
rmmxml.xsd is a new file that is shipped and is referenced from each XML object.
The RMM API is called RmmApi. The header file containing the class definitions is contained
in part EDGXHCLU. Use the RmmApi class to prepare the environment for using the
RmmCommand classes to run DFSMSrmm TSO subcommands via the API.
RmmApi.openAPI Use this method to check that RMM is active and available for
commands to be processed.
RMM loads the EDGXAPI callable interface and verifies
whether RMM is in use on this system.
RmmApi.closeApi Use this when you no longer want to communicate with RMM
using this command session.
RMM deletes the EDGXAPI callable interface and releases any
resources that are still in use.
RmmCommand.getBufferXml Returns a string containing the XML output converted from the
SFI output of subcommand processing.
RmmCommand.getNextEntry Use this method to retrieve information for the next resource
when more than one resource is to be returned, such as for
SEARCH subcommands and LISTCONTROL.
RmmInterface.getApiRc Returns the return code from the last API request.
RmmInterface.getApiRs Returns the reason code from the last API request.
Refer to DFSMSrmm Application Programming Interface and
DFSMSrmm Guide and Reference for the return code values
and their meaning. Use the getMessageText method to retrieve
the corresponding information or error message.
New eject
option
Variable reuse field
Default is Y.
Figure 4-23 DFSMSrmm Dialog User Option panel showing variable reuse field
Figure 4-24 DFSMSrmm Volume Search panel showing the Limit field
Note: A mutex is a mutual exclusion lock that can be held by one thread only. Mutexes are
used to protect data or other resources from concurrent access. Also, a mutex has
attributes, which specify the characteristics of the mutex. On the other hand, a condition
variables allows threads to wait until some event or condition has occurred. Although it is
not easy to program, a condition variables allows the implementation of powerful and
efficient synchronization mechanisms.
In z/OS V1R6 support is added to allow both condition variables and mutexes to reside in
shared memory. This allows applications like LOTUS DOMINO to have a more common code
base across the platforms it can be run upon. With shared condition variables it is no longer
necessary to rewrite applications in order to serialize resources shared across multiple
processes. Now we can use the standard UNIX constructs of mutexes and condition variables
in shared memory.
Shared condition variables are intended to be used by an LE C/C++ application for the
purpose of exploiting mutexes and condition variables in shared memory. This usage is
intended to be the equivalent to that of using these objects in regular private storage. The
added benefit is that mutexes and condition variables in shared memory can be used to
synchronize operations across multiple processes rather than in just one process. To exploit
this feature, an application simply has to do the following:
The D OMVS,SER command shown in Figure 5-1 gives an example of the contention
information.
With this RAS enhancement, customers are less likely to encounter z/OS UNIX latch hang
problems, because of additional cleanup procedures that will be performed. This includes
providing cleanup for latches that have been abandoned by abnormally terminated address
spaces. Prior to this support, it was possible for an abnormally terminated address space to
continue to hold a latch, even though it was no longer active.
Additionally, with the messaging and command support that is being provided, customers will
be more able to initiate actions to relieve z/OS UNIX hang conditions. This should lead to
fewer system outages for customers.
At this point, it has been detected that at least one unit of work in the system is holding onto a
z/OS UNIX GRS latch for several minutes. If this message does not eventually get DOMed on
its own, then a system programmer should issue the following command to determine which
z/OS UNIX latches are the cause of the contention problem:
D GRS,C
If the system programmer found that a z/OS UNIX latch is owned by a user address space,
there is a new console command that can be used to attempt to relieve the contention:
F BPXOINIT,RECOVER=LATCHES
This command will attempt to abend (422-1A5) user address space tasks that are holding the
latches causing the contention. When the abend occurs, a system dump is requested for the
422-1A5 abend to capture a potential internal problem.
If the latch contention is resolved by the issuance of the command, message BPXM056E is
DOMed and the following message is displayed:
BPXM067I UNIX SYSTEM SERVICES LATCH CONTENTION RESOLVED
Another RAS-related message that was added to z/OS V1R6 is the BPXP022E message.
When jobs attempt to use z/OS UNIX Services while they are unavailable (during shutdown
or prior to complete initialization), action message BPXP022E is displayed:
BPXP022E ONE OR MORE JOBS ARE WAITING FOR UNIX SYSTEM SERVICES AVAILABILITY
At this point, it has been detected that at least one unit of work in the system is waiting for the
availability of z/OS UNIX System Services. To determine which jobs are waiting, issue D
OMVS,A=ALL. An example of the output from D OMVS,A=ALL for a waiting job during OMVS
shutdown is shown in Figure 5-2.
Note: The D in the 2nd character of the STATE field indicates the job is waiting for z/OS
UNIX System Services availability.
$D ESTBYTE
$HASP845 ESTBYTE NUM=99999,INT=99999,OPT=0
If a job exceeds the ESTBYTE NUM specification, the action defined by the ESTBYTE OPT
specification occurs. The NUM parameter sets the boundary for the estimated spool space
utilization in thousands of bytes. When this limit is reached, the $HASP375 message is
issued. What happens after that is controlled by the OPT parameter. Following are the options
and subsequent actions:
0 Job is allowed to continue execution.
1 Job is cancelled without a dump.
2 Job is cancelled with a dump (if a dump statement was coded for this job step).
However, UNIX System Services programs are treated differently by JES than other jobs.
Started tasks and USS programs that run in their own address spaces are not subject to the
ESTBYTE NUM specification. Instead, they have a fixed limit of approximately 2 GB. But they
are subject to the ESTBYTE OPT specification. This means that if a USS program places
more than 2 GB of data on the JES spool, the following occurs:
If ESTBYTE OPT=1 or OPT=2, the program abends with S722.
If ESTBYTE OPT=0, a HASP375 message is issued.
A USS program that runs in the same address space as the JCL that starts it, is subject to the
configured ESTBYTE NUM value, though it can be overridden using the BYTE parameter on
the job statement.
Note: See also APAR II13685 for more information regarding the S722 abend.
A new enhancement of z/OS V1R6 attempts to address this problem by providing a way for a
UNIX-based print and output server to be able to continue to spool output even after reaching
these job output limits.
Due to the spooled output constraint relief, software developers/vendors will be able to
develop a long-running UNIX print and output server for the z/OS UNIX environment. This will
provide customers with the advantage of being able to run a z/OS UNIX print and output
server on z/OS, like Infoprint Server, with a much smaller chance of outages.
To fully benefit from the constraint relief, the following software is required:
z/OS V1R6
z/OS Infoprint Server APAR OA05165
The use of this environment variable requires the user to be privileged. The user must either
be a superuser or be given read access to the BPX.UNLIMITED.OUTPUT security profile.
New to z/OS V1R6 is the wildcard option. The wildcard is permitted to be the last item of the
syslist in place of a system name on the AUTOMOVE INCLUDE list on all methods of
MOUNT. This includes parmlib, TSO, shell, ishell, C program, assembler programs, and
REXX.
Before, customers had to list all the system names in the include system list. Now they just
have to list the priority list system names that they want to consider and the rest they can
include by adding the wildcard character at the end. This means less work (knowing and
typing all the system names in the sysplex) and reduces type errors of system names, etc.
This support is more beneficial if you have a large number of systems participating in a
sysplex.
Restriction: The wildcard is only allowed with an INCLUDE list, not an EXCLUDE list. It
also must be the last item, or the only item, in the list.
Note: In order to use this support, all systems in a sysplex should be at the z/OS V1R6
level. Mixed-release systems in a sysplex will give unpredictable results during dead
system takeover processing and file system move.
This is a known system constraint for very large servers since it limits them to 64K connected
clients at any one time. In z/OS V1R6, the limit is increased to 128K (131072) descriptors to
provide immediate relief for some customers.
To exploit this new function, you can use the following techniques:
BPXPRMxx MAXFILEPROC() IPL and RESTART configuration option
SET OMVS=(xx) console command with BPXPRMxx MAXFILEPROC()
SETOMVS RESET=(xx) console command with BPXPRMxx MAXFILEPROC()
SETOMVS MAXFILEPROC() - Operator console command
SETOMVS PID=ppp,MAXFILEPROC() - Operator console command
Tip: Usually you have more than one user working on your system. Therefore, it is strongly
recommended that you use the z/OS UNIX automount facility. It manages the creation of
the mount point and the mount of the user file systems for you. Whenever someone
accesses a directory managed by the z/OS UNIX automount facility, the mount is issued
automatically.
Then the user issues an oedit command to change the auto.map file to change the duration
from 1440 to 1400.
Next, the command issued appends or adds the change in the policy into the current active
sysplex in-storage, as follows:
/usr/sbin/automount -a
When the following command is issued to query the in-storage policy, you can see that it has
changed the duration to 1400:
/usr/sbin/automount -q
ROGERS @ SC65:/u/rogers>/usr/sbin/automount -q
/u
name *
filesystem OMVS.<uc_name>.ZFS
type ZFS
allocuser space(1,1) storclas(OPENMVS)
mode rdwr
duration 1440
delay 360
name *
filesystem OMVS.<uc_name>.ZFS
type ZFS
allocuser space(1,1) storclas(OPENMVS)
mode rdwr
duration 1400
delay 360
Although automount ensures that loading a new policy is an atomic operation, it does not
serialize multiple simultaneous instances of running the automount utility. This remains the
case when using the -a option. It should not be used in an automated script such as /etc/rc
that can be run at the same time from multiple systems. This may result in changes to the
automount policy being done without any indication of this. When automount is run this
way—without the -a option—and the same policy is loaded from all systems, it is irrelevant
that the policy load from one or more systems is overlaid.
The default master file remains /etc/auto.master, and the file name can be specified on the
command line. The syntax is enhanced to indicate the name is a data set name. The usual
convention of // preceding the name is used. The data set may be a sequential data set or a
member of a PDS. The data set name must be specified as a fully qualified name and may be
upper or lower case. Single quotes are not needed. Example:
/usr/sbin/automount “//sys1.parmlib(amtmst01)”
Attention: Notice the double quotes around the name to avoid unwanted shell processing.
If the data set is a PDS with a member name and the member does not exist, automount
will act similar to the way it acts when the path name does not exist. In addition, an open
abend message may be generated by the REXX processor. Automount does not support
input files containing sequence numbers, whether they are from HFS files or data sets.
In HFS-to-zFS migration scenarios, customers are likely to migrate file systems over time
rather than all file systems at once. The capability of allowing automount to be able to
manage both HFS and zFS file systems in one automount policy is vital for enabling this
migration. Automount was changed in z/OS V1R6 in such a way, that when HFS or ZFS is
specified as the file system type, the data set is checked to determine what type of data set it
is and then the mount is directed to the appropriate file system type.
No new explicit externals are added. However, some behaviors are changed. Specifically, it is
now possible to have a generic automount policy manage both HFS and zFS file systems
based simply on the type of the data set. Automount dynamically determines the correct file
system type for the data set and directs the mount to the appropriate PFS.
Note: It is not necessary to specify zFS file system names in upper case.
The reason SSL cannot survive an exec() or a spawn() is that it is not relocatable. SSL
creates several pointers into LE, and once done the LE heap must remain intact. SSL must be
initialized under the daemon’s identity and thus before the typical setuid()/exec().
S e c u re F T P s e rve r
e n c r y p t/d e c r y p t
S e c u re F T P
C lie n t
T ra n s fe r
F
F ile s
Figure 5-5 Process the account information for the new job while preserving the SSL object
To provide for a mechanism to process the account information while preserving the SSL
object, the fork() accounting logic was added to the USS kernel. This way accounting data is
available for secure FTP clients. The account data from the client is extracted from the user’s
work attributes in the RACF WORKATTR segment.
The superkill command bypasses the Language Environment, which is in contrast to the
“normal” kill. There are some essentials for using superkill. A “normal” kill will do some
quiescing towards the Language Environment.
This way higher applications like CICS or DB2 will be more willing to cooperate in the
termination of UNIX processes. It is therefore necessary to do a normal kill first, before you try
to use the superkill.
Superkill employs a 422 non-retryable abend, directed to the initial thread of the target
process. Only one abend per process is allowed. If for some reason the 422 abend cannot
terminate the process, it is doubtful another will succeed. Much like when a cancel fails, it
would become necessary to terminate the address space.
Note: The restrictions have been put in place to ensure that the asynchronous nature of
the abend is limited to processes that a truly hung. Limiting the abend to a single process
at a time also avoids abusive use.
The kill command is a built-in function in both the sh and tcsh shells, with slight syntax
variations. Both shells were updated with the same syntax for the new option.
Note: The superkill cannot be sent to a process group (by using a pid of 0 or a negative
number) or to all processes (by using a pid of -1). Therefore, the alternate format of the kill
command, kill –s KILL %2 to kill shell job 2, is not useful.
On historical UNIX platforms, clear is equivalent to the tput clear command. tput uses the
terminal definition (terminfo) database, which sends a terminal-specific byte stream to the
terminal to clear the screen, based on the value of the TERM environment variable.
On z/OS, if the user is logged in on a 3270 session (using the TSO/E command OMVS),
TERM is set to “dumb”. The terminfo definition of “dumb” does not implement “clear”, so the
z/OS clear command is designed to recognize and clear the screen in this case, without
modification of the terminfo database.
The clear command has no options. It just clears the screen of all output and places the
cursor at the top of the screen.
This uptime command is another command common on historical UNIX platforms, and
requested by customers. It outputs how long the system has been “up” on a one-line display:
PATRICK @ :/u/patrick>uptime 04:06PM up 8 day(s), 19:33, 1 users, load average:
0.00, 0.00, 0.00
Note: Load averages are not supported on z/OS UNIX, and are displayed as 0.00.
File requests are routed by the logical file system (LFS) to the appropriate physical file system
(PFS) through the PFS interface, as shown in Figure 5-6, when users request access to file
system data.
.
read write open close
HFSVOL ZFSVOL
/ /
F F F F
F
F F
F F F F
The new design is that if the ownership of these file systems can be moved to another system
in the sysplex, then they should be moved there, and function-ship the requests and avoid the
local unmounts. This allows improved availability of file systems on the system where a PFS
is terminating.
If the file system is sysplex-aware (locally mounted), but not owned by the system where the
PFS is terminating, then it is converted to function-shipping to the owner (no move occurs).
If the reply to restart the PFS is I (do not restart the PFS), then the file systems are locally
unmounted as before.
If the reply to restart the PFS is R, then any sysplex-aware file systems convert back from
function-shipping to local mount. Sysplex-unaware file systems remain function-shipping
to the current owner.
Sysplex aware Capable of mounting locally in the systems. For example, R/O zFS file
systems in V1R6.
Sysplex-unaware Not capable of mounting locally in the systems. Function ships the
request to owner. For example, R/W zFS file systems in V1R6.
With the new LFS support of sysplex zFS, you can continue to access the file systems owned
by the system where PFS was terminated.
Note: Each file system is moved and/or converted to function-shipping one at a time. So
there is a window during which the PFS is dead and all file systems are not yet
function-shipping. If the operator issues a request during this time, it will fail. This design
accepts that window.
XCF ZFS
ZFS
function-ships
R/W requests
Locally mounted
Read (R/O) Locally mounted
OW NER
XCF Read (R/O)
(Coordinator) function-ships
R/W requests
/ /
F F F F
F R/W F R/O
F F F F
OM VS.TEST1.ZFS OM VS.TEST2.ZFS
Figure 5-7 Three systems in a USS sharing an environment accessing two file systems
When the PFS terminates, there is a system prompt message waiting for a reply in system
SY1, for example:
*015 BPXF032D FILESYSTYPE ZFS TERMINATED. REPLY 'R' WHEN READY TO RESTART.
REPLY 'I' TO IGNORE.
If the reply to restart the PFS is I (do not restart the PFS), then the file systems will be
locally unmounted as before.
If the reply to restart the PFS is R, then any sysplex-aware file systems convert back from
function-shipping to local mount. Sysplex-unaware file systems remain function-shipping
to the current owner.
SY2
SY1 z/OS V1R5
SY3
z/OS V1R5
z/OS V1R5
ZFS
F F F F
F R/W F R/O
F F F F
OM VS.TEST1.ZFS OM VS.TEST2.ZFS
Figure 5-8 For all releases prior to z/OS V1R6 for move of file systems
Figure 5-9 on page 137 shows that SY2 is now the new owner (coordinator) of the two file
systems.
The file systems owned by SY1, OMVS.TEST1.ZFS (R/W) and OMVS.TEST2.ZFS (R/O)
are automoved to SY2. SY2 becomes the new owner
The other two systems, SY2 and SY3, still maintain the R/O zFS file system locally
mounted as read (R/O). SY2 is the new owner of the R/O file system.
Any R/W requests from SY3 to the R/W file system now owned by SY2 are passed
through the XCF messaging function, which is referred to as function-shipping requests.
All users on the SY1 system that were using the R/O and R/W file systems on SY1 now
have access to them through the XCF messaging function, which is referred to as
function-shipping requests.
Note: Notice that the XCF function-shipping is also for a R/O file system.
/ /
F F F F
F R/W F R/O
F F F F
OMVS.TEST1.ZFS OMVS.TEST2.ZFS
Figure 5-9 Same USS sharing environment after changing the ownership to another system
Note: A move of a file system that is either AUTOMOVE(NO) or has the automove syslist
to a new z/OS V1R6 owner will change to AUTOMOVE(YES), and issue BPXF234I. This
will be true for manual move and file system Dead System Recovery and unowned file
system takeover processing.
Prior to z/OS V1R6, automove syslist for sysplex-aware behaved like sysplex-unaware
(honored the syslist and unmounted if it could not be taken over).
In a sysplex environment, a single BRLM handles all byte-range locking in the shared HFS
group. If the BRLM server crashes, or if the system that owns the BRLM is partitioned out of
the sysplex, the BRLM is reactivated on another system in the group. All locks that were held
under the old BRLM server are lost. An application that accesses a file that was previously
locked receives an I/O error, and has to close and reopen the file before continuing.
You can choose to have distributed BRLM initialized on every system in the sysplex. Each
BRLM is responsible for handling locking requests for files whose file systems are mounted
locally in that system. Use distributed BRLM if you have applications that lock files that are
mounted and owned locally. With distributed BRLM, each system in the sysplex runs a
separate BRLM, which is responsible for locking files in the file systems that are owned and
mounted on that system. Because most applications (including cron, inetd, and Lotus®
Domino®) lock local files, the dependency on having a remote BRLM up and running is
removed.
Running with distributed BRLM is optional. Many applications that lock files that are locally
mounted will be unaffected when a remote sysplex member dies. Movement away from a
centralized to a distributed BRLM will provide greater flexibility and reliability.
Distributed BRLM is enhanced in z/OS V1R6 to support moving byte range locks. Before this
release of z/OS, an ENOMOVE error was presented when it was attempted to externally
move a file system while an application had requested a byte range lock for a file in that file
system. So previously a file system couldn’t be removed in a sysplex when an application
held a byte range lock in that file system. Moving of locks was not supported with distributed
BRLM. This restriction was removed with this new item. The file systems mounted in a
sysplex are movable from one member of the sysplex to another member, even when locks
are held in that file system.
Note: All systems in the sysplex must support moving byte range locks in order for the
move function to succeed. Any system which is down level will prevent the function from
occurring. An ENOMOVE error will result.
With V1R6, Distributed BRLM is the only supported byte range locking method when all
systems are at the V1R6 level. The idea is to have all systems automatically move toward
Distributed BRLM, which is the superior BRLM solution in a sysplex.
Byte range locks are moved under the following normal conditions:
SETOMVS FILESYS,FILESYSTEM=,SYSNAME=,…
/usr/sbin/chmount –d targetsys mountpath
F BPXOINIT,SHUTDOWN=FILESYS
F OMVS,SHUTDOWN
Sysplex member normal termination
Note: Byte range locks are not moved when a sysplex member abnormal termination
occurs or any sysplex member is down level.
Also if the sysplex only has systems at the V1R6 level, then there is no change required. A
z/OS V1R6 sysplex will automatically use distributed BRLM. However, if V1R6 is joining a
mixed level sysplex, then the distributed BRLM needs to be enabled.
To enable distributed BRLM we recommend that you run the IXCL1DSU utility for couple data
set versioning. IXCL1DSU no longer support NUMBER(0) for centralized BRLM, when
running at the V1R6 level. It will only accepts NUMBER(1) as a keyword when ITEM
NAME(DISTBRLM) is specified.
Note: If the customer does not set DISTBRLM NUMBER(1), a pre-release V1R6 system in
the sysplex can produce an EC6-BadOmvsCds Abend any time a system enters or leaves
the sysplex. An EC6-BadOmvsCds Abend is a notification Abend, indicating that
DISTBRLM(0) is set when distributed BRLM is actually active; No loss of function actually
occurs. USS still operates normally.
If the filter command is entered without any argument, a panel will be displayed to enter the
new filter. A filter can specify any characters with * as the wild card character. The * can
match any number of characters including no characters. The command filter *.c for example
will show only files that end with .c. The filter is case sensitive. The * itself cannot be used as
The filter command can also be selected via a pull-down choice on the directory list panel.
This will act as though filter was entered as a command without an argument.
Autoskip is the characteristic when a character is entered in the one character selection
column the cursor moves to the next unprotected area on the screen, usually the next
selection field on the next line. With this option enabled, the cursor will move to a protected
field and must be moved with a key such as tab. This only affects action list panels that have
autoskip. Currently, that is just the directory list panel.
If enabled, when multiple actions are selected on the directory list, processing will stop if an
action results in any message so that the message can be viewed. All subsequent selections
will be cleared.
To get to this panel, as shown in Figure 5-15 on page 144, you can use:
The ex command.
Or you can follow the “Tools” pull down menu and press number 3 “Run program”.
To enable this support, select the “setup” pull down menu from within the main ishell panel
and press enter. Choose number 3 “*All users” to enter the BPXWP76 panel as shown in
Figure 5-16 below.
Attention: The BPXWP76 panel will be shown only ones per ishell session.
In z/OS V1R6 you are given the choice to bring back the null Enter on the directory list panel
to refresh the list. In Figure 5-18 on page 146 you see the directory list Options panel. You
have to select Null Enter refreshes list to be able to use this feature.
RTLS is used to aide migration to Language Environment from previous run-times. It allows
applications to specify a particular level of Language Environment run-time to be used.
These run-time options are removed from the options reports generated by RPTOPTS(ON),
CEEDUMP, and the IPCS verb exit. The CEEXOPT macro has been updated to prevent the
use of these run-time options when building new CEEDOPT, CEECOPT, CEEROPT, or
CEEUOPT CSECTs. Existing CEECOPT and CEEDOPT members that contain these
run-time options must be modified to remove them if these run-time options are encountered
in existing CEEROPT or CEEUOPT CSECTs.
For z/OS UNIX applications, this requires changes to CEEDOPT and CEECOPT usermods at
z/OS 1.6 installation. This means that existing CEEUOPTs or CEEROPTs that specified any
of the above run-time options now produce the following informational message:
CEE3611I The run-time option option was an invalid run-time option or is not
supported in this release of Language Environment.
To avoid this message, the CEEUOPTs need to be reworked and relinked. The SCEERTLS
data set will no longer be shipped by Language Environment. Any JCL that references this
data set needs to be updated.
Some user applications might continue to require a lower level of Language Environment than
that shipped with z/OS 1.6. Applications can continue to use STEPLIB to access a lower level
of Language Environment. However, z/OS elements require the use of the level of Language
Environment delivered with the operating system.
Because of better maintenance capabilities, we now have a bimodal kernel (31/64 bit). 99% of
the USS kernel is still running in 31-bit mode, indicating that 64-bit program addressing is
mapped under the covers.
Note: Syscalls that are not being supported in 64-bit mode are those that have been
replaced in functionality by other syscalls. BPX1GPS has been replaced by BPX1GTH,
BPX1TYN has been replaced by BPX2TYN, and so on. The kernel will continue to support
the BPX1... versions of these syscalls.
LE will always just run in one mode per process image. LE will provide two libraries. The
64-bit version will run amode64 and invoke the 64-bit kernel services. The 31-bit version will
run as today. Converting a 31-bit C program to 64-bit calls for a recompile and a relink.
Attention: For applications written in the assembler programming language to run in 64-bit
mode requires that all invocations of BPX1... kernel services need a code change.
There are some differences between the syscall layers of 31-bit and 64-bit mode. Check the
z/OS V1R6 version of z/OS UNIX System Services Programming: Assembler Callable
Services Reference, SA22-7803 for more information about this subject.
UNIX commands to build 64-bit applications ar, nm, file, lex, yacc
UNIX commands to display 64-bit resources ulinit / limit / unlimit, ps, ipcs
For example, to add or replace two members to the libfun archive, use the following
command:
ar -ruv libfun.a math.o symbol.o
New in z/OS V1R6 is that you can store multiple versions of the same object file in one
archive; see Figure 5-20. This will overcome the problem where you have to make separate
archives to supply 31-bit and 64-bit versions of the same library. The ar utility stores the
attributes in the archive and the archive can contain, for example, three versions of an object:
myfunc.o AMODE(31), non-XPLINK
myfuncX.o AMODE(31), XPLINK
myfunc64.o AMODE(64) (AMODE(64) always forces XPLINK)
libfun.a
Sym bol Table
ar -r
m yfunc.c ___________
c
9-
c8
m yfunc.o
xplink ___________
myfunc.c m yfuncX.c
m yfuncX.o
LP
___________
64
m yfunc64.c m yfunc64.o
___________
Display symbols
The nm command is used for checking object files and archive libraries for external symbols
when the link-edit reports unresolved references. You can display symbols in an:
Object (.o)
Archive library (.a)
Executable
>nm -M /usr/lib/libl.a
yyerror.o:
0 D --- --- - @@DOPLNK
0 D ANY ANY - @@INIT@
0 U 24 24 - @@XINIT@
0 U ANY ANY - CEESG003
0 U ANY ANY - CEESTART
0 D ANY ANY - FSUMSYYR
0 U ANY ANY - FSUSSYYR
0 D ANY ANY - FSUSSYYR
0 U ANY ANY - fprintf
0 U ANY ANY - yyerror
48 T ANY ANY - yyerror
In z/OS V1r6 the file command also determines the addressing mode (31 or 64) of
executable files; see Figure 5-22.
>file /bin/pax
/bin/pax: z/OS Unix executable (amode=31)
Note: In case the AMODE check is not desired, the -E option bypasses it and uses the
magic file (/etc/magic) templates. See Figure 5-23.
>file -E /bin/pax
/bin/pax: OS/390 UNIX executable
Note: In z/OS V1R6 there are no changes to the lex and yacc utilities themselves.
z/OS includes archive libraries libl.a and liby.a, which contain collections of compiled object
files with functions used by lex and yacc. These libraries are searched when the parsing
application is link-edited. The new archives in z/OS V1R6 contain both 31-bit and 64-bit
compiled object files. See also the new ar support in “Archive libraries” on page 149.
Both control the current shell’s process. The limits are inherited by child processes (for
example, regular commands invoked from the shell).
PATRICK @ :/u/patrick>ulimit -a
core file 8192b
cpu time unlimited
data size unlimited
file size unlimited
stack size unlimited
file descriptors 65535
address space 136168k
memory above bar 17592186040320m
The ulimit -a command shows all the current limits, as shown in Figure 5-24.
Notes:
Superusers can set “hard” limits with -H as an upper bound on all users.
Users can set “soft” limits (default or -S) only up to the hard limit.
System parms (BPXPRMxx) control some of the resources and will be reported as the
limit values, if not overridden.
For the tcsh shell commands limit and unlimit there are two new resource names:
memlimit Maximum storage allocation above the 2Gig bar (in megabytes)
addressspace Maximum address space size (in kilobytes)
Both new output fields are displayed with possible multiplier abbreviations:
space multiplier
K Kilo
M Mega
G Giga
T Tera
P Peta
Before z/OS V1R6, ipcs output SEGSZPG showed the segment size in pages. The size of
these pages was always 4K. In addition to SEGSZPG, the following were added in z/OS
V1R6:
SEGSZ Segment size in bytes of the shared memory
PGSZ Page size in 4K or 1M
There is also a new z/OS extension, the -y option on the ipcs command, which gives a
summary system limit status, including the following fields:
TPAGES The system limit for the number of system-wide shared memory pages (only
for 31-bit (below the bar) requests)
SPAGES The system limit for the number of pages per shared memory segment
SEGPR The system limit for the number of segments per process
CPAGES The current number of system-wide shared memory pages
MAXSEG The largest number of shared memory pages allocated to a single shared
memory segment
The IFA, also known as the IBM zSeries Application Assist Processor (zAAP), is available on
the IBM zSeries 990 (z990) and zSeries 890 (z890) servers. It is an attractively priced
specialized processing unit that provides a strategic z/OS Java execution environment for
customers who desire the powerful integration advantages and traditional Qualities of Service
of the zSeries platform.
In general, RMF distinguishes between regular CP and IFA processing units where
appropriate to do so. It will also collect statistics and report IFA service times. For WLM
service class and report class periods, IFA using and delay states will be collected and
reported.
On the CPU Activity report, the following changes support zAAP processing:
The CPU section is grouped per processor type.
A new TYPE column indicates whether the processor belongs to the pool of standard CPs
or IFA (zAAP) processors. In the testing we did, there were one standard CP and two
zAAPs, as shown in Figure 6-1 on page 155.
The last two columns are only available for standard CPs—not for zAAPs—because
zAAPs are disabled for I/O interruption.
A TOTAL/AVERAGE line is printed per pool.
Figure 6-1 on page 155 shows an example of an updated CPU Activity report that presents
IFA processing unit statistics.
On the Partition Data section of the CPU Activity report, logical IFA processors are grouped
and reported together with the ICF processor pool. This is due to the fact that the hardware
recognizes ICFs, IFLs, and IFAs as a single pool of resources.
The Resource Consumption section of the WLMGL report is extended by the following
zAAP-related fields:
The IFA is the zAAP processor service time in seconds. It does not account for the
zAAP-eligible work executed on regular CPs.
APPL% IFA is the percentage of CPU time executed on zAAP processors.
APPL% IFACP is the percentage of CPU time used by zAAP-eligible work on regular CPs.
It is also reported by the IWMRCOLL service. It allows the customer to assess whether
additional zAAP processors might be necessary to run all zAAP-eligible work.
– If crossover is turned on (IFACrossOver= YES) on the IEAOPTxx parmlib member, and
honor priorities are turned on or defaulted in the IEAOPTxx=, the CP time was
accumulated at priority.
– If crossover is on and honor priorities are turned off, the CP time for zAAP-eligible work
was accumulated after discretionary service class periods were dispatched.
– If crossover is turned off (IFACrossOver=NO), no zAAP-eligible work runs on CPs. This
percentage should be zero.
Note: If no zAAPs are configured, N/A is shown for the new fields.
To calculate the percentage of non-zAAP-eligible work, subtract the value of IFA from a
CP, as follows:
non-zAAP-eligible work % = APPL%CP - APPL%IFACP = 85.7 - 65.7 = 20%
An example of the new Actuals section of the Workload Activity report follows:
ACTUALS: RESPONSE EX PERF AVG ----USING%--- --------- EXECUTION DELAYS % ------- ---DLY%-- -CRYPTO%- ---CNT%-- %
TIME VEL% INDX ADRSP CPU IFA I/O TOT CPU IFA I/O AUX AUX SWIN UNKN IDLE USG DLY USG DLY QUIE
HH.MM.SS.TTT VIO PRIV
*ALL 00.00.01.854 31.8 1.1 5.7 3.6 2.2 2.6 13.4 8.5 4.3 0.3 0.2 0.1 0.1 58.1 22.7 1.1 3.1 0.0 0.0 0.0
LP1 00.00.01.999 30.5 1.3 2.1 3.5 2.1 2.3 13.5 9.0 4.2 0.2 0.1 0.0 0.1 60.3 20.5 0.2 1.1 0.0 0.0 0.0
LP2 00.00.01.001 49.4 1.0 1.9 3.3 2.0 3.1 6.8 1.8 4.3 0.3 0.1 0.0 0.0 63.1 24.0 1.4 4.1 0.0 0.0 0.0
LP4 00.00.01.003 24.1 1.0 1.8 3.9 2.3 2.3 10.1 14.8 4.3 0.3 0.1 0.4 0.1 50.3 23.7 0.3 0.3 0.0 0.0 0.0
When running the same Java workload with zAAPs as you were running before without
zAAPs, you should expect to see less capacity shown in your Sub-Capacity Reporting Tool
Refer to z/OS MVS System Management Facilities (SMF), SA22-7630 for more information
on SMF type 30 and type 72 records. Refer to z/OS Resource Measurement Facility User’s
Guide, SC33-7990 for more information on RMF monitoring.
Note: The diagnosis tools and service aids that you use today, for example SLIP traps and
traces, can be used unchanged with zAAPs.
The following SMF record types have been extended to provide support for IFAs:
SMF record type 70 subtype 1 - CPU Activity
SMF record type 72 subtype 3 - Workload activity
SMF record type 79 subtype 1 and subtype 2 - Address space state and Resource data
The statistics include data from each link in the entire ESS and give a “box-wide” view of the
performance. While similar statistics are available in the Cache report, they give a view of the
ESS itself.
In order to generate the data necessary to produce the ESS report, a new Monitor I data
gatherer option has been supplied. The option is:
ESS | NOESS
Specifying ESS enables the capture of ESS link measurement data. This data is written to the
new SMF type 74 subtype 8 records supplied with this SPE.
It should be noted that when several systems have access to the same storage subsystem,
only one system needs to be started with ESS data gathering enabled. Enabling ESS data
gathering in more than one system will simply produce duplicate SMF records.
REPORTS(ESS)
This results in the creation of a report similar to the following example, but hopefully with more
meaningful link statistics:
SERIAL NUMBER 0000022010 TYPE-MODEL 2105-E20 CDATE 07/11/2003 CTIME 17.45.00 CINT 15.00
000C FIBRE 2GB PPRC READ nnn nnn nnn nnn nnn
PPRC WRITE nnn nnn nnn nnn nnn
------
mmm
0028 FIBRE 2Gb SCSI READ nnn nnn nnn nnn nnn
SCSI WRITE nnn nnn nnn nnn nnn
------
mmm
002C FIBRE 2Gb PPRC SEND nnn nnn nnn nnn nnn
PPRC RECEIVE nnn nnn nnn nnn nnn
------
mmm
008C FIBRE 2GB PPRC SEND nnn nnn nnn nnn nnn
PPRC RECEIVE nnn nnn nnn nnn nnn
------
mmm
To exploit SOCKS firewall navigation, Secure FTP, and other aspects of the FTP client, you
must configure the FTP client by modifying FTP.DATA in one of these locations:
$HOME/ftp.data
Note: If the “pasv” and “keepalive” attributes are specified in the CLIENT data set, they will
be ignored.
You must now specify FWFriendly or FTPKeepAlive in the FTP.DATA file as shown in
Figure 7-2.
To enable TLS security, SOCKS firewall support, and IPv6 addressing, ensure that z/OS
Communications Server V1R2 (or higher) is installed.
CustomPac dialog
To install an Internet delivered ServerPac, you also need CustomPac dialogs.
If you are using a dialog whose Package Version is less than 17.00.00, you must migrate the
dialog to this level, or higher. You can easily determine if you have the correct dialog level if
the text “This dialog supports electronic delivery.” appears at the bottom of panel CPPPOLI. If
your dialog is not at the minimum level, the migration scenarios and steps are described in
ServerPac: Using the Installation Dialog, SA22-7815.
GIMZIP and GIMUNZIP are being provided as part of SMP/E to assist in the packaging of a
product for shipment via the Internet. The GIMZIP service routine creates portable packages
of software and related materials. Typically, the packages contain SYSMODs, RELFILE data
sets, HOLDDATA, and associated material such as documentation, samples, and text files.
These GIMZIP packages may be transported through a network, processed by the
GIMUNZIP service routine, and then processed by the SMP/E RECEIVE command. The
GIMUNZIP service routine is used to extract data sets from archive files in GIMZIP packages
created by the GIMZIP service routine.
We now describe the enhancements made to the GIMZIP and GIMUNZIP service routines
and their processing requirements.
Note: In the input, the existing data set can now be a file or directory in the following
parameter NEWNAME, ARCHID can be the HFS root, and PRESERVEIDS identifies the
original UID and GID of files.
The GIMZIP and GIMUNZIP service routines have been enhanced to allow packages to also
contain VSAM ESDS, KSDS, LDS, and RRDS data sets, and UNIX files and directories.
More specifically, a GIMZIP package consists of a single package definition file, a set of
archive files, and text files. The package definition file describes the total package and
identifies the archive files and text files contained in the package. An archive file consists of a
portable image of any of the following:
A sequential data set
A partitioned data set
A VSAM data set
A file in the UNIX file system
A directory in the UNIX file system
GIMUNZIP now allows GIMUNZIP operations into existing data sets. GIMUNZIP determines
whether the data set specified on the <ARCHDEF> tag already exists. If it does, GIMUNZIP
copies the archive file into the existing data set. If the data set does not already exist,
GIMUNZIP allocates a new data set and then copies the archive file into that new data set.
For UNIX directories and files, GIMZIP uses the pax command to create the archive file
directly.
As stated in the GIMZIP extensions above, the GIMZIP and GIMUNZIP service routines have
been enhanced to allow packages to also contain VSAM ESDS, KSDS, LDS, and RRDS data
sets, and UNIX files and directories.
Archive files
Additional enhancements include:
Selection of archives by file name or by new archid name
Extracting archives into:
– New data sets and files
• Allocates PDS and Sequential data sets.
• Uses IDCAMS DEFINE CLUSTER for VSAM data sets.
• Creates directories and files in the UNIX file system.
– Existing data sets and files
This is useful if the output data set must span volumes.
When extracting into existing data sets, the archive and destination formats must be the
same.
– Extract PDS archive only to a PDS. Cannot extract PDS members into a UNIX
directory, or vice versa.
– Extract sequential data set archive only to a sequential data set. Cannot extract data
set into a UNIX file, or vice versa.
– Extract directory archive only to a UNIX directory.
Optionally replace members of an existing PDS or files in an existing directory.
Note: The files in the GIMZIP package are stored in the SMPNTS directory for use later by
the RECEIVE FROMNTS command, or other applications and offerings.
The result is that more SYSMODs should be applied and accepted without problems and with
better space utilization of load module data sets. Additionally, the installation of load modules
that are likely to cause a problem in the future is stopped until the user takes a corrective
action (such as increasing the blocksize of the destination library).
Note: SMP/E passes new default parameters (SPCLCMOD and CMWA=256K) to the copy
utility when copying modules, load modules, or programs.
Note: Formerly, the source ID was not assigned to SYSMODs that are already received.
CHECK indicates whether SMP/E should do a trial run of a command without actually
updating any libraries.
This provides a way to test for errors that might occur during actual processing and to receive
reports on the changes that would be made.
The SMPCLNT data set contains information about the TCP/IP client environment of the local
machine. It is used by the GIMGTPKG service routine.
The SMPSRVR data set contains information about a TCP/IP-connected host running an FTP
server. It is used by the GIMGTPKG service routine.
For z/OS V1R6, fifteen WLM services are enhanced to support 64-bit environments. These
services run in both 31-bit and 64-bit address mode. To use 64-bit services, change the
names of the services in your application, for example, change IWMCONN to IWM4CON. The
prefix of all 64-bit services names is IWM4, as shown in Table 8-2 on page 175.
The services that run in 64-bit address mode in general support the same parameters as their
equivalents for 31-bit address mode. Note that the only exception is the PLISTVER
parameter, which has slightly changed. The 64-bit services only support PLISTVER=0, in
case a PLIST Version is explicitly used. The following example shows how to use the
PLISTVER keyword for 31-bit services:
12345678 SPACE 1 DS 0H
IWMxxxxx ETOKEN=ETOKEN
RSNCODE=RSNCODE,
PLISTVER=2
The functions shown in Table 8-1, in WLM.H in PDS CEE.SCEEH.SYS.H, have all been
updated to include 64-bit support in the C-Compiler, Language Environment, and UNIX
System Services.
ExportWorkUnit IWMEXPT
UnDoExportWorkUnit IWMUEXPT
ImportWorkUnit IWMIMPT
UnDoImportWorkUnit IWMUIMPT
CreateWorkUnit() IWMECREA
ContinueWorkUnit() IWMECREA
ConnectWorkMgr() IWMCONN
ConnectServer() IWMCONN
DisconnectServer() IWMDISC
JoinWorkUnit() IWMEJOIN
LeaveWorkUnit() IWMELEAV
DeleteWorkUnit() IWMEDELE
ExtractWorkUnit() IWMESQRY
QueryMetrics() IWMWSYSQ
QuerySchEnv() IWMSEQRY
CheckSchEnv() IWMSEDES
QueryWorkUnitClassification() IWMECQRY
ConnectExportImport IWMCONN
The following four functions in IWMWDNSH.H in PDS SYS1.SIEAHDR.H have been updated
to include 64-bit operation, but no support has been provided for them in the C-Compiler, the
Language Environment, or UNIX System Services:
IWMDNGRP
IWMDNSRV
IWMDNREG
IWMDNDRG
Refer to z/OS MVS Programming Workload Management Services, SA22-7619 and z/OS
C/C++ Run-Time Library Reference, SA22-7821 for more detailed information on these
interfaces.
Table 8-2 shows the old WLM services and the new services that have been enabled for
64-bit operation.
Important: The new WLM services will only run on z/OS V1R6 or higher and can be used
in either 31-bit or 64-bit environments.
However, it is counterproductive when an application inserts too many work requests that
create an affinity to a specific server region. These affinities are created when a data object is
built in the server address space that will be required by subsequent client requests. In this
situation, it would be better to spread the work requests across all of the available server
regions.
WLM stateful session placement now allows for a round-robin method of scheduling new
transactions across all active WebSphere Access Services (WAS) server regions in one WAS
control region. This provides a simplified environment for horizontal scaling. Multiple control
regions do not have to be created and the external round-robin facility does not need to be
maintained as application volumes grow. Rather, they can be controlled using the WAS
control region parameters min_srs and max_srs. The number of server instances is managed
to handle predicted transaction volumes.
DB2 is one exploiter of these application interfaces in order to get WLM management of their
stored procedures address spaces. The customer is required to define an application
environment and to provide a startup procedure that WLM can use to start the server regions.
The initial design for this support assumed that all of the work requests would be independent
of each other. In the case of DB2 Stored Procedures, this is not always true, and has led to
problems in WLM’s management of the server regions.
Each stored procedure is executed by a server task within the WLM-established DB2 Stored
Procedure address space. In the case of recursive calls, each server task waits for the
completion of the stored procedure it called. For quasi-parallel calls, DB2 wakes up the server
tasks but only one task is active at any given time while the other server tasks are suspended.
In order for the initial work request to complete its processing, all subsequently called work
requests must be selected by server tasks. The suspended tasks do not consume resources
and the dependencies between the work requests are unknown. WLM may not detect that a
problem exists because service class goals are being met and will therefore project that
adding more server address spaces would not provide any additional benefit.
The WLM queue/server management application interfaces have been enhanced to allow an
application, such as DB2 Stored Procedures, to inform WLM that a work request with a
dependency to other work already in progress is inserted. WLM recognizes these situations
and attempts to assist these applications by starting new server address spaces as long as
the available system resources and WLM service class goals will support this.
The objective for the IFA was to create a lower cost environment for eligible workloads
executing zSeries software. Currently, the only kind of work that is eligible to be dispatched on
an IFA is work that is executing in the Java Virtual Machine (JVM). The JVM has been
enhanced to provide a switch interface which contacts the dispatcher and signals that
IFA-eligible work is beginning. This workload is then removed from a regular CP and queued
for execution on an available IFA. When an IFL becomes available for work, it selects the next
highest priority work request from the IFA dispatcher queue and begins execution.
It is important to note that IFA-eligible work can still run on a normal CP as well as an IFA.
This is known as crossover. The standard CP can select work from either the system work
unit queue or the IFA work unit queue. If a CP and IFL are both available when an IFA-eligible
work unit is dispatched, it is dispatched to and processed on the CP. Restrictions on
Integration of IFAs into the zSeries environment has required changes to System Resource
Manager (SRM). WLM and SRM work in tandem to provide support for IFAs and the
IFA-eligible workloads access to system resources. The following areas have been enhanced
to provide this support:
New IEAOPTxx parameters
Calculation of CPU and IFA “Using” and “Delay”
Calculation of CPU times and service
Modifications for starting WLM server address spaces
Exclusion of IFAs from LPAR management
Extensions to the SMF 99 record
The dispatcher on the normal CP reviews both dispatch queues and selects the work with the
highest dispatching priority.
When no work is queued in the system work unit queue (SWUQ), the IFA-eligible work
executes on the regular CP as if its dispatch priority were below the level of discretionary
work. This, again, is known as crossover work.
Under normal operation, the dispatcher executing on a regular CP selects the highest priority
work from both of the work unit queues. Two new IEAOPTxx parameters are made available
with z/OS V1R6 that can be used by the installation to change the normal mode of CP work
selection.
IFACROSSOVER=Yes|No
IFAHONORPRIORITY=Yes/No
IFACROSSOVER parameter
FA crossover and priority specifications are passed to the supervisor so that it knows if these
functions are enabled or not.
Specifying YES to IFACROSSOVER indicates that WLM will manage crossover, not that WLM
will always cause a dispatch before a wait state. Specifying NO disables the crossover
capability.
IFAHONORPRIORITY parameter
Specifying YES to IFAHONORPRIORITY indicates the WLM will manage priority selection,
not that WLM will always dispatch in priority sequence. Specifying NO disables priority-based
dispatching.
LPAR capping
Additionally, there is one other situation that can impact whether or not IFA honor priority is
active, and it potentially impacts customers using LPAR capping.
WLM communicates with the LPAR Hipervisor to turn LPAR capping on and off. The basis for
the on or off decision is a partition’s rolling four hour average. When the rolling four hour
During the time that the partition is capped, regular CPs can continue to process IFA-eligible
work, but it will only be at below discretionary dispatch priority because crossover mode
remains unaffected by LPAR capping.
WLM enables honor priority dispatching when the rolling four hour average falls below the
defined capacity limit and LPAR capping is turned off.
There is also an additional undocumented IEAOPTxx parameter that can be used to control
supervisor processing when a switch to or from an IFA is requested. The parameter is:
IFASWITCHIMMEDIATE=Yes|No
If YES is specified, the supervisor forces the dispatch when the switch is requested. If NO is
specified, the dispatch is deferred and the work running on the CP is allowed to continue until
the time slice ends and a redispatch occurs.
If the dispatcher is honoring priorities for selecting work from the IFA work unit queue, these
“using” samples are also recorded as “CPU using” and the amount of “IFA delay” is reduced
proportionally to the amount of “IFA and CPU using”. To demonstrate:
CPU using = CPU using + IFA on CP using
IFA delay = IFA on CP using * IFA delay / all IFA using
All IFA using = MAX(1, IFA using + IFA on CP using)
CPU delay = CPU delay + IFA delay
If the dispatcher is not honoring priorities either because WLM or the customer has turned it
off, IFA on CP using is added to the IFA using. Further, IFA on CP using is always contained in
either the CP using or IFA using metric.
IFA using and IFA delay are also included in the calculation of execution velocity. Even though
IFAs are not managed as a resource, reported goal achievement does reflect their impact.
The System Processor Priority Data and License Manager Data section required no update.
The Service Class Data section was updated to reflect the new IFA states:
IFAU IFA Using
IUCP IFA Using on CP
IFAD IFA Delays
The Processor Priority Data section was updated to add columns for:
IFA Using
IFA Using on CP
IFA Delay
eWLM will then use combined facilities of WLM and ARM to effectively manage enterprise
resources to increase efficiency, performance, and availability, and potentially lower the total
cost of ownership.
For more information on eWLM as the emerging multi-tied workload strategy, refer to The
Great Balancing Act, available on the IBM thinkresearch Web site at:
http://www.research.ibm.com/thinkresearch/pages/2002/20020529_ewlm.sh
tml
Hardware:
You must have a z990 with May 2004 licensed internal code (LIC).
OSA-Express 1000BASE-T Ethernet (FC 1366).
Software:
z/OS 1.3 or later releases require APAR OA05738 for OSA-3270.
z/VM® 4.4 or later releases.
Figure 9-1 on page 185 shows the new support level in HCD.
Start with the CHPID. Change the CHPID type from OSD to OSC by overtyping the OSD with
OSC on the channel path definition frame as shown in Figure 9-2 on page 186.
Select CHPID 07 from the channel path list and use PF11 to add a new control unit of type
OSC, as shown in Figure 9-3.
Press Enter to advance to the next panel and specify the CHPID number to be used, as
shown in Figure 9-4 on page 187.
Press Enter and define the starting unit address and range, as shown in Figure 9-5. We will
define 254, which is the maximum value allowed for the control unit specification.
Press Enter twice. You will be returned to the control unit list panel.
Use option S to select the attached devices, as shown in Figure 9-6 on page 188.
There are no existing devices. Press PF11 to add devices to this control unit, as shown in
Figure 9-7. We will define 120 devices, which is the maximum allowed for the CHPID. The
required device type must be 3270-X.
Press Enter. On the next panel (Figure 9-8 on page 189) fill in the starting unit address (UA)
as 00.
Press Enter. We now connect these devices to one of the Operating System (OS)
configurations using the S option, as shown in Figure 9-9.
Press Enter. On the Define Device Parameters panel, change OFFLINE to No and LOCANY
to No, as shown in Figure 9-10 on page 190.
Press Enter. We are taken to the Assign/Unassign Device to Esoteric panel. We make no
assignments to any esoterics for these devices, so just press Enter again. The Define Device
to Operating System Configuration panel is displayed, as shown in Figure 9-11.
We have now completed the CHPID, CU and I/O device definitions. Complete the HCD
process by creating a new production IODF and write a new IOCDS.
Note: At present a dynamic I/O activation for OSC is restricted, so a POR is required to
activate the configuration. Also remember to add the devices that you are going to use for
MCS consoles to NIPCON.
Then select the PCHID you wish to define and select OK, as shown in Figure 9-15 on
page 194. Notice that we used a different PCHID number from the ones defined in the HCD
process. You will obviously use the same PCHID numbers defined in your HCD definitions.
Figure 9-16 is then displayed. Select the Card specific advanced facilities option and click
OK.
Figure 9-17 on page 195 is then displayed. Select Panel configuration options and click
OK.
Figure 9-18 on page 196 is then displayed. Select Edit server configuration and click OK.
This option defines the values used to initialize the TCP/IP stack that is in the OSA-ICC.
Figure 9-19 on page 197 is then displayed. The values we inserted were as follows:
Server Name We are defining the values for CU E000, so we chose the name
OSAE000. You will see this name when a PCOM session is connected
to this server and the host is not ready for communication.
Host IP address Use an appropriate address for your installation.
TCP Port The value you specify here will be used later when defining a PCOM
session.
Default Gateway Use an appropriate address for your installation.
Subnet mask Use an appropriate address for your installation.
Frame type The DIX option worked for us.
MTU Size We used the default value of 1492.
When you press OK, you will see a pop-up confirming that The Command Completed.
We now select the Edit session configuration option from the Panel Configurations Options
menu previously shown in Figure 9-18 on page 196. This takes us to Figure 9-20 on
page 198. We are defining the downstream PCOM sessions that connect to this OSA-ICC
PCHID.
Notice that the first two sessions have already been defined.
To define another session, highlight the line and click Change. This takes you to the Edit
Session Configuration panel displayed in Figure 9-21 on page 199.
Scroll down the see the remainder of the panel, as shown in Figure 9-22 on page 200.
Select disable for the Response mode and select medium for the Read Timeout value.
Thereafter, click OK. Figure 9-23 on page 201 is displayed, showing the updated session
information.
Note: Make sure that you save the configuration by clicking Save.
We are now back at the Panel Configurations Options panel, as shown in Figure 9-24 on
page 202. Select the Validate panel values option. If all goes well you will get a pop-up
saying that the command completed successfully. If there are errors, use the Display
validate panel errors option to see the problems. Once they are fixed, validate again.
After a successful validation, cancel from the Panel Configuration Options and return to
Advanced facilities. You should have a display as in Figure 9-25 on page 203. It is now time to
activate the configuration.
Select Activate configuration and press OK. You should see a pop-up indicating that the
command completed successfully.
Note: There is no need to configure the PCHID offline and then online to pick up the new
configuration.
This completes the HMC configuration. Cancel all the way out of OSA customization.
We need to define an Ethernet-attached session to the host. Click Link Parameters. This will
take us to Figure 9-27 on page 205. Here we define the connection from the workstation to
the OSA-ICC server.
The values in Host Name or IP Address and Port Number were specified when defining the
OSA-ICC server configuration.
The value in LU or Pool Name was specified when defining the session configuration.
When complete, click OK on the Telnet3270 panel. This causes PCOM to initiate the
connection to the host.
If the host session is not ready for communication, the screen displayed will show connection
information for this session as displayed in Figure 9-28 on page 206. An explanation of each
line follows:
Line 1 OSAE000 is the defined server name; 9.12.6.18:1024 shows the defined server
address and port number.
Line 2 Session index; LCSS number; LPAR number; logical CU number (always 0); unit
address for this device; LU name.
Line 3 Information for the connected processor.
There are two types of records that can appear in the skeleton file:
Data records These are a continuous stream of intermixed text, variables, and
control characters that are processed to create an output record.
Control statements Control the file-tailoring process. Control statements start with a right
parenthesis in column 1. Records containing a “)” in column 1 and a
blank in column 2 are interpreted as data records. Records containing
a “)” in column 1 and a non-blank character in column 2 are interpreted
as control statements. A )DEFAULT control statement can be used to
assign different special characters for syntactical purposes.
Under z/OS V1R6, new control statements have been added for ISPF file tailoring. These are
now described.
The )DO statement must be terminated by an )ENDDO statement, which must appear in the
same skeleton (or imbed) member and at the same select level. Use of the )LEAVE and
)ITERATE statements is optional.
There are several variations of syntax supported for the )DO statement:
)DO do-expression
)DO do-expression WHILE while-expression
)DO do-expression UNTIL until-expression
)DO UNTIL until-expression
)DO WHILE while-expression
)DO FOREVER
)DO count
Figure 10-2 on page 210 shows some examples.
Example 2: This example shows that the )DO loop continues till the variable EOF is
nonzero.
)SET EOF = 0
)DO WHILE &EOF = 0
.....
)ENDDO
Example 3: This example shows that the )DO loop continues till the variable EOF is zero.
)SET EOF = 9
)DO UNTIL &EOF = 0
.....
)ENDDO
Example 4: This example shows that )DO loop continues till the variable EOF is zero. The
)LEAVE statement terminates the loop.
)SET EOF = 9
)DO FOREVER
.....
)IF &EOF = 0 THEN )LEAVE
....
)ENDDO
Example 5: This example shows that the )DO loop performs five times.
)DO 5
.....
)ENDDO
)ITERATE statement
The )ITERATE statement terminates the current iteration of the )DO structure and repeats the
loop, providing that any conditions that would cause the loop to terminate have not yet been
reached. A severe dialog error occurs if the )ITERATE statement is used outside a )DO
structure.
)LEAVE statement
The )LEAVE statement immediately terminates the innermost )DO statement. A severe dialog
error occurs if the )LEAVE statement is used outside a )DO structure.
)ELSE [control-statement]
Where:
relational-expression is evaluated for a true or false condition.
control-statement is any ISPF file tailoring control statement.
relational-expression This is evaluated for a true or false condition. If the condition is true,
then either the control-statement on the )IF control statement is
processed, or the next non-comment line is processed. A
subsequent )ELSE statement, if present, is skipped. If the condition
is false, the control-statement or next non-comment line is skipped,
and the subsequent )ELSE statement, if present, is processed.
control-statement This can be any ISPF file tailoring control statement. However, the
)CM (comment) control statement and the remainder of the input
record are ignored. Some control statements, namely )DO, )SEL,
and )DOT require more than one input record. Similarly, the )IM
control statement imbeds another ISPF skeleton member. The
processing of the )IF or )ELSE statement is not completed until the
control-statement specified on the )IF or )ELSE statement is also
completed.
The )NOP control statement does not generate any output, but can be used as a null
control-statement for either the )IF or )ELSE statements.
Example 2: This example shows that when the variable B is equal to or greater than 1, it
imbeds another member, whose name is in variable SKEL.
)IF &B >= 1 THEN )IM &SKEL
Where:
name-condition-pairs specifies a list of names and conditions for determining the search
argument conditions for scanning the table-name.
When the SCAN keyword is not provided, each row of the table is processed by the file
tailoring services between the )DOT and )ENDDOT keywords. This is the default behavior.
When the SCAN keyword is provided without the additional name-cond-pairs, a valid search
argument must have already been established for the ISPF table, table-name, using the
TBSARG service prior to invoking the file tailoring services. This requires the ISPF table to
have already been opened. A severe dialog error occurs if the search arguments have not yet
been established. The ISPF file tailoring will also recognize the NEXT/ PREVIOUS parameter
established on the TBSARG service.
When the name-cond-pairs are specified on the SCAN keyword, ISPF file tailoring services
uses the variable names and condition values to process the table. The dialog variables must
already be initialized to the required values for the TBSCAN service. This can be done from
the invoking dialog or using the file tailoring )SET control word. When the ISPF table is not
already opened, the file tailoring services open it prior to scanning the table. They also close
it when they have finished processing the table. The syntax of the name-cond-pairs is exactly
the same as for the TBSARG name-cond-pairs parameter.
Note: For details, refer to Chapter 10 of z/OS V1R6.0 ISPF Dialog Developer’s Guide and
Reference, SC34-4821.
The new *REXX panel procedure statement is used to invoke REXX code within a panel
procedure. The names of ISPF dialog variables that need to be passed to REXX can be
specified as parameters on the *REXX statement. The syntax of the *REXX statement is
shown in Figure 10-6.
*REXX[([*,]value,value,...[,(member)])]
....
[*ENDREXX]
Where:
* Specifies all ISPF variables defined in the )BODY section are passed to
REXX.
value Specifies the name of an ISPF dialog variable passed to REXX.
member Specifies the name of a member in the standard search sequence used
to load REXX programs.
The alternative to providing a member name is to code the REXX statements directly within
the panel procedure. When the REXX code is in line, it must be terminated by the *ENDREXX
statement.
The ISPF dialog variables that can be processed by panel REXX code are made available via
the parameters specified on the *REXX statement.
The ISPF module ISPPRXVP is used to make the ISPF dialog variables specified via the
*REXX statement available to panel REXX, and to update the dialog variables after they have
been processed by panel REXX. The parameter “I” or “T” is passed to the module ISPPRXVP.
When the parameter “I” is passed, ISPPRXVP sets up corresponding REXX variables for the
ISPF dialog variables.
When the parameter “T” is passed, ISPPRXVP updates the ISPF dialog variables with any
changes made by the panel REXX.
Compiled REXX
For compiled REXX, it is necessary for the programmer to include the calls to ISPPRXVP in
the REXX code.
When the panel REXX is an interpreted REXX (that is, the REXX statements are coded
directly in a panel procedure or the member specified on a *REXX statement contains
interpreted REXX), ISPF creates calls to ISPPRXVP to perform the following tasks:
Set up corresponding REXX variables for the ISPF dialog variables before the panel
REXX is invoked.
Update the ISPF dialog variables with any changes made by the panel REXX after it has
finished.
ISPF does this by generating the following REXX statements ahead of and after the supplied
panel REXX code, as shown in Figure 10-7 on page 215.
if rc!=0 then do
say 'ISPPRXVP Init failed rc=' rc
Return
End
Call P_01A2B3C0
if rc!=0 then
say 'ISPPRXVP Term failed rc=' rc
Return
P_01A2B3C0:
....
....
Return
The example shown in Figure 10-8 shows the use of panel REXX (inline REXX) to display the
current user ID, system name, and sysplex name.
)PANEL
)ATTR DEFAULT(%+_) FORMAT(MIX)
# TYPE(OUTPUT) INTENS(HIGH)
)BODY
+ %Who Am I?+ +
+
+User#USR +logged on system#SYSM +on SYSPLEX#SPLEX +
+
)INIT
*REXX(*,ZUSER)
usr = ZUSER
sysm = MVSVAR('SYSNAME')
splex = MVSVAR('SYSPLEX')
*ENDREXX
)PROC
)END
The example shown in Figure 10-9 is similar to the previous example but uses an external
REXX program to process the panel variables.
)PANEL
)ATTR DEFAULT(%+_) FORMAT(MIX)
# TYPE(OUTPUT) INTENS(HIGH)
)BODY
+ %Who Am I?+ +
+
+User#USR +logged on system#SYSM +on SYSPLEX#SPLEX +
+
)INIT
*REXX(*,ZUSER,(PWHO))
)PROC
)END
In this example, the REXX program is in the member PWHO found in either the SYSEXEC or
SYSPROC DD concatenations. The “interpreted REXX” version of PWHO is the same as the
inline REXX code in the example shown in Figure 10-8 on page 215.
The “compiled REXX” version of PWHO contains calls to ISPPRXVP to obtain the dialog
variable values from ISPF and to update the values of these variables back into the ISPF
variable pool. Figure 10-10 shows an example of interpreted REXX and compiled REXX. The
difference is the call made to module ISPPXVP in the compiled REXX program.
Note: For details, refer to z/OS V1R6.0 ISPF Dialog Developer’s Guide and Reference,
SC34-4821.
A new HIDE edit primary command and edit macro command has been provided to hide
these messages. This command removes the “excluded lines” message from the display
where lines have been excluded by the EXCLUDE command. Instead, the line number field of
the preceding line is underscored (where the terminal supports the underscore attribute) to
alert the user that part of the data is not being displayed.
Also, the RESET edit primary command and edit macro command has been enhanced with
the HIDE parameter to support redisplaying the excluded lines messages within the Edit
display. RESET without any parameters also acts to reset the HIDE function.
Figure 10-11 on page 218 shows an example where some lines are excluded from the display
by issuing the EXCLUDE command.
In this panel, the HIDE EXCLUDED (HIDE X) primary command is issued to remove the
excluded line messages from the Edit/View display, as shown in Figure 10-12 on page 219.
Indicates that
some excluded
lines are hidden
Figure 10-13 Edit panel showing hidden lines and the command RESET HIDE
A new COL primary command has been added to display the columns line at the top of each
Edit/View data screen. This line looks identical to that presented by the cols line command.
But the line command field, displayed using the COL primary command, is protected and this
line cannot be copied, moved or deleted by overtyping with line commands.
COLS [ON|OFF]
Where:
ON Causes the non-scrolling columns line to display.
OFF Removes the non-scrolling columns line from the display.
Non-scrolling
column line
Note: For details, refer to z/OS V1R6.0 ISPF User’s Guide Volume II, SC34-4823.
The TBQUERY service has been enhanced to allow an ISPF dialog to obtain:
The sort arguments passed on the last invocation of the TBSORT service
The name-list that was last presented to the TBSARG service
The list of name-cond pairs that was last presented to the TBSARG service
The current direction of the search (NEXT or PREVIOUS) established for TBSCAN
Here is an example of a CLIST that reports the number of open tables using the QTABOPEN
service:
ISPEXEC QTABOPEN LIST(myvar)
IF &LASTCC = 0 THEN DO
WRITE THE NUMBER OF TABLES OPEN ARE MYVAR0
Note: For details, refer to z/OS V1R6.0 ISPF Services Guide, SC34-4819.
Figure 10-16 on page 223 shows the new options added to the ISPF sitewide defaults panel.
You can control the empty member list options using the ISPF settings panel shown in
Figure 10-17.
Control empty
member list
Figure 10-17 ISPF settings panel showing empty member list options
A brief description of the empty member list options shown in Figure 10-16 and Figure 10-17
follows:
Allow empty member list
Enter a “/” to indicate that ISPF can display empty member lists when a
PDS or PDSE has no members.
Allow empty member list (nomatch)
Allows the user to customize whether the empty member list option applies
Note: For details, refer to z/OS V1R6.0 ISPF User’s Guide Volume II, SC34-4823 and
z/OS V1R6.0 ISPF Planning and Customizing, SC34-4814.
The following enhancements have been implemented to SCLM under z/OS V1R6.
Unlike the SCLM Library utility, which constrains the user to work with one Type at a time, the
Unit of Work utility provides access to all of the members associated with an ARCHDEF,
regardless of Type.
Figure 10-18 on page 225 shows the SCLM Unit of Work processing Entry Panel (ISPF
option 10.3.11) with the Options action bar exploded.
This panel provides options for processing the Unit of Work defined by an ARCHDEF. These
include options to bypass or process options for the Edit, Build, and Promote functions.
The Unit of Work Entry Panel contains Options action bar choices to do the following:
Set the default prefix for all Unit of Work output data sets
Specify a job card for batch jobs generated during Unit of Work processing
Create a customized list of commands that display on the UOW Member List panel
Create a customized list of commands that display on the UOW Member Contents panel
The panel displaying the list of elements for a project supports the following line commands:
U (UP command) to identify the parents of the selected element
D (DOWN command) to show the child elements
L (LMOD command) to identify the related executable components
Related elements
The related elements (if any) are then displayed 8 to a line. Each displayed element is a
point-and-shoot field allowing the user to position the cursor on the field, press Enter, and
obtain a display showing its parent or child elements.
The information describing element relationships is stored in ISPF tables. The SCLM Explorer
batch utility FLMEUXTR creates these ISPF tables from element relationship data extracted
from the SCLM project accounting files. A pull-down menu on the Explorer entry panel
provides an option to create the JCL to run the batch utility.
The new Option 6A on the SCLM main menu invokes the SCLM FLMCMD services menu,
which has options to display a panel supporting each of the FLMCMD services.
Figure 10-24 on page 229 shows the SCLM main menu panel showing the new Option 6A.
Figure 10-25 shows the SCLM FLMCMD Services Menu, when Option 6A is selected from
the SCLM main menu.
You can also enter the following command to display the panel supporting the service
srvname:
TSO FLMCMD srvname
Each service panel displays input fields for the service parameters. Once the input fields are
validated, the service is invoked through FLMCMD and the results are displayed back to you.
Figure 10-26 shows a panel displayed when the command TSO FMLCMD GETBLDMP is
issued. The same panel is displayed by selecting Option 10 in SCLM FLMCMD Services
Menu.
Note: For details, refer to z/OS ISPF Software Configuration and Library Manager (SCLM)
Reference, SC34-4818.
The TCP/IP protocol suite (also called stack), includes associated applications, transport and
network protocol layers, and connectivity and gateway functions. For more information on
z/OS Communications Server IP protocols, refer to z/OS Communications Server: IP
Configuration Guide, SC31-8775.
The SNA protocols are provided by VTAM® and include Subarea, Advanced Peer-to-Peer
Networking (APPN), and High Performance Routing protocols. z/OS Communications Server
provides the interface between application programs residing in a host processor, and
resources residing in an SNA network; it also links peer users in the network. For more
information on z/OS Communications Server SNA protocols, refer to z/OS Communications
Server: SNA Network Implementation Guide, SC31-8777-04.
Network Interfaces
zSeries
IPv4, IPv6 IPv4 IPv4, IPv6, IPv4, IPv6, SNA SNA
SNA SNA IBM 3745/46
CF NCP
Sysplex
IBM Communications Server for z/OS V1R4 introduced a new version of the standard Internet
Protocol stack, IPv6. IPv6 is the next generation of the Internet Protocol designed to replace
the current version, Internet Protocol Version 4 (IPv4). The most significant IPv4
characteristic is its 32-bit addressing space, which theoretically allows over 4 billion nodes. In
practice, the interaction between routing and addressing makes it impossible to utilize more
than a small portion of available nodes. Continued growth of the Internet could lead to the
exhaustion of IPv4 addresses early in the 21st century.
IPv6 uses a 128-bit address space. That, according to RFC 2374, provides practically
limitless global addressability. It also adds many improvements to IPv4 in areas such as
routing and network autoconfiguration. IPv6 is expected to gradually replace IPv4. During the
transitional period, the two Internet protocols will coexist for a number of years.
Not all IPv6 features are supported on z/OS V1R6. z/OS V1R6 CS continues the effort
started in z/OS V1R4 to provide IPv6 on z/OS and to also provide key non-IPv6 function.
IPv6 uses a 128-bit address space, which has no practical limit on global addressability and
provides 3.4 x 1050 unique addresses. This is enough so that every person could have a
single IPv6 network with many nodes, and still the address space would be almost completely
unused.
The greater availability of IPv6 addresses eliminates the need for private address spaces,
which in turn eliminates one of the needs for network address translators (NATs) to be used
between the private intranet and the public Internet.
Installation tasks
If you want to use the IPv6 support for sysplex enhancements, perform the following tasks:
Exploit the So_Clusterconntype option of getsockopt().
Enable source VIPA for IPv6 Dynamic XCF.
Define IPv6 Dynamic VIPAs.
Define backup stacks for the defined IPv6 Dynamic VIPAs.
Define a range of potential IPv6 Dynamic VIPAs on a stack within the sysplex.
Cause a defined IPv6 Dynamic VIPA to be distributed to other sysplexes.
Define an IPv6 TCP stack source VIPA for connections using IPv6 routes.
Modify the Policy Configuration file, the PolicyAction statement OutboundInterface, to
include IPv6 addresses.
Allow an IPv6 DVIPA to be activated on a backup TCP/IP before it has been activated on
the TCP/IP where it is defined with VIPADEFINE.
When using VIPARANGE, control which applications may bind() to create a DVIPA.
H o s t3 , s ta c k 3
C IC S
1 2 3 4 : :5 6 7 8
p o rt 5 5 5 5
H o s t1 , s ta c k 1 H o s t2 , s ta c k 2
T c p ip .P r o f ile T c p ip .P r o f ile
V IP A D e f in e v 1 1 2 3 4 : :5 6 7 8 V IP A B a c k u p v 1 1 2 3 4 : 5 6 7 8
V IP A D is t r ib u t e v 1 5 5 5 5 V IP A D is t r ib u t e v 1 5 5 5 5
C IC S C IC S
1 2 3 4 : :5 6 7 8 S y s p le x 1 2 3 4 : :5 6 7 8 p o r t
p o rt 5 5 5 5 D is tr ib u t 5555
or
in t e r f a c e 2 1
ip a d d r 2 2 3 4 : : 2
in t e r f a c e 1 1
in t e r f a c e 2 3
ip a d d r 1 2 3 4 : : 5
ip a d d r 2 2 4 4 : : 2
Note: All participating stacks of Dynamic VIPA takeover and sysplex distribution of ports for
load balancing must be at least at the V1R6 level.
IPCONFIG parameters
Use the IPCONFIG statement to update the IPv4 IP layer of TCP/IP. Use the IPCONFIG6
statement to update the IP layer of TCP/IP with information that pertains to IPv6.
SOURCEVIPA For the SOURCEVIPA option to work properly, the receiving nodes in
the network must be configured to recognize the SOURCEVIPA
addresses using the static or dynamic routing protocols. Otherwise,
timeouts for the connection or request responses will occur as a result
of the VIPA addresses being network-unreachable.
SOURCEVIPA enables interface fault tolerance for z/OS clients that
establish outbound connections. When SOURCEVIPA is set, outbound
datagrams use the corresponding virtual IP address (VIPA) in the
HOME list instead of the physical interfaces IP address. SOURCEVIPA
has no effect on RIP servers such as OROUTED, NCPROUTE, or
OMPROUTE.
TCPSTACKSOURCEVIPA
If TCPSTACKSOURCEVIPA is specified on the IPCONFIG statement,
it overrides SOURCEVIPA for outbound IPv4 TCP connections. If the
SRCIP profile statement block is defined to establish one or more
job-specific source IPv4 addresses, these IP addresses override
VIPADYNAMIC
VIPADEFINE MOVEABLE IMMED v1name 3838::1234
VIPABACKUP v2name 5555:1122:2244::1234
VIPADEFINE MOVEABLE IMMED 255:255: 255:0 9.24.112.3
VIPABACKUP 10.12.105.2
VIPADELETE v1name
VIPADELETE 10.12.105.2
VIPARANGE r1name 9922:3344:5566:1122/96
ENDVIPADYNAMIC
Note: The MOVEABLE IMMEDIATE parameter is not supported for IPv6. For IPv4,
MOVEABLE IMMEDIATE is preferred over MOVEABLE WHENIDLE. WHENIDLE will be
removed in a future release.
Distribution destinations must match the type specified for distribution; for example, IPv6
interfaces or IPv4 addresses cannot be mixed.
Stage 1
In stage 1, tunneling provides a way to utilize an existing IPv4 routing infrastructure to carry
IPv6 traffic. IPv6 nodes (or networks) that are separated by IPv4 infrastructure can build a
virtual link by configuring a tunnel. IPv6-over-IPv4 tunnels are modeled as single-hop. That is,
the IPv6 hop limit is decremented by 1 when an IPv6 packet traverses the tunnel. The
single-hop model serves to hide the existence of a tunnel. The tunnel is opaque to users of
the network, and is not detectable by network diagnostic tools such as traceroute.
z/OS Communications Server does not support being a tunnel endpoint. This means that the
z/OS Communications Server stack will have to have an IPv6 interface connected to an
IPv6-capable router. The router is relied upon to handle all tunneling issues.
Stage 2
There are two logical networks:
An IPv4 network, which is a separate IPv4 network. Assign a separate subnet to this IPv4
network.
An IPv6 network. which is a separate IPv6 network. Assign a separate prefix to this IPv6
network.
The two logical networks may share the same OSA-Express adapters and the same physical
network infrastructure, such as cabling, switches, etc.
Stage 1
Pervasive
Yesterday clients
IPv4
network
IPv6
IPv4 IPv6 IPv4
Internet
Internet Internet network
Wireless
clients
Pervasive
clients
Stage 2 Stage 3
Figure 11-4 Migrations from IPv4 to IPv6
MTU is no longer coded on the IPv6 OSPF interface; it is obtained from the TCPIP stack.
Maximum Transmission Unit (MTU) considerations are as follows:
TCP/IP uses the MTU to determine the largest size frame to send. The MTU in effect for a
given outbound send depends on several guidelines:
– Enable path MTU discovery in configurations where traffic originating in the z/OS
TCP/IP stack will traverse multiple hops with different MTU sizes.
– When using OSA-Express Gigabit Ethernet (which supports an interface MTU of
8992), be aware that not all routers and switches support a value this large. Either
ensure that all routers and switches in your configuration support 8992 or specify a
lower configured_route_MTU.
– When using OMPROUTE, specify the MTU keyword for each IPv4 interface.
– When using OMPROUTE, configure all nodes on a LAN to use the same MTU value.
Otherwise, you might encounter problems, such as OSPF adjacency errors.
Unlike OSPF for IPv4, IPv6 OSPF uses the IPv6 IPSEC protocol for authentication.
IPv6 addressing in the LDAP server can only be used on a network that supports IPv6. You
can continue to use IPv4 addressing in the LDAP server. IPv4 applications will not accept
IPv6 addresses. However, the enhanced LDAP server works with IPv4 and IPv6 clients.
This may be a Distributed DVIPA, with sysplex-wide ephemeral port support. Each job has its
own:
Same source IP address for outbound as applications listen for client requests.
In addition, job-specific source IP addressing allows a specific job or set of jobs to have a
unique source IP address for outbound-initiated connections, different from other jobs, and
independent of the order of addresses in the HOME list. If it is a VIPA source IP address
designation, it overrides TCPSTACKSOURCEVIPA and normal SOURCEVIPA processing.
This function would be useful when a job communicates with specific partners by ensuring
that a single address gets used as the source address, which can simplify the firewall
configuration. It may also be useful for a server application supported by Sysplex Distributor,
so the Distributed DVIPA can be used as the source IP address for connections initiated by
the server application instances.
Where:
JOBNAME Indicates to create a job-specific source IP address designation with a
designated IP address or interface name.
jobname The name of the job for which the designated interface should be used as
the source IP address when the job initiates outbound TCP connections.
The job name may end in an asterisk (*), and the job name of any job
executing later that begins with the same characters before the asterisk will
match this designation. If several different designations exist, then the
actual source IP address used will be determined by the most complete
match—either an exact match, or the most characters before the asterisk in
the job-specific source IP address designation. If the jobname “*” is
specified and is a VIPA source IP address, then this provides the same
function as the TCPSTACKSOURCEVIPA parameter on the IPCONFIG and
IPCONFIG6 statements.
ipv4_address A dotted-decimal notation for an IPv4 address. The IPv4 address is
specified as it is in the TCP profile for the static VIPA, Dynamic VIPA
(defined by VIPADEFINE DVIPA or previously activated via bind() or IOCTL
SIOCSVIPA within a VIPARANGE) or any real IPv4 IP address. The
specified IP address does not need to be defined prior to the processing of
the SRCIP statement, but it must be defined before the first TCP connect
SRCIP example
The following is an example of defining the SRCIP/ENDSRCIP statements.
SRCIP
JOBNAME USER15 9.43.242.5
JOBNAME USER* 9.43.242.4
JOBNAME USER15 2EC0::092B:F203
JOBNAME JOB* ETHER1
JOBNAME * 9.43.242.3
ENDSRCIP
Specifically, a new callable API to the z/OS CS FTP client supports a CALL instruction to the
module EZAFTPKS. CALL must pass parameters that include a place to put results of a
request, the type of request, and other supporting parameters. The CALL interface is
well-defined and is fully described in the following documents:
FTP Callable Application Programming Interface (API) in z/OS Communications Server:
IP Programmer’s Reference, SC31-8787
z/OS Communications Server: IP Configuration Guide, SC31-8775
z/OS Communications Server: IP User’s Guide and Commands, SC31-8780
The benefits of running TN3270 Server as a separate address space allows for prioritization
of the TCP/IP address space versus the TN3270 Server address space. This reduces the
chance for a TN3270 Server failure to cause a total TCP/IP address space failure. It also
allows for easier problem diagnosis for both TCP/IP and TN3270. It is now also easier to
control starting and stopping the TN3270 Server.
VTAM supports SCS, which can provide the same look for migrations. SCS is only supported
for TN3270e connections (not TN3270) since this data is sent on the SSCP-LU session. A
SCS table can be configured for TN3270e clients in the TN3270 Server profile.
The publications listed in this section are considered particularly suitable for a more detailed
discussion of the topics covered in this redbook.
IBM Redbooks
For information on ordering these publications, see “How to get IBM Redbooks” on page 251.
Note that some of the documents referenced here may be available in softcopy only.
z/OS Version 1 Release 2 Implementation, SG24-6235
z/OS Version 1 Release 3 and 4 Implementation, SG24-6581
z/OS Version 1 Release 5 Implementation, SG24-6326
Other publications
These publications are also relevant as further information sources:
z/OS MVS Planning: Operations, SA22-7601
ServerPac: Using The Installation Dialog, SA22-7815
z/OS and z/OS.e Planning for Installation, GA22-7504
z/OS MVS Programming: Workload Management Services, SA22-7619
z/OS MVS Initialization and Tuning Reference, SA22-7592
z/OS JES2 Commands, SA22-7526
z/OS JES2 Diagnosis, SA22-7531
z/OS JES2 Initialization & Tuning Guide, SA22-7532
z/OS JES2 Initialization & Tuning Reference, SA22-7533
z/OS JES2 Installation Exits, SA22-7534
z/OS JES2 Introduction, SA22-7535
z/OS JES2 Macros, SA22-7536
z/OS JES2 Messages, SA22-7537
z/OS JES2 Migration, GA22-7538
z/OS Planning for Multilevel Security, GA22-7509
z/OS MVS System Management Facilities (SMF), SA22-7630
z/OS SDSF Operation and Customization, SA22-7670
z/OS Resource Measurement Facility (RMF) Report Analysis, SC33-7991
z/OS Resource Measurement Facility User’s Guide, SC33-7990
z/OS Resource Measurement Facility (RMF) Programmer’s Guide, SC33-7994
z/OS MVS Assm Services Reference IAR-XCT, SA22-7607
z/OS UNIX System Services Planning, GA22-7800
z/OS Security Server RACF Security Administrator’s Guide, SA22-7683
Online resources
These Web sites and URLs are also relevant as further information sources:
The RMF Spreadsheet Reporter is available for download via the RMF homepage:
http://www-1.ibm.com/servers/eserver/zseries/zos/rmf/
A C
abend 422-1A5 124 C/C++ compilers 6
ACS (automatic class selection) 46, 97 C/C++ ISPF panels 4
ACS routine 97 cancel hung USS processes 130
ADSP (automatic data set protection) 97 CBRUXxxx exits 111
AMBLIST service aid 45 CCSID list 55
AMDSADDD 46 CEEDOPT 147
AnyNet 7 centralized BRLM 138
APAR CICS regions 43
OA04034 44 clear command 132
OA04069 53 COL command 221
OA05731 158 COL primary command 220
OA05738 184 command
OW53245 82 clear 132
OW56001 36 COL 221
Application Response Measurement (ARM) 181 ex 143
ar utility 149 ipcs 152
archive libraries 149 kill 131
ARM (Application Response Measurement) 181 lex 150
automatic class selection (ACS) 46, 97 limit 151
automatic data set protection (ADSP) 97 nm 149
automount facility 127, 129 oedit 132
automove 135, 137 pax 166
automove system list 126 ps 151
autoskip 142 SETGRS 42
autoupgrade 22 SETSMF 37
START GTF 46
superkill 130
B ulimit 151
base control program (BCP) 31 unlimit 151
BCP (base control program) 31 yacc 150
BIND DNS 4.9.3 6 Communications Server Security Level 3 3
binder enhancements 65 condition variables 122
BM SMP/E for z/OS V3R3 7 CPU Activity report 154
BMF (buffer manager facility) 84 CSI QUERY 169
BPX.UNLIMITED.OUTPUT 125 CUNUNIxx parmlib member 53
BPX1KIL / BPX4KIL 131 CustomPac dialog 17, 164
BPX1SMC callable service 123
Index 255
oedit command 132 RRS (Resource Recovery Services) 2, 35
OMPROUTE 5, 241 RSA message 40
OMVS couple data set 139 RTLS 4
Open Group 181 RTLS (run-time library support) 146
OROUTED 5 run-time library services 4
OSA-Express 1000BASE-T 184 run-time library support (RTLS) 146
OSA-Express console controller 184
OSC 184
OSC CHPIDs 191 S
OSD 185 S99FLAG1 field 133
S99GDGNT flag 133
SCAN keyword 212
P SCLM (Software Configuration and Library Manager)
Parallel Access Volume (PAV) 78 224
pasv 163 SCLM enhancements 224
PAV (Parallel Access Volume) 78 SCS (SNA Character Stream) 247
PAV capability 79, 82 SDSP (small data set packing) 105
pax command 166 SDSP data sets 106
PCHID 185 SECLABEL 99
PDSE restartable address space 82 SECLABEL class 97
PFS 133 secondary space management (SSM) 105
PGSZ 152 Secure FTP 129
physical file system 133 Secure Socket Layer (SSL) 129
PR/SM facility 59 SEGSZ 152
preserve extended attributes 141 SEGSZPG 152
Projection Tool workbook 65 ServerPac 13, 163
ps command 151 electronic delivery 3
PSF 3.4.0 50 order 25
RECEIVE job 12
ServerPac 1.6
Q coexistence 21
QDIO (OSD) 206 SETGRS command 42
QTABOPEN service 221–222 SETOMVS 127
quasi-parallel calls 177 SETSMF command 37
SHA-1 hashing 12
R Shared condition variables 122
RAS 123 ShopzSeries 3, 13
Receive an Order 23 sigkill signal 131
RECEIVE FROMNETWORK 162–163 SIGP requests 63
RECEIVE job 15 SLIP trap 49
RECEIVE SOURCEID 169 small data set packing (SDSP) 105
recoverable resource management services (RRMS) 34 SMF data sets 36
Redbooks Web site 251 SMF90 record 38
Contact us xii SMFPRMxx member 37
REJECT CHECK 169 SMFPRMxx parmlib member 37
RENAMEUnconditional keyword 102 SMP/E
REPLACEUnconditional keyword 102 CMWA=256K 169
REPRO 166 COPYMOD 169
RESERVE macro 40 GIMGTPKG program 12
Resource Recovery Services (RRS) 2, 35 GIMGTPKG utility 12
restart the SMSPDSE1 address space 89 RECEIVE FROMNETWORK function 163
RESTFS 22 SPCLCMOD 169
REXX support for panel procedures 213 V3R3 8
RMF IFA support 154 SMPCLNT 170
RMM API command classes 115 SMPE V3R3 161
RMM ISPF usability 117 SMPPTS data set 25
RMMplex 107 SMPSRVR 170
RRMS (recoverable resource management services) 34 SMS volume selection based upon PAV 78
RRMS callable services 34 SMSPDSE address space 82
RRS 2 SMSPDSE1 address space 83
SNA Character Stream (SCS) 247
T Z
z/OS dispatcher 59
TBSARG service 212
z/OS msys for Operations 3
TCP Sysplex Dynamic VIPA 234
z/OS Security Level 3 2–3
TCP/IP sysplex functions 233
zAAP 2, 57
TCPSTACKSOURCEVIPA 237
capacity planning 63
tcsh 151
Java execution 63
text search 5
Projection Tool 63
TIMEDAFFinity option 236
Projection Tool for Java 2 Technology Edition 63
Tivoli NetView 3
Projection Tool workbook 65
Tivoli Netview for OS/390 V1R4 7
zAAP (zSeries Application Assist Processor) 154
Tivoli NetView for OS/390 V5R1 7
zSeries Application Assist Processor 2, 57
TLS (Transport Layer Security) 162
zSeries Application Assist Processor (zAAP) 154
TN3270 206
TN3270E 206
TN3270E console 184
Token ring 206
Transport Layer Security (TLS) 162
U
uid 167
ulimit command 151
Unformatted System Service (USS) 247
Unicode 53
UNLDBOOK 22
UNLDSCPP 22
unlimit command 151
UNLODOC 22
UOW (Unit of Work Utility) 224
Index 257
258 z/OS Version 1 Release 6 Implementation
z/OS Version 1 Release 6
Implementation
z/OS Version 1 Release 6
Implementation
z/OS Version 1 Release 6 Implementation
(0.5” spine)
0.475”<->0.873”
250 <-> 459 pages
z/OS Version 1 Release 6 Implementation
z/OS Version 1 Release 6
Implementation
z/OS Version 1 Release 6
Implementation
Back cover ®
z/OS Version 1
Release 6
Implementation
z/OS, ServerPac, This IBM Redbook discusses the many enhancements to z/OS
Version 1 Release 6, and provides information to help you install,
INTERNATIONAL
WLM, RMF
tailor, and configure this release. TECHNICAL
SUPPORT
DFSMS, SMP/E, z/OS
It first offers a broad overview of z/OS Version 1 Release 6, and ORGANIZATION
UNIX
then goes into detail on how to install and tailor z/OS and the
many components that have been enhanced, such as: the z/OS
OSA, ISPF,
base control program (BCP), ServerPac, DFSMS, Workload
Communication Manager (WLM), RMF, SMP/E, z/OS UNIX, ISPF, and
Server BUILDING TECHNICAL
Communication Server. INFORMATION BASED ON
PRACTICAL EXPERIENCE
This redbook is intended for systems programmers and
administrators responsible for customizing, installing, and IBM Redbooks are developed
migrating to the newest levels of z/OS. by the IBM International
Technical Support
Organization. Experts from
IBM, Customers and Partners
from around the world create
timely technical information
based on realistic scenarios.
Specific recommendations
are provided to help you
implement IT solutions more
effectively in your
environment.