52
百硕客户通讯,总第 29 期(2012 9 1 日) 1 1

百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

1 1

Page 2: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

2 2

Page 3: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

3 3

“Big data”

on the IBM Mainframe

■ 文 / 百硕外籍技术专家 Martha Hall

One of the latest trends and hot topics at SHARE this summer was “big data” and how that fits

into the mainframe environment. A SHARE focus group has been formed and an IBM website

has been dedicated to this topic (http://www-01.ibm.com/software/data/bigdata/).

Storage has grown exponentially in all datacenters across the globe. By 2020, IDC estimates

there will be 35 zetabytes (10 to 21st

power) of data, a staggering increase from the current

estimated 1.2 ZBs. Dr. Gururaj Rao, an IBM Fellow from the Systems and Technology Group

said last year at SHARE that storage use had increased by 69% in the last decade.

It is important to understand the terminology being used to define “big data” and how analytic

software can be used to look at this data.

Big data is not easily handled by the typical data processing mechanisms that we use today. We

should look at what data characterizes big data. Big data is typically defined by the “Three V‟s”.

The first V is high Volume. The volume and the arrival rate of the data can be billions of data

events per hour. It is possible that an IT enterprise can amass terabytes and even petabytes of

information. The second V is Variety. Whereas the data we are accustomed to is structured, “big

data” can be in many varieties; for example audio, video, log files, click streams and text. The

third V is Velocity and this indicates that “big data” must be used as it is streaming into the

enterprise in order to maximize its value to the business.

How does “big data” and the analytic software fit into a traditional mainframe environment? The

mainframe‟s bulk-processing capacity at high rates of speed presents a real solution for big data.

It has a central role in helping enterprises keep track of all their data.

If you have very large databases and you have to do a lot of heavy I/O, the mainframe is the

platform of choice. The mainframe offers security and resiliency and high availability that the

x86 architectures and midrange architectures do not.

Research analysts Brad Day of Enterprise Computing Advisors and Joe Clabby of Clabby

Analytics say that 40% of the current System z customer base is either piloting or has actually

deployed new workloads on their System z‟s. The mainframe is becoming a large consolidation

environment for all types of workloads including the traditional batch/transactional workloads as

well as modern Java/Linux and business analytics workloads.

Mainframe customers say that there are two major reasons why they are deploying new

workloads on IBM‟s System z. The first reason is superior economics. System z costs less to

operate and can cost less than underutilized Unix and x86 based servers. The second reason is

system design strengths that manifest themselves in high QOS (quality-of-service) levels and

lower risk.

Page 4: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

4 4

The introduction of the new Hybrid z196 in July of 2010 enabled the mainframe to be deployed

in many new ways. Improvements in hardware and software design, the growth of the ISV

community, as well as IBM‟s efforts to deploy its own integrated software stacks on System z are

all factors in the improvements. If you add the fact that IBM has lowered System z pricing all

these factors have contributed to a change in perception about the mainframe. IBM has also

developed the zEnterprise BladeCenter Extension (zBX), which extends System z mainframe

management capabilities across the vendor‟s server platform and connects with the large-scale

DB2 database for business analytics.

From a systems design perspective, it is important to note that an IBM System z can be deployed

as a hybrid computing environment that is capable of integrating workloads that span z/OS,

Linux on System z, z/VM, AIX on POWER, Linux on System x (IBM‟s x86 server line) as well

as Microsoft Windows operating environments in a single unified system. What is particularly

impressive about this environment is that a mainframe and attached blades within the zEnterprise

Blade Center Extension (zBX) can all be managed from a single point of control using IBM

Unified Resource Manager.

To demonstrate that big data could be managed on System z, IBM decided to create a large

centralized business intelligence solution for its distributed workforce. Its goal was to create an

environment that would provide access to data for thousands of people in order to capitalize on a

broader set of insights. To build this environment, IBM chose to deploy its database on an IBM

System z using the IBM Cognos 8 BI (Business Intelligence) software. The actual system design

is a private cloud which the company calls “Blue Insight”. IBM says that it has reduced the cost

of deploying business intelligence/business analytics solutions by 70% using this approach.

IBM's big data platform is based on open source Apache Hadoop. The platform makes it easier

for data-intensive applications to manage and analyze petabytes of big data by providing clients

with an integrated approach to analytics, helping them turn information into insights for

improved business outcomes. The platform provides clients with the industry's broadest array of

advanced business analytics, Hadoop-based analytics, stream computing, data warehousing,

integration, visualization, systems management, governance, and consulting services.

IBM has the deepest Hadoop platform and application portfolio. IBM is already an established

EDW (Enterprise Data Warehouse) vendor. It has its own Hadoop distribution as well as an

extensive professional services force working on Hadoop projects. There are extensive R&D

programs developing Hadoop technologies and connections to Hadoop from its EDW products.

There are a considerable number of Hadoop solutions and services customers already existing.

To facilitate users, IBM has created packaged offerings of integrated business analytics and

database software, with underlying System z hardware. These include IBM's Smart Analytics

System 9700 and IBM DB2 Analytics Accelerator for z/OS V2.1. IBM's Smart Analytics System

is a ready-to-use, deeply integrated and optimized business analytics environment. This

environment has been designed to support data mining, text analytics, intuitive business

intelligence reporting, and other analytic functions. It has high-performance data warehouse

management functions that have been well integrated with accompanying storage hardware.

Because it uses an IBM System z, this environment is highly reliable.

DB2 Analytics Accelerator for z/OS, V2.1, together with related, prerequisite hardware, is a high

performance, software offering that is part of an integrated hardware/software solution designed

to work with IBM System z to deliver dramatically faster analytic query responses transparently

Page 5: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

5 5

to users. It integrates into DB2 9 for z/OS or DB2 10 for z/OS data warehouse environments,

forming, along with the prerequisite hardware, a high-performance analytic query appliance that

is powered by Netezza technology.

IBM has invested heavily in big data analytics, spending more than $14 billion on more than two-

dozen analytics-related acquisitions over the past five years. It expects to increase revenue from

$10 billion in 2010 to $16 billion in 2015.

IBM has many products that enable big data analytics: IBM InfoSphere BigInsights, Infosphere

Streams and Netezza. In 2010, IBM acquired Netezza, which offers a data warehouse appliance

that became the basis for current analytic database platforms. InfoSphere BigInsights sits on top

of Hadoop to provide text-based analytics, a spreadsheet-based data discovery and exploration

tool, and administration tools. InfoSphere is a platform for real-time analytic processing of

structured and unstructured data.

I think that IBM is fully committed to “big data” and the mechanisms needed to analyze the data.

It has positioned itself particularly well in the market and appears committed to continuing

development in the “big data” area. This is a very exciting time to be involved in the mainframe

arena. Many workloads can now be consolidated on to the mainframe with Linux on System z

and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2

Analytics Accelerator for z/OS V2.1, the System z family incorporates many levels of computing

power working together.

References:

Choosing IBM zEnterprise for Next Gen Business Analytics Applications, Advisory,

Clabby Analytics

Search? Analytics? Big Data? Which to Use? So Many Choices! Share Presentation by

Thyra Rauch, IBM, Wednesday, March 14, 2012 Session Number: 10674

Why Big Data, Why Now, Ellis Holman, IBM

The Big Deal about “Big data” Focus Group, Share Presentation by Thyra Rauch, IBM,

Wednesday, March 14, 2012 Session Number: 11136

Big Data, Analytics, and the Mainframe, Share Presentation by Paul Pendle, EMC

Corporation, March 15th 2012 Session Number:3278

The Big Deal About Big Data SHARE helps put it all in perspective December 12, 2011

by Pedro Pereira

IBM Doubles Down on Big Data Analytics March 21, 2012 By Renee Boucher Ferguson

Waking Up IBM, How a Gang of Unlikely Rebels Transformed Big Blue, by Gary Hamel,

Harvard Business Review, August 2000

Understanding Big Data, Analytics for Enterprise Class Hadoop and Streaming Data,

Multiple IBM Authors, McGraw Hill, 2012

IBM DB2 Analytics Accelerator for z/OS 2.1, IBM United States Software

Announcement 211-452, October 12, 2011

The Forester Wave; Enterprise Hadoop Solutions; Q1 2012 James G. Kobelius

Page 6: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

6 6

高性能排序工具

—Syncsort MFX

■ 文 / 百硕技术顾问 王晓兵

百硕工程师 董淳光

一、 Syncsort MFX 简介

Syncsort MFX 软件是 SYNCSORT 公司开发的主机大数据量 Sort、Merge 和 Copy 处理的软件,具

有 CPU 资源使用少、作业执行时间短的优势。

过去 40 年 Syncsort MFX 一直在高性能 Sort 技术领域处于领先地位,通过利用 z/OS 操作系统、

zSeries 主机的 Advanced Facilities,实现高性能大数据量处理的功能,能够支持 OS/390 系统和 S390 兼

容主机。在全球有 55 个国家使用 SyncSort MFX,该软件在主机第三方软件装机量方面位居首位,财

富 100 强中有 95%以上的用户使用 Syncsort。

IBM、BMC 等厂商均为 SYNCSORT 的 OEM 客户:

在 BMC DB2 Utility 中内嵌 SyncsorT MFX 的算法和运行技术,这种 OEM 的合作模式从 2000

年开始一致持续到现在;

IBM 2011 年发布的新产品 DB2 Sort,具有高性能高执行效率的特点,该软件是和

SYNCSORT 合作开发的,内部同样使用了 MFX 的算法和技术。

对比 IBM DFSORT 软件,Syncsort MFX 的特点是:

高性能输出、低资源使用: CPU 使用节省 30-40%

缩短处理时间、减少处理窗口:处理时间减少 20-40%

使用灵活

下面是国内某用户对 Syncsort MFX 软件的实际测试案例。

二、 测试概述

1. 测试背景

客户生产环境批量各模块时间窗口随着数据量的增加而不断增长,批量时间窗口已经超过业务要

求的时间点 50 分钟以上。

在批量的关键路径上,有一批调用 DFSORT 进行文件 Sort、Merge、Copy 处理的作业执行时间较

长,需要通过缩短这些作业的执行时间来减小批量时间窗口,但 DFSORT 已无优化空间,需要采用新

的技术和方法来提高大数据量 Sort、Merge、Copy处理的性能。

由于 Syncsort MFX 可对应用透明替换 DFSORT,并能有效提升 SORT 性能,故需验证该软件的适

用性。

2. 测试目的

本次测试需要验证 Syncsort MFX 软件的数据处理正确性和相对于 DFSORT 的性能提升:

Page 7: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

7 7

正确性验证测试:测试 Syncsort MFX 作业与 DFSORT 作业输出文件的一致性

性能对比测试:测试 Syncsort MFX 作业对比 DFSORT 作业的性能提升比率

3. 测试范围

批量各个模块选取了 11 个典型的批量 SORT 相关作业,特点如下:

作业名 测试点

JOB001** ICETOOL 的 SPLICE、COPY、SORT处理,正确性测试,正确性测试和性能

对比测试

JOB002** ICEMAN 的 SORT处理,正确性测试

JOB003** SORT的 MERGE正确性测试

JOB004** ICEMAN 的 SORT正确性测试和性能对比测试

JOB005** ICEMAN 的 COPY处理,正确性测试

JOB006** SORT的 MERGE处理,正确性测试

JOB007** 基本 SORT 功能的正确性测试和在大数据量下的性能对比测试,有 3个

SORT 处理作业步

JOB008** SORT工具 SUM 功能点测试。

JOB009** SORT工具 WHEN BUILD 处理,正确性测试。

JOB00A** SORT工具 VTOF 处理,正确性测试。

JOB00B** ICETOOL 工具的 SELECT,SPLICE处理,正确性测试

测试作业说明:

对其它 11 个作业进行了正确性测试

对其中 3 个在关键路径上执行时间较长的作业进行不同数据量级的性能测试

4. 测试数据来源

(1)正确性测试

对数据量不做要求,直接使用当日的测试环境数据。

(2)性能测试

测试环境数据量比较小,没有参考价值,故将测试环境多个并行作业的输入文件合并在一起制

造较大的数据量,能够模拟生产环境的数据量;

通过合并输入文件的方式增加数据量,建立 5 个不同数据量的测试场景。

Page 8: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

8 8

5. 测试场景介绍

正确性验证测试

对 11 个作业分别使用 DFSORT 和 SYNCSORT 工具单独运行;

使用 IEBCOMPR 工具进行比较,验证输出文件内容是否完全一致。

性能对比测试

选取批量关键路径上的三个执行时间较长的作业 JOB001xx、JOB004xx 和 JOB007xx,使用

DFSORT 和 SYNCSORT 工具分别运行,然后进行性能比较;

通过合并作业输入文件的方式改变数据量,在不同数据量下进行了五个场景的性能测试。

三、 正确性验证测试

1. 第一轮正确性测试

第一轮正确性测试结果如下图所示:

序号 作业名 比较结果文件作业 返回码

1 JOB00101 CM00101 0

2 JOB00202 CM00102 0

3 JOB00303 CM00103 0

4 JOB00404 CM00104 0

5 JOB00505 CM00105 0

6 JOB00606 CM00106 0

7 JOB00707 CM00107 0

8 JOB00808 CM00108 0

9 JOB00909 CM00109 0

10 JOB00A0A CM0010A 0

11 JOB00B0B CM0010B 0

12 个测试作业的输出完全一致。需要说明的是这两种工具设置了不同的 OPTION 参数-

EQUALS,EQUALS 参数的作用是控制输出文件非键值字段的记录顺序参数,在测试时需要保

持这个参数设置一致。

2. 正确性测试小结

在参数设置一致的情况下,SYNCSORT 和 DFSORT 的输出文件内容完全一致。

Page 9: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

9 9

四、 性能对比测试

1. 三个典型作业执行时间的对比

JOB00404 作业使用 SYNCSORT 后执行时间比原作业缩短幅度在 15-46%之间,测试结果如下图所

示:

JOB00707 作业使用 SYNCSORT 后执行时间比原作业缩短幅度在 11-48%之间,测试结果如下图所

示:

JOB00101 作业使用 SYNCSORT 后执行时间比原作业缩短幅度在-8-9%之间,测试结果如下图所

示:

Page 10: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

10 10

2. 作业 JOB004 的 SORT 相关作业步执行时间、I/O 次数和 CPU 时间

JOB004 作业 SORTINVE 使用 SYNCSORT 后 I/O 次数与原作业相比减少 92-98%,测试结果如下图

所示:

JOB004 作业 Sort 步骤使用 SYNCSORT 后 CPU 时间原作业相比降低 22-55%,测试结果如下图所

示:

Page 11: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

11 11

JOB004 作业 Sort 步使用 SYNCSORT 后 Step 执行时间与原作业相比降低 29-59%,测试结果如下

图所示:

3. 作业 JOB001 的 Sort 相关作业步执行时间、I/O 次数和 CPU 时间

JOB001 作业 SPLICE 使用 SYNCSORT 后 I/O 次数与原作业相比增加 312-688%,测试结果如下图

所示:

Page 12: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

12 12

JOB001 作业 SPLICE 使用 SYNCSORT 后 CPU 时间与原作业相比降低 21-26%,测试结果如下图所

示:

JOB001 作业 SPLICE 使用 SYNCSORT 后 STEP 执行时间与原作业相比降低-9-9%,测试结果如下

图所示:

Page 13: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

13 13

4. 作业 JOB007SORT 步骤 1 的执行时间、I/O 次数和 CPU 时间

JOB007 作业 SORTUNLD 使用 SYNCSORT 后 I/O 次数与原作业相比减少 86-98%,测试结果如下

图所示:

JOB007 作业 SORTUNLD 使用 SYNCSORT 后 CPU 时间原作业相比降低 36-55%,测试结果如下图

所示:

JOB007 作业 SORTUNLD 使用 SYNCSORT 后 Step 执行时间与原作业相比降低 10-66%,测试结果

如下图所示:

Page 14: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

14 14

5. 作业 JOB007 SORT 步骤 2 的执行时间、I/O 次数和 CPU 时间

JOB007 作业 ICEMAN 使用 SYNCSORT 后 I/O 次数与原作业相比减少-51-43%,测试结果如下图

所示:

JOB007 作业 ICEMAN 使用 SYNCSORT 后 CPU 时间原作业相比降低 30-43%,测试结果如下图所

示:

Page 15: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

15 15

JOB007 作业 ICEMAN 使用 SYNCSORT 后 STEP 执行时间与原作业相比降低 9-28%,测试结果如

下图所示:

6. 作业 JOB007 SORT 步骤 3的执行时间、I/O次数和 CPU 时间

JOB007作业 ICEMAN使用 SYNCSORT后 I/O次数与原作业相比减少 52-94%,测试结果如下图所示:

Page 16: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

16 16

JOB007 作业 ICEMAN 使用 SYNCSORT 后 CPU 时间原作业相比降低 42-57%,测试结果如下图所

示:

JOB007 作业 ICEMAN使用 SYNCSORT 后 STEP执行时间与原作业相比降低 7-39%,测试结果如下图所

示:

7. 性能对比测试小结

选取的 3 个关键路径作业,在 5 个场景不同数据量下,使用 DFSORT 和 SYNCSORT 的性能对比

测试结果如下:

不同数据量的 5 个测试场景时间缩短比率 执行时间最接近生产环境的场景

执行时间 执行合计 CPU时间 CPU合计 执行时间缩短比率 CPU时间减少比率

JOB00404 17-46% 25% 22-49% 43% 27% 40%

JOB00101 -8-9% 3% 21-26% 24% 9% 26%

JOB00707 11-48% 41% 21-57% 47% 48% 45%

合计 30% 40% 37% 36%

Page 17: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

17 17

性能对比测试的结果说明:

大多数情况下,数据量越大,Syncsort MFX 对比 DFSORT 的性能提升越显著;

使用 Syncsort MFX 软件,I/O EXCP 数量减少比率约为 50%,内存方面没有明显变化。

五、 测试结果总结

基于上述在测试环境对 Syncsort MFX 软件的测试,可以得出以下结论:

1. 使用 Syncsort MFX,可以透明替换 DFSORT 软件,无需修改批量作业的控制语句和参数,同时作

业输出与 DFSORT 的结果是一致的。

2. 使用 Syncsort MFX,可以比较有效提高批量作业中大数据量 SORT 处理的性能:

缩短执行时间的比率为 30%左右

节省 CPU 时间的比率为 40%左右

上述测试结果与厂商提供的数据(执行时间减少 20-40%,CPU 时间减少 30-50%)基本一致,I/O

EXCP 数量大约减少 50%,内存使用没有明显变化,数据量越大,Syncsort MFX 对比 DFSORT 的性能

提升比率越明显。

3. 仅基于已测三个典型作业的性能提升比率,对目前生产环境批量窗口的影响进行推估,预计可以将

批量时间窗口缩短到业务要求的时间之前 30 分钟以上,留有一定数据量增长的余地。如果整个批

量的 DFSORT 作业均使用 SYNCSORT,该时间点会进一步提前。

4. 在目前 DFSORT 已没有进一步优化空间的情况下,建议考虑引入 SYNCSORT 产品来缩短批量关键

路径的时间窗口,防止批量窗口由于数据量的增长而进一步增长。

Page 18: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

18 18

使用 SMF 记录

向前恢复 RMM CDS

■ 文 / 百硕高级工程师 张凤华

在 DFSMSrmm 子系统中,CDS 和 JOURNAL 是两个最重要的数据集。CDS 是 DFSMSrmm 工作的

数据库和基础,包括所有备份数据集和磁带的信息,是一个标准的 KSDS 的 VSAM 文件;JOURNAL

是 DFSMSrmm 的日志文件,是一个用来记录 CDS 修改情况的顺序文件。一旦其中一个文件被损坏,

都会影响 DFSMSrmm 子系统的可用性,所以在日常维护工作中,考虑如何快速恢复这两个重要文件是

非常有必要的。

我们在 DFSMSrmm 日常运维中,当遇到 RMM CDS 文件遭到破坏时,常见方式是使用 RMM CDS

最新一代备份文件加上 JOURNAL 文件进行向前恢复。如果 RMM CDS 和 JOURNAL 文件同时被损坏

时,JOURNAL 中的记录将全部丢失,RMM CDS 只能恢复到之前最新一代的 CDS 备份状态,再通过

手工方式或者重新备份追加 JOURNAL 中丢失的记录到 CDS 中,这样需要消耗很大的工作量,结果也

并不一定理想。

z/OS V1.10 引入了一个新的方式恢复 RMM CDS,即使用 SMF记录实现 RMM CDS 的向前恢复。

下文将提供一个实例为大家介绍如何使用 SMF记录向前恢复 RMM CDS,希望对读者有所帮助。

一、打开 SMF 记录

使用 SMF 记录恢复 RMM CDS,首先需要打开 DFSMSrmm 对应的 SMF 记录(TYPE 42,

SUBTYPE 22、23)。即修改 SMFPRMxx 系统 PARMLIB member,确保正常生成这些 SMF记录。

二、DFSMSrmm 使用 SMF 记录

DFSMSrmm 启动参数需要对应使用以上 SMF记录。

即修改 EDGRMMxx 系统 PARMLIB Member 如下:

OPTION

„„

SMFAUD(YES)

SMFSEC(YES)

„„

三、备份 RMM CDS 和 JOURNAL

提交日常 RMM CDS 和 JOURNAL 备份作业:

//BKCDS JOB (BAYSS),'SMITH',

// TIME=1440,

// NOTIFY=&SYSUID,

// REGION=0M,

// CLASS=3,

Page 19: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

19 19

// MSGCLASS=X,MSGLEVEL=(1,1)

//EDGBKP EXEC PGM=EDGBKUP,PARM='BACKUP'

//SYSPRINT DD SYSOUT=*

//MASTER DD DSN=RMM.PROD.CDS,DISP=SHR

//JOURNAL DD DSN=RMM.PROD.JOURNAL,DISP=SHR

//BACKUP DD DISP=(,CATLG),UNIT=3390,

// DSN=RMM.BACKUP.CDS.D120719,

// SPACE=(CYL,(1000,500),RLSE),RECFM=VB,LRECL=9216,

// BLKSIZE=0

//JRNLBKUP DD DISP=(,CATLG),UNIT=3390,

// DSN=RMM.BACKUP.JRN.D120719,

// SPACE=(CYL,(300,100),RLSE),RECFM=VB,LRECL=9248,

// BLKSIZE=0,BUFNO=30

这里用 EDGBKUP Utility 进行 RMM CDS 和 JOURNAL 备份,日常 EDGHSKP Utility 同样适用。

四、修改 RMM CDS 记录

任选一个备份数据集,将其占用的 VTV CHAIN 中所有 VTV 的 EXPDT 由 2013/218 修改为

2012/218,共修改了 30 盘。

Volume Assigned Expiration S Dest- Tr- Data

S serial Owner date date R Status Location inationans sets

-- ------ -------- ---------- ---------- - ------- -------- -------- --- -----

I59467 SMF 2010/214 2012/218 MASTER SHELF N 1

I59468 SMF 2010/214 2012/218 MASTER SHELF N 1

I59469 SMF 2010/214 2012/218 MASTER SHELF N 1

I59470 SMF 2010/214 2012/218 MASTER SHELF N 1

I59471 SMF 2010/214 2012/218 MASTER SHELF N 1

I59472 SMF 2010/214 2012/218 MASTER SHELF N 1

I59473 SMF 2010/214 2012/218 MASTER SHELF N 1

I59474 SMF 2010/214 2012/218 MASTER SHELF N 1

I59475 SMF 2010/214 2012/218 MASTER SHELF N 1

I59476 SMF 2010/214 2012/218 MASTER SHELF N 1

I59477 SMF 2010/214 2012/218 MASTER SHELF N 1

I61653 SMF 2010/214 2012/218 MASTER SHELF N 1

I61656 SMF 2010/214 2012/218 MASTER SHELF N 1

I64860 SMF 2010/214 2012/218 MASTER SHELF N 1

I71446 SMF 2010/214 2012/218 MASTER SHELF N 1

I79502 SMF 2010/214 2012/218 MASTER SHELF N 1

I80882 SMF 2010/214 2012/218 MASTER SHELF N 1

I80884 SMF 2010/214 2012/218 MASTER SHELF N 1

I80885 SMF 2010/214 2012/218 MASTER SHELF N 1

I80886 SMF 2010/214 2012/218 MASTER SHELF N 1

I80887 SMF 2010/214 2012/218 MASTER SHELF N 1

I80888 SMF 2010/214 2012/218 MASTER SHELF N 1

I80915 SMF 2010/214 2012/218 MASTER SHELF N 1

I80916 SMF 2010/214 2012/218 MASTER SHELF N 1

I80917 SMF 2010/214 2012/218 MASTER SHELF N 1

I80918 SMF 2010/214 2012/218 MASTER SHELF N 1

I80919 SMF 2010/214 2012/218 MASTER SHELF N 1

Page 20: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

20 20

I80920 SMF 2010/214 2012/218 MASTER SHELF N 1

I80921 SMF 2010/214 2012/218 MASTER SHELF N 1

I80922 SMF 2010/214 2012/218 MASTER SHELF N 1

四、模拟损坏 RMM CDS

手工删除 RMM CDS,模拟 CDS 被损坏后,定义一个新 RMM CDS。

五、收集 SMF 记录

执行 DUMPXY,收集 SMF记录,确认包含 TYPE 42。

SUMMARY ACTIVITY REPORT

START DATE-TIME 06/07/2012-16:40:42 END DATE-TIME 07/19/2012-15:37:17

RECORD RECORDS PERCENT AVG. RECORD MIN. RECORD MAX. RECORD RECORDS

TYPE READ OF TOTAL LENGTH LENGTHLENGTH WRITTEN

0 13 .01 % 64.00 64 64 13

2 0 1

3 0 1

4 244 .28 % 215.00 215 215 244

5 224 .25 % 146.10 145 168 224

8 13 .01 % 280.00 280 280 13

14 4,501 5.10 % 375.18 344 896 4,501

15 1,120 1.27 % 362.62 344 372 1,120

17 74 .08 % 100.00 100 100 74

18 2 .00 % 144.00 144 144 2

19 518 .59 % 132.00 132 132 518

20 1,119 1.27 % 91.35 91 114 1,119

22 13 .01 % 302.00 302 302 13

23 56 .06 % 258.00 258 258 56

26 394 .45 % 442.85 442 465 394

30 1,901 2.16 % 878.77 400 13,181 1,901

32 18 .02 % 291.33 272 320 18

34 19 .02 % 215.00 215 215 19

35 18 .02 % 151.00 151 151 18

40 5,453 6.18 % 171.50 74 2,450 5,453

41 261 .30 % 383.46 146 412 261

42 7,117 8.07 % 377.87 176 7,388 7,117

43 13 .01 % 32.00 32 32 13

六、向前恢复

Page 21: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

21 21

提交 FORWARD RECOVERY 作业,向前恢复 RMM CDS:

//RESCDS JOB (ABC-BAYSS),'SMITH',

// TIME=1440,

// NOTIFY=&SYSUID,

// REGION=0M,

// CLASS=A,

// MSGCLASS=X,MSGLEVEL=(1,1)

//EDGBKUP EXEC PGM=EDGBKUP,PARM='RESTORE'

//SYSPRINT DD SYSOUT=*

//MASTER DD DISP=SHR,DSN=RMM.PROD.CDS

//*

//BACKUP DD DISP=SHR,DSN=RMM.BACKUP.CDS.D120719

//*

//SMFIN DD DISP=SHR,DSN=SMF#BY01.G0004V00

MASTER DD 指定 RMM CDS

BACKUP DD 指定之前的 RMM CDS 备份数据集

SMFIN DD 指定 SMF 记录,SMFIN 和 JOURNAL 不能同时指定,用于 CDS FORWARD

RECOVERY,只能两者选其一进行向前恢复。

IDCAMS SYSTEM SERVICES TIME: 16:48:00

REPRO INFILE(BACKUP) OUTFILE(MASTER) REP RUS

IDC0005I NUMBER OF RECORDS PROCESSED WAS 2245843

IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0

IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 0

EDG6404I CONTROL DATA SET RESTORE SUCCESSFUL

EDG6410I NUMBER OF RECORDS ADDED TO CONTROL DATA SET = 0

EDG6411I NUMBER OF RECORDS UPDATED IN CONTROL DATA SET = 30

EDG6412I NUMBER OF RECORDS DELETED FROM CONTROL DATA SET = 0

EDG6431I THE CONTROL DATA SET TIMESTAMPED 2012/201 11:37:51.0 WAS FORWARD RECOVE

EDG6431I CONT:- 2012/201 14:11:31.5 AND 2012/201 14:12:22.3

EDG6901I UTILITY EDGBKUP COMPLETED WITH RETURN CODE 4

上述恢复作业结果显示 30 个记录被更新,即正常从 SMF记录中实现 RMM CDS 向前恢复。

七、查询 RMM CDS

查询确认之前修改的 30 盘 VTV 的 EXPDT 确实为修改后的日期 2012/218。

以上是使用 SMF记录向前恢复 RMM CDS 的方法,希望能丰富大家的日常运维思路,同时期待与

大家共同深入探讨 DFSMSrmm 的使用方法和经验。( [email protected]

Page 22: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

22 22

PARMLIB Using In

z/OS 1.12

■ 文/ 百硕外籍技术专家 Martha Hall

Summary of Recommendations for z/OS 1.12 PARMLIB

z/OS 1.12 was an important software release for IBM and many new and important changes were

incorporated into the Operating System. Those listed below are the most critical in my opinion. Some of

these changes would help to maximize performance. Others implement new functions in the Operating

System. Some changes are for z/OS Reliability. I have broken down these recommendations into these

three categories.

I. Maximize Performance

ALLOCxx

I would enable MEMDSENQMGMT (ENABLE) to provide significant performance enhancements to

DB2. For DB2 V8 or V9 there is an APAR that needs to be installed to allow DB2 to use memory based

enqueues. The APAR is PM17542. The APAR description provides a good summarization of this feature.

DB2 exploits z/OS 1.12 new allocation functions to improve the performance of allocation, deallocation, open, and close of the data sets in DB2 page sets. It will improve the performance when opening a large number of datasets concurrently, especially for DB2 users with high DSMAX. Significant reduction by in elapsed time has been observed by DB2 and z/OS performance test. DB2 shutdown time may also be improved.

DIAGxx

I would enable parameter USEZOSV1R9RULES (NO) to improve DB2 performance. The following is a

quote from the IBM z/OS 1.11 Infocenter.

Some applications, such as DB2, have experienced performance problems because descriptor queue element (DQE) and free queue element (FQE) chains have become extremely long for certain user-region private area subpools. These applications can benefit from the new z/OS V1R10 |(and later) GETMAIN and STORAGE OBTAIN behavior, which merges adjacent DQEs, when possible, and thus results in shorter DQE chains. You can enable the new behavior by specifying "VSM USEZOSV1R9RULES(NO)".

IGDSMSxx

I would recommend turning on the CA_RECLAIM(DATACLAS) and update the CA reclaim attribute for

the data classes where the most benefit can be achieved. This change can really improve performance for

some KSDS datasets. The following explanation is from the DFSMS 1.12 DFSMS Using Data Sets

manual.

Page 23: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

23 23

Erasing records from a KSDS may result in space for empty CAs that is not reclaimed. Over time, this can produce DASD space that is fragmented |and performance that is degraded due to an index structure that is unnecessarily complicated by the empty CAs. To reclaim the empty CA space and streamline the index structure, you can reorganize the KSDS. To reduce the need for reorganizing a KSDS, you can cause empty CA space on DASD to be reclaimed automatically, so that it may be reused at a later time when a CA split is required. The CAs that have been reclaimed are available to be used for new records without any processing to obtain new space. A CA split that reuses a reclaimed CA will not change the high-used RBA.

You can use the EXAMINE DATASET command to display the number of empty CAs in a KSDS to see

whether a particular dataset would benefit from the CA Reclaim function.

IEFSSNxx

Exploit the BEGINPARALLEL feature of z/OS 1.12 in order to reduce the start up time of your IPL. The

following is an explanation of this new function from the IBM z/OS 1.12 Infocenter.

The statement that indicates that the subsystem initialization routines specified in SUBSYS statements that follow the BEGINPARALLEL statement are invoked in parallel to reduce the amount of time it takes for all subsystems to initialize. For subsystems that do not support parallel processing, you must ensure that the SUBSYS statement appears before the BEGINPARALLEL statement. For example, for the SMS subsystem definition IGDSSIIN, be sure to specify the subsystem definitions before you specify the BEGINPARALLEL statement. For SMS, if you specify BEGINPARALLEL before the subsystem definition, the system issues message IEF009E about potential problems. For the z/OS Communications Server TNF and VMCF subsystems, you must specify the subsystem definitions before you specify the BEGINPARALLEL statement if the INITRTN parameter is included on the subsystem definitions. For information about starting the TNF and VMCF subsystems, see z/OS Communications Server: IP Configuration Guide. If you do not specify BEGINPARALLEL, the subsystem initialization routines run serially, and you do not obtain any performance benefits of parallel processing. See the configuration or installation documentation of the subsystem for information about whether the subsystem initialization routines can support running in parallel.

IEAOPTxx

Verify HIPERDISPATCH performance on LPARs with less than a 1.5 Physical Share. In general the

performance of these LPARs will not improve using HIPERDISPATCH (YES).

Verify that the “control global performance data" security setting on the HMC has been enabled.

The following quote is from the IBM z/OS 1.13 Infocenter but it equally applies to z/OS 1.12 systems.

Beginning with z/OS V1R13 on IBM® zEnterprise™ 196 (z196), HiperDispatch enabled is the default. With z/OS V1R13 running on a z196, z/OS partitions with share greater than 1.5 physical processors will typically experience improved processor efficiency with HiperDispatch enabled. z/OS partitions with share less than 1.5 physical processors typically do not receive a detectable performance improvement with HiperDispatch enabled, but IBM recommends running those LPARs with HiperDispatch enabled when the performance improvement is greater than or equal to HiperDispatch disabled.

There are no new hardware controls or settings to enable use of HiperDispatch within a logical partition; however, the existing “control global performance data" security setting must be enabled on HMC for proper operation of HiperDispatch in a logical partition. HiperDispatch cannot effectively

Page 24: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

24 24

utilize vertical low processors when other partitions are active on the system and “global performance data" is not enabled.

DEVSUPxx

Added ENABLE/DISABLE(REFVTOC) to allow the ICKDSF automatic VTOC to be rebuilt

automatically when a volume expansion is detected. This will allow newly created space on the volume to

be used by the system. The refresh of the index occurs under protection of an exclusive SYSTEMS ENQ

macro for major name SYSZDMO, minor name DMO.REFVTOC.VOLSER.volser.

II. Reliability

BPXPRMxx

The ALTROOT FILESYSTEM('fsname') PARM('parameter') MOUNTPOINT('patthname') parameter has

been added. This defines an alternate sysplex root file system that will automatically replace the current

sysplex root file system if the current one becomes unowned. Implementation details can be found in the

IBM manual z/OS V1R11.0 UNIX System Services Planning z/OS V1R11.0 GA22-7800-17.

CONSOLxx

I think the customer should implement the “Distributed” mode of consoles. The mode is indicated in the

CON= parameter of parmlib member IEASYS00. Distributed mode relieves the 99 MCS, SMCS and

subsystem console per sysplex constraint by allowing up to 99 MCS, SMCS and subsystem consoles to be

active per z/OS image. Additional flexibility is provided by allowing up to 250 MCS, SMCS and

subsystem consoles to be defined per z/OS image (of which up to 99 may be concurrently active on that

image). The number of MCS, SMCS and subsystem consoles that may be concurrently active in a sysplex

is now a function of the 99 active console limit of each image multiplied by the number of z/OS images in

the sysplex.

To take advantage of distributed mode, you must perform a sysplex-wide migration to distributed mode.

You can do so through a sysplex-wide IPL or dynamically, while you are running. To perform the

migration, all of your systems must be at the z/OS V1R10 level or higher.

SMFPRMxx

Many z/OS customers have begun to suffer from an overload of data provided by the System Management

Facility (SMF). As the systems have grown ever faster and larger, doing more and more work generates

more and more data from SMF used to measure, manage, and audit their z/OS environment. With the

SMF data volumes increasing, the peak recording rates for this data is more and more often exceeding the

capacity for recording and offloading. When this happens there is a significant risk of losing the very data

they depend on.

z/OS 1.9 introduced log streams on the Coupling Facility. This is in addition to the older technology

which wrote SMF data to DASD. Currently SMF supports both types of Log streams. The CF log streams

offer better performance than the old DASD logstreams and they also reduce the amount of work that is

required to manage SMF effectively in a larger datacenter.

III. New Function

CEAPRMxx

This new PARMLIB member provides the parameters for the comment event adapter. The information

that is collected by the CEA component is used by z/OSMF. z/OSMF provides a framework for managing

Page 25: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

25 25

various aspects of a z/OS system through a modern, Web browser interface The IBM Problem

Determination logger in z/OSMF uses this data to create the Problem Determination Incident log.

The Problem Determination Incident Log will help all system programmers with problem data

management tasks, providing experienced teams with procedural advantages through an incident log

summary and detail views of z/OS dump incidents. The Incident Log provides a consolidated list of SVC

Dump related problems, along with details and diagnostic data captured with each incident. It also

facilitates sending the data for further diagnostics.

This would simplify the problem diagnostic process for you.

z/OS 1.12 PARMLIB Changes

ALLOC00

SYS1.PARMLIB

This member will contain the allocation values for the system including TIOT size, catalog errors, unit names, space attributes, and allocation requests.

Changes in z/OS 1.12

The VERIFY UNCAT(FAIL/TRACK/MSGTRACK) keyword has been added to the SYSTEM

parameter.

The TEMPDSFORMAT(UNIQUE/INCLUDELABEL) keyword has been added to the SYSTEM

parameter to allow a site to change the format of temporary data sets in order to avoid creation of

duplicates.

The MEMDSENQMGMT(ENABLE/DISABLE) keyword has been added to the SYSTEM

parameter to allow applications, such as DB2, to use memory-based enqueue management for

dynamically allocated data sets.

ANTXINxx

SYS1.PARMLIB

Extended Remote Copy (XRC) is one of several advanced copy services of DFSMS, and it provides a point-in-time copy of data at a recovery site. Parameters for XRC are specified in the ANTXIN00 parmlib member, and are documented in SC35-0428-16 for z/OS 1.11 DFSMS Advanced Copy Services.

AUTORRM

SYS1.PARMLIB

This member implements support for generating automatic replies for WTORs. This product is active for IPL WTORs before the automation products are available.

Changes in z/OS 1.12

Added this new parmlib member.

The NOTIFYMSGS(HC/CONSOLE) keyword has been added to indicate where the CNZ

messages are to be displayed. HC is the hardcopy only, while CONSOLE will display on consoles

receiving routing codes 2 (operator) and 10 (system programmer).

The MSGID('msg') NOAUTOREPLY DELAY(nnnM/S)) REPLY('reply ‟,'reply',..) keywords

have been added to define messages that are to be automatically replied to. You specify one

MSGID per message. You can use the NOAUTOREPLY option to turn off auto reply. DELAY

Page 26: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

26 26

indicates the amount of time before the auto reply is issued, and the REPLY keyword provides the

actual reply. A DELAY(0) prevents automation or an operator from providing a reply.

AXR00

SYS1.PARMLIB

AXRxx members specify System REXX options. This support is available in z/OS 1.11.

Changes in z/OS 1.12

Added parameter MaxWorkerTasks(nn) to indicate the maximum number of tasks that are

running TSO=NO work in the AXR address space. The default is 32.

Added documentation to indicate that your security product must be active when system REXX

initializes.

BPXPRM00

SYS1.PARMLIB

BPXPRM00 contains the parameters that control the z/OS Unix System Services (z/OS UNIX) environment and the file systems.

Changes in z/OS 1.12

Changed the documentation for the sample Parmlib to specify TYPE(ZFS) instead of TYPE(HFS).

Changed the PARM keyword of the FILESYSTYPE parameter to increase the maximum PARM

size from 500 to 1024.

Also changed the documentation to indicate that FSFULL is supported by HFS and zFS. FSFULL

indicates the percentage of capacity at which an operator message is generated.

Changed the default for MAXFILESIZE from 1000 to NOLIMIT. This is what happens anyways

if the MAXFILESIZE parameter is omitted.

MAXSOCKETS is ignored for domain name AF_UNIX. This has a maximum value of 10000.

The maximum range for the NETWORK parameter keyword of INADDRANYCOUNT

(number_of_ports_to_reserve) has increased from 400 to 8000.

CEAPRMxx

SYS1.PARMLIB

The CEAPRMxx member provides options for the CEA address space. It was first added with z/OS 1.11. IBM provides a sample CEAPRM00 member. CEA is common event adapter. This function provides the ability to deliver z/OS events to C Language clients such as the z/OS CIM server. It is used by the IBM z/OS incident CIM provider. The z/OS started task is started automatically during IPL. z/OSMF's Problem

Determination Incident Log uses the snapshots from CEA. If you want to use this function of z/OSMF, this member needs to be changed from its default of no snapshots to yes to take snapshots.

Changes in z/OS 1.12

Updated the documentation to indicate that the System Logger needs to be set up before

OPERLOG or LOGREC snapshots can be taken.

Changed the default amount of OPERLOG to be 30 minutes. Added a maximum for OPERLOG

of 24 hours, a maximum value for LOGREC of 24 hours, and a maximum value for

LOGRECSUMMARY of 4 hours.

Page 27: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

27 27

CEEPRMxx

SYS1.PARMLIB

This Parmlib member is used to provide the default Language Environment runtime options for a system.

Changes for z/OS 1.12

A new suboption for each option of OVR/NONOVR has been added to specify whether run-time

options can be overridden by later specification in the same Parmlib member or with the SETCEE

command.

Changed the documentation regarding syntax with commas and spaces.

Changed the sample member to include the commas and add the default value of OVR.

CONSOL00

SYS1.PARMLIB

Use this member to define the console configuration of your installation. You also define the initialization values for all console configurations. There are two modes of console configurations. The old mode is called “Shared” mode. The new mode is called “Distributed” mode. “Distributed” console mode was necessary for larger SYSPLEX environments. The benefits are as follows:

Reduces the time that it takes to IPL a system

Reduces the time that it takes a system to join a sysplex

Reduces the scope of console related hangs

Reduces the possibility of console related outages

Allows for more MCS, SMCS, and subsystem consoles to be configured. In shared console mode, the limit is 99 MCS, SMCS, and subsystem consoles per sysplex. In distributed mode, the limit is 250 MCS, SMCS, and subsystem console per image.

Recommendation:

The CON parameter is defined as follows:

CON{aa}

{(aa[,L][,NOJES3])}

{modespec}

{NONE}

{(NONE[,L][,NOJES3][,modespec])}

{NOJES3}

{(NOJES3[,modespec])}

The two alphanumeric characters (aa) are appended to CONSOL to form the name of the CONSOLxx

member of Parmlib. If you specify the L option in IEASYSxx, or in reply to the „SPECIFY SYSTEM

PARAMETERS‟ message, the system lists (displays) on the operator's console, all of the statements that

are in the CONSOLxx member. If CON=NONE is specified, the system is initialized with the IBM

defaults for the values in CONSOLxx.

You specify the NOJES3 option if JES3 is installed on your system, but is not being used. For systems

that have both JES2 and JES3 installed, but run only JES2, the NOJES3 option allows you to omit the

comma separating the REPLY ID from the command text when using short form replies to responding to

system requests.

The value for the console support mode option modespec is either DISTRIBUTED or SHARED. The

default value is SHARED.

COUPLE00

Page 28: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

28 28

SYS1.PARMLIB

For each sysplex, this member defines the sysplex name, couple data sets, timing intervals, buffers sizes, signalling paths, CTRACE members, and options for XCF (crosssystem coupling facility) and XES (cross-system extended services).

Changes for z/OS 1.12

Added CRITICALPAGING to the FUNCTIONS parameter. The “FUNCTIONS” parameter

specifies the initial enablement state of XCF/XES optional functions on the current system. You

can specify either or both of the two subordinate keywords: ENABLE and DISABLE for

CRITICALPAGING. This controls the process for hardening of RSM (Real Storage Manager)

page faults. If this is enabled, the system tries not to page out to DASD for the following pages:

31-bit common storage, address spaces that are defined as critical for paging, data spaces

associated with those address spaces, and pageable link pack area (PLPA). In the event of a

critical real frame shortage, these pages can be paged out. Addresses spaces can be marked as

critical for paging in the SCHEDxx parmlib member. The default is DISABLE.

DEVSUPxx

SYS1.PARMLIB

DEVSUPxx specifies the installation default for device support options. DEVSUPxx is processed during the NIP phase of IPL.

Changes for z/OS 1.12

The library partitioning category codes can be changed dynamically using the DEVSERV

QLIB,CATS command after IPL.

Added NON_VSAM_XTIOT=YES/NO where specifying YES enables support for XTIOT,

uncaptured UCB, and DSAB control blocks that reside above the 16 MB line for data sets using

BSAM, QSAM, or BPAM and the default of NO leaves processing as it is currently.

Added TAPE_MULTI_VOLUME_ANOMALY=ALLOW/FAIL to indicate the action taken

when labels on a multi-volume tape are missing or out of sequence. You can specify FAIL to

prevent anyone from processing any data sets on the tape when an anomaly occurs. The default of

ALLOW lets processing continue, just as it does today. Users can also bypass anomaly processing

by specifying OPTCD=B in the JCL.

The DDRSIZELIM=1000M/xxxx is used to define a limit on storage usage for a tape DDR swap.

When no DEVSUP parameter is defined, IBM defaults are used. The defaults are defined in the IBM Init

and Tuning Reference manual under the DEVSUPxx explanation.

DIAG00

SYS1.PARMLIB

The DIAGxx member controls common storage tracking and GFS trace, along with several other functions helpful for diagnosis.

Changes for z/OS 1.12

The value VSM BESTFITCSA(NO/YES) is used to indicate how requests for GETMAINs and

STORAGE OBTAINs for (E)CSA are handled. NO is the default and indicates that the "first fit"

algorithm be used. YES indicates that the "best fit" algorithm be used to reduce (E)CSA

fragmentation.

The default value of REUSASID has changed from NO to YES.

Page 29: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

29 29

The default value of IHALCCA and IHAPCCA has changed from 24 bit to 31 bit.

A trap name of IOSZDACMSGS has been added to turn on diagnostic messages for HCD or

HCM discovery and auto configuration processing.

IEAOPT00

SYS1.PARMLIB

The OPT parameters allow the installation to change many SRM constants. The SRM constants are broken into groups such as special, adjusting constants options, and special assist processor options,

Changes for z/OS 1.12

The documentation for CCCAWMT has been changed to indicate that when

HIPERDISPATCH=YES, AWM is always active and can't be turned off. Also, when

HIPERDISPATCH=YES, the range is 1600 to 3200, with 3200 as the default. The default for

HIPERDISPATCH=NO remains 12000 (12 milliseconds).

Added the parameter of MANAGENONENCLAVEWORK=YES/NO to specify whether non-

enclave transaction work of queue servers and enclave servers is to be managed or not. This

function is currently exploited by DB2.

Added CCCSIGUR=45/nn to define the minimum MTTW (mean-time-to-wait) threshold value

for heavy CPU users. Using this parameter will allow the spreading of heavy CPU users across

multiple dispatch priorities.

Added TIMESLICES=1/nn to define the number of timeslices to be used for a CPU-intensive

address space or enclave with a discretionary goal before an equal importance work is dispatched.

Added RTPIFACTOR=100/nn to specify how much the PI should affect the server routing

weights. This applies to Sysplex routing services and their exploiters, such as DB2 Connect, or the

Communications Server, when configured to use them. The purpose of this parameter is to avoid

sending work to servers that are not meeting their goals.

A value of YES for HIPERDISPATCH is forced when there are more than 64 logical CPs defined

for an LPAR.

IEASYS00

SYS1.PARMLIB

This Parmlib member contains many system parameters and points to other Parmlib members which contain further information necessary for the system to operate.

Changes for z/OS 1.12

The AUTOR=xx parameter was added to point to the member which can specify messages and

responses to those messages during the IPL process. Messages for RMM can also be specified.

Changed the default for the ZIIPZAAP parameter from NO to YES.

IEFSSN00

SYS1.PARMLIB

Page 30: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

30 30

IEFSSNxx allows you to:

Name the subsystem initialization routine to be given control during master scheduler initialization.

Specify the input parameter string to be passed to the subsystem initialization routine.

Specify a primary subsystem name and whether you want it started automatically.

Specify whether the initialization routines for the subsystem are to run in parallel.

Changes for z/OS 1.12

Added the BEGINPARALLEL keyword. This has no parameters, but is used to allow parallel

activation of all of the subsystems that follow it. It should not precede the primary subsystem

definition. Allowing parallel initialization of subsystems should make the IPL process quicker.

IGDSMS00

SYS1.PARMLIB

IGDSMSxx contains the parameters that initialize the Storage Management Subsystem (SMS) and specify the names of the active control data set (ACDS) and the communications data set COMMDS).

Changes for z/OS 1.12

Added several new subparameters to the ASID keyword. ASID is used to limit tracing (TRACE/T)

or volume selection messages (VOLSELMSG/V) to a specific address space. z/OS 1.12 adds sub-

parameters to specify multiple ASIDs, and to select which limit (T or V) by address space.

Added a JOBNAME keyword that provides the same function as the ASID keyword, and has the

new subparameters described above.

Added CA_RECLAIM(NONE/DATACLAS/DATACLASS) to indicate whether or not to use CA

reclaim for KSDSs based on the CA reclaim attribute in the data classes.

IKJTSO00

SYS1.PARMLIB

You can use IKJTSOxx to identify the commands and programs the system is to use. The IKJTSOxx member allows you to identify:

Authorized commands and programs.

Commands that a user cannot issue in the background.

APF-authorized programs that users may call through the TSO/E service facility.

PROG00

SYS1.PARMLIB

The PROG00 parmlib member contains definitions for the Authorized Program list, exits, and the LNKLST and LPA.

Changes for z/OS 1.12

Added documentation to indicate that PDSE modules can be added to the LPA at the end of IPL.

The ADDALIAS/NOADDALIAS parameter has been added to the LPA keyword to indicate

whether the system should process aliases of the modules.

The SVCNUMDEC=nnn/(nnn,routcde) parameter has been added to the LPA ADD keyword to

indicate that this is an SVC module, and that the SVC table should be updated. The routcode is

required for an extended SVC (109, 116, 122, 137).

Page 31: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

31 31

The EXIT REPLACE parameter has been added as a new option. This is similar to the EXIT

ADD, but replaces an exit. It has parameters of EXITNAME, MODNAME, STATE, and

DSNAME.

The PARAM parameter on the EXIT ADD keyword has been added to allow a parameter to be

passed to the exit routine.

The LPALIB parameter has been added to the SYSLIB keyword that lets you override the name

of the LPALIB data set. Although SYS1.LPALIB must remain in the LPA concatenation, this

parameter allows you to place a different library in front of it.

A DELAY(nn) parameter has been added to LNKLST UPDATE. This lets the system delay the

processing for closing and unallocating LNKLST data sets that are no longer in use.

A VOLUME/VOLSER/VOL parameter has been added to the SYSLIB keyword. This allows you

to use data sets that aren't cataloged in the master catalog.

A DEFAULTS statement has been added to set default parameters for the LNKLST, LPA, and

EXIT statements. These defaults are also applied to the SETPROG LNKLST, SETPROG LA, and

DISPLAY PROG, EXIT commands. If you always want to add aliases for every LPA module,

then you should use a DEFAULTS LPA ADDALIAS statement instead of coding ADDALIAS on

every LPA statement.

SCHED00

SYS1.PARMLIB

Use the SCHEDxx member of parmlib to specify the following:

Size of the master trace table.

Abend codes that are eligible for automatic restart.

Programs that are to be included in the program properties table (PPT) and thus receive special attributes.

Changes for z/OS 1.12

The CRITICALPAGING/NOCRITICALPAGING parameter has been added to the PPT statement.

CRITICALPAGING should be assigned to programs that own storage that are considered critical for

Hyperswap operation. The system will attempt to never page out this storage if possible.

SMFPRM00

SYS1.PLEXD3.ZOS112.PARMLIB

The SMFPRMxx member allows you to control how the system management facilities (SMF) works at your installation.

Changes for z/OS 1.12

Added NOBUFFS and BUFUSEWARN parameters to the LSNAME keyword. They provide the

same options as the NOBUFFS and BUFUSEWARN keywords when not using the SMF Logger.

Added MAXEVENTRECS(00/nn) to indicate the maximum number of event driven SMF type 30

and type 89 records that are allowed in each interval.

The SMFDLEXIT and SMFDPEXIT parameters have been added. These parameters let you

specify default exits for the SMF data set dump or SMF logger dump programs.

Page 32: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

32 32

A keyword of FLOOD has been added to indicate whether SMF flood support is active. This must

be accompanied by one or more FLOODPOL keywords.

Changed the documentation of EMPTYEXCPSEC to indicate that suppression actions apply to

empty EXCP sections for non-dataset allocations like DD DUMMY or spool file allocations, in

addition to the empty sections for SMS candidate volumes.

Page 33: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

33 33

Tivoli Management Services

部件架构简介

■ 文/ 百硕工程师 余好会

笔者有幸接触了 Tivoli 的监控产品 ITM(IBM Tivoli Monitoring)、ITCAMS 及 OMEGAMON 系

列,这些监控产品家族共用一套被称作 Tivoli Management Services 的部件,本文将针对此部件的架构

进行介绍。

Tivoli Management Services 为 Tivoli 监控产品提供了安全、数据传输、存储、通知、用户界面及通

讯的功能。Tivoli Management Services 包括如下部件:

TEMS - Tivoli Enterprise Monitoring Server.

TEPS - Tivoli Enterprise Portal Server

TEP - Tivoli Enterprise Portal

TEMA - Tivoli Enterprise Monitoring Agent

Tivoli Data Warehouse

TMS:Engine

Event Synchronization Component

TEPS Extended Service

Tivoli Management Services 部件及监控 Agent 是以 Agent-server-client 的方式工作,如下图:

Page 34: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

34 34

Monitoring Agent,也称 Tivoli Enterprise Monitoring Agent(TEMA),负责收集数据并将数据发送

到 TEMS,TEP 通过 TEPS 的通讯和展示功能从 TEMS 中将数据取出并进行展示,而 Data Warehouse

扩展了 Framework,提供了历史数据收集功能。

上图中的一些部件,如 TEP、Warehouse Proxy、Summarization and Pruning Agent,只能安装在分

布式平台。TEMS 以及 Tivoli Data Warehouse 这些部件,在主机或分布式平台上都可以安装,具体如何

安装取决于客户及管理需求。而 Tivoli Manage Services:Engine (TMS:Engine)只在主机平台上才有。

下面我们将对各个部件进行介绍。

1. TEMS:Tivoli Enterprise Monitoring Server

TEMS 是其中最核心的部件,主要负责完成如下工作:

负责接收 Agent 收集的数据,并在 TEP 中展现。

负责管理 Agent 的连接状态。Agent 每隔 10 分钟会发送一个 Heartbeat 给 TEMS(可以设置时

间长短),告诉 TEMS 此 Agent 的连接状态。

例如,我们在 Agent 的 Log 中可以看到设置的 Heartbeat 的 Interval 如下:

(5008F070.00BD-760:kbbssge.c,52,"BSS1_GetEnv") CANDLE_HOME="C:\IBM\ITM"

(5008F070.00BE-760:kbbssge.c,52,"BSS1_GetEnv") CTIRA_HEARTBEAT="10"

从 TEP 中接收命令,并将其推送到相关的 Agent 中去。如图,我们在 TEP 的 Workspace 上执

行 TAKEACTION,在内部其实是 TEMS 将相关命令发送给相应的 Agent,然后进行执行的。

例如,我们在 Take Action 窗口执行了命令 “kill 29753”,在 Agent 的 Log 中,可以看到命令的

执行状态:

tivsun25:KUX.LG0: .................... 1120720140642305KRAIRA002 Executed <kill 29753> with status 0

Page 35: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

35 35

当系统或子系统状态满足预定义的某个 Situation 时,TEMS 会向 TEPS 发送 Alert,并在

Workspace 上反映出状态变化,如出现 Critical 的状态信息时,Workspace 相应部分会变成红

色。

如下图中,监控系统出现了 Critical 及 Warning 的信息,我们将鼠标点到 Agent 名字上,则自动会

弹出有哪些 Situation 被触发。

Page 36: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

36 36

在一个典型配置中,最多有一个 Hub TEMS,但可以有多个 Remote TEMS。Hub TEMS 作为数据

收集及分发的中转站,负责和 Agent 及 Remote TEMS、TEPS、Warehouse Proxy、Summarization and

Pruning Agent 通讯。Remote TEMS 只是相对于 Hub TEMS 而言的,对 Agent 来说,并无差别。

2. TEP 及 TEPS

TEP 也称为 Portal或 Portal Client,是 TEMS 的用户接口。TEP 为一个 Java Client 应用,有两种形

式:

Browser Client:

将调用浏览器连接到 TEPS 内置的 Web Server 中。

Desktop Client

用户可以使用 Java Web Start 客户机进入 TEP。

TEPS 作为主要的展示层,当用户在 TEP 上查看相关数据时,负责从 TEMS 中收集相关数据,并

送往 TEP 中进行展示。

3. Agent

安装在需要监控的系统及子系统上,负责数据的收集,并将数据发送到 TEMS 或者 SNMP Event

Collector(例如:IBM Tivoli Netcool / OMNbus)。

4. TMS:Engine(仅在 z/OS 上)

提供了 TEMS、Agent、OMEGAMON 产品需要的通讯,多线程运行时服务,以及 Diagnosis

(Dumps)和 Logging(RKLVLOG)的功能。

5. Tivoli Data Warehouse

用于存放 Agent 收集的历史数据。可以是 DB2,Oracle 或者 Microsoft® SQL Database。有了 Tivoli

Data Warehouse,我们就可以根据历史数据分析趋势等,在 TEP 中可以查看 Warehouse 中产生 Short-

term或 Long-term 数据报表,也可以通过第三方的 Warehouse Reporting 工具产生报表。

现在已经有了存储介质 Warehouse 和 Agent 收集的数据,那么数据是如何转移到 Data Warehouse

中呢?这就需要 Tivoli Data Warehouse 交互的一个 Agent-Warehouse Proxy Agent 来实现。

与 Tivoli Data Warehouse 交互的另外一个 Agent 为 Summarization and Pruning Agent,用来定制保

留多长时间的数据(Pruning)以及多长时间进行一次数据汇总工作(Summarization)。

如下图中,我们可以为 UnixOS Agent 监控的每个部件选择 Prune 及 Summarize 的时间间隔。

Page 37: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

37 37

这两个 Agent 必须安装在分布式平台,并且 TEPS 也只能访问本地 Warehouse 的数据库。但是,我

们却可以将 Warehouse 数据库建立在远程机器上,然后在本地进行 Catalog 操作,那么在本地就可以操

作远程的 Warehouse 的数据库,就像此数据库安装在本地一样。

如下,我们在远程操作系统为 Solaris 的 TIVSUN25 机器上安装了 Warehouse 数据库,本地系统为

Windows,通过如下命令来进行 Catalog 操作:

C:\>db2 catalog tcpip node tivsun25 remote 9.123.102.221 server 50000 DB20000I The CATALOG TCPIP NODE command completed successfully. DB21056W Directory changes may not be effective until the directory cache is refreshed. C:\>db2 catalog database warehous at node tivsun25 DB20000I The CATALOG DATABASE command completed successfully. DB21056W Directory changes may not be effective until the directory cache is refreshed.

既然各种 Agent 千差万别,对应的 Workspace 以及 Situation 等也各不相同,在安装完 Agent 后,

就可以在 TEP 的各个 Workspace 中显示出数据了么?其实,我们还需要 Support File。所有的 Agent 能

正常工作,并将数据在 TEP 中正常显示,必须在 TEMS(Hub 及 Remote)、TEPS、TEP Desktop

Client 中安装此 Agent 对应的 Support File。我们把在 TEMS 中加 Support File 的过程称为 Seeding the

TEMS。这些 Support File 包括了 Agent 相关的 Workspace,以及预定义的 Situation 等信息。所以,如

果我们在 z/OS 端已经安装了 Hub 或者 Remote 的 TEMS 时,我们还需要通过分布式平台去增加 Support

File。

下面来为 Remote TEMS 加 Support File,如下图:

在 TEPS 上点右键,选择“Advanced->Add TEMS application support”:

Page 38: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

38 38

将出现如下界面:

点击 OK后,出现如下界面:

输入远程 TEMS 名字及 IP 后,可以选择需要的 Agent Support File,实现“Seeding the TEMS”步

骤:

Page 39: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

39 39

如果将 Remote TEMS 及 OMEG for z/OS Agent 建立在 z/OS ATZ1001 上,TEP、TEPS、

Warehouse、HUB TEMS 都建立在 WindowsTIVCTVM05 上,则在 TIVCTVM05 上打开 Manage Tivoli

Enterprise Monitoring Services,可以看到:

登录 TEP,输入用户名及密码,可以看到 Workspace 如下所示:

我们可以在自己的 Hercules 及 Windows 机器上,对 ITM、OMEG、ITCAMS 产品安装及客户化进

行一些简单模拟,以达到学习目的。

Page 40: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

40 40

6. 小结:

本文仅是对 Tivoli Management Services 部件的一个概要描述,是笔者对 ITM、OMEG、ITCAMS

产品的一些理解,疏漏之处,欢迎提出指正意见至 [email protected]

Page 41: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

41 41

CICS Internal Trace 的优化

■ 文/ 百硕工程师 李斌

一、CICS Trace 概述

CICS 的 Trace 类型主要包括 CICS Trace、CICS Exit Programming Interface (XPI) Trace、CICS XRF

Trace、CICS VTAM Exit Trace、VTAM Buffer Trace。其中,CICS Trace 最为常用,可以通过打开

Internal Trace、Auxiliary Trace 或 GTF Trace 来获得。CICS Trace 总共有 58 个 CICS Domain,每一个

Domain 包含了不同领域的信息,通过查看这些信息,能够对分析问题起到很大的帮助。

下表列出了 58 个 Trace Domain:

Code Component name Code Component name

AP Application domain MN Monitoring domain

BA Business application manager NQ Enqueue domain

BF Built-in function OT Object transaction domain

BM Basic mapping support PA Parameter domain

BR 3270 bridge PC Program control

CP Common programming interface PG Program manager domain

DC Dump compatibility layer PI Pipeline domain

DD Directory manager domain PT Partner domain

DH Document Handler RI RMI

DI Batch data interchange RM Recovery manager domain

DM Domain manager domain RX RRS-coordinated EXCI domain

DP Debugging profiles domain RZ Request streams domain

DS Dispatcher domain SC Storage control

DU Dump domain SH Scheduler services domain

EI Exec interface SJ JVM domain

EJ Enterprise Java domain SM Storage manager domain

EM Event manager domain SO Sockets domain

FC File control ST Statistics domain

GC Global catalog domain SZ Front End Programming Interface

IC Interval control TC Terminal control

IE ECI over TCP/IP domain TD Transient data

II IIOP domain TI Timer domain

IS ISC or IRC TR Trace domain

KC Task control TS Temporary storage domain

KE Kernel UE User exit interface

Page 42: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

42 42

LC Local catalog domain US User domain

LD Loader domain WB Web interface domain

LG Log manager domain XM Transaction manager domain

LM Lock domain XS Security manager domain

(作者注:Component Codes = BF、BM、BR、CP、DC、DI、EI、FC、IC、IS、KC、PC、SC、SZ、

TC、TD、TS、UE、WB 的 Domain,是 AP DOMAIN 的 Subcomponents)

二、CICS Trace 的存储

CICS Internal Trace 存储在 CICS Internal Trace Table 中,Internal Trace Table Size 的大小范围是 16K

- 1048576K,IBM 推荐的大小是 10240K。由于 Internal Trace Table 有大小限制,因此合理开启或关闭

部分 Trace Domain,可以有效减少 CICS 因输出无用 Trace 信息而消耗的 CPU,并且可以减少占用的

Internal Trace Table 空间。

三、CICS Trace 的 Level

CICS Trace 有 32 个 Level,常用的是 Level-1、Level-2、Level-3。其中,Level-1Trace Points 包含

了充足的问题诊断信息,Level-2 Trace Points 包含的信息要比 Level-1 的信息更加详细,相当于把

Level-1 信息的内容进行了详细解释,而 Level-3 Trace Points 则包含了 Level-1 和 Level-2 的全部内容。

但实际上大多数 Domain 只有 2-3 个 Level,即 Level-1、Level-2 和 Level-3。另外需要注意的是,

SJ Domain 控制的是 JVM Trace(即 JAVA 虚拟机 Trace),它使用了 Trace Level 29-32,使用的时候建

议通过 SIP 参数 SPCTRxx、JVMxxxxTRACE 共同设置。SM Domain 包含了四个 Trace Level,即 Level-

1、Level-2、Level-3、Level-4,建议通过 SPCTRxx 参数设置。

四、CICS Trace 的客户化

对 CICS Internal Trace 进行设置,分为两种方式 Standard Trace 和 Special Trace。其中,Standard

Trace 是标准的 Trace 设置方法,它针对所有的 CICS 交易进行全局性设置。Standard Trace 的动态修改

方法可以通过交易 CETR 来设置,静态修改方法可以通过 SIP 参数 STNTR、STNTRxx 来设置。而

Special Trace 则可以指定某一个交易或终端,对其进行单独的设置。Special Trace 的动态修改方法可以

通过交易 CETR 来设置,静态修改方法可以通过 SIP 参数 SPCTR、SPCTRxx 来设置。具体修改方法可

参考“Problem Determination Guide”一书中的 3.1 章节---Using Traces in Problem Determinatio。(注:

静态修改方式永久生效,动态修改方式在下次启动 CICS 的时候可能会失效)

五、CICS Trace 优化

我们为何要对 CICS Trace 进行优化?

其中最主要的原因就是可以减少生成 Trace 所消耗的 CPU。在 CICS 的 58 个 Trace Domain 中,并

不是所有 Domain 的信息对我们分析问题都有帮助。例如,User Exit Domain(UE)。一些系统工具会使

用 UE Domain 的信息,但对于我们分析问题,UE Domain 的用处不大,因此可以关闭这个 Domain,从

而使 CICS 减少输出的 Trace 总量,这样就可以降低 Trace 模块消耗的 CPU。

以某银行系统为例,原来使用 UE Domain 的工具只有一个,即 BMC 工具,但现在又增加了 CA 工

具,这样会导致 UE Domain 的 Trace 量增加,CPU 的消耗也会增加。可以通过 SIP 参数 STNTRxx 将

UE Domain 关闭,设置 STNTRUE=OFF关闭 UE Domain。

我们收集到了该行某个时间段的 Trace,对各个 Trace Domain 的数量进行了统计,筛选出其中最不

需要的 Domain,数据如下:

Page 43: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

43 43

DOMAIN 名字 缩写 行数

User exit routines(UE DOMAIN) AP D5* 22360

Debugging profiles domain DP * 14

Log manager domain LG * 41

Message domain ME * 89

Monitoring domain MN * 634

Enqueue domain NQ * 40

Pipeline manager domain PI * 14

Recovery Manager domain RM * 240

User domain US * 42

Security manager domain XS * 21

Catalog domain CC/GC 2

样例中,Internal Trace 总行数为 65622 行,需要关闭的 Trace 总数为 23497 行,占整个 Trace 的比

例约为 35.81%。其中,AP Domain 的 User Exit Routines(即 UE Domain)出现的频率最高,也是最不

需要的信息。虽然这种方法估算的数值不是很准确,但通过以上数据可以预估,如果关闭这些 Trace

Domain,则可减少约 1/3 的数据量。

经过实际测试,UE Domain 大约占整个 Trace 量的 34%,通过关闭 UE Domain,可以减少 Trace 模

块消耗的 CPU。假设每个 Trace 消耗的 CPU 相同,关闭 UE Domain 可以减少大约 34%的 Trace 模块的

CPU 消耗。

一般情况下,CICS Trace 的消耗占交易 CPU 消耗的 10%左右,具体的数值依据交易的属性而不

同,但是经验值大概为 10%。如果上例中用户关闭 UE Domain Trace,则可减少的 CPU 消耗为 10%中

的 34%,即 3.4%,换言之,对于每一个交易可以减少 3.4%的 CPU 消耗。如果一个用户是 MIPS 消耗

大户,那么通过此方法调优可节省的 MIPS 数还是相当可观的。

六、小结

本文通过介绍 Trace 的属性,引入了可以减少 CICS 中 Trace 模块 CPU 的方法。减少 User Exit

Trace 只是 Trace 优化工作中的冰山一角,更多优化方案期待我们共同发现。

Page 44: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

44 44

执行 z/OS系统命令的

几种方法

■ 文/ 百硕工程师 闵济民

在 z/OS 系统的日常维护中,从控制台发出各种系统命令以查看当前系统的相关信息是一项最基本

的功能。对于少量信息的查询,我们可以手动发出命令,但面对大量的信息查询时,手动发出大量的

系统命令就很容易造成手误,出现很多不必要的麻烦。因此,我们总结了以下几种发出 MVS 命令的方

法。这些方法有各自的特点,在实际使用过程中可灵活选择:

1. 手动输入 MVS 命令

2. 在 JCL中使用 COMMAND 语句

3. 使用 ISFAFD 和 SDSF

4. 使用 REXX 调用

5. 使用 NetView Pipe 方法

一、 手动输入 MVS 命令

通过直接手动输入并执行 MVS 命令是我们平时最常用的方法,比如在 Console、HMC Console、

SDSF的命令行中输入。

在 Console 中可以直接输入命令执行,并在相同的界面中及时得到返回信息;在 SDSF 中不仅可以

输入 JES2 子系统的命令,也可以执行各种系统命令,但是需要加上必要的前缀‘ /’,比如在

COMMAND INPUT==>中输入‘/D SMS’,执行后的返回结果可以在 LOG 中查找。

二、 在 JCL 中使用 COMMAND 语句

在 JCL中提供了一种 COMMAND 语句用于在 JCL在 Conversion 阶段批量执行 MVS 和 JES 命令。

语法如下:

//[name] COMMAND 'command command-operand' [comments]

[name]是可选的,若要省去则必须在‘COMMAND’关键字前保留至少一个空格,一条语句只能

写一条命令,需要用引号引起,命令太长时可以续行,一行可以写到第 71 列,在下一行的 16 列开始

续行。

实例:

//CMDTST JOB MSGLEVEL=(1,1),MSGCLASS=X,CLASS=A,NOTIFY=&SYSUID

//AAAA COMMAND ‘D SMS’ DISPLAY SMS INFORMATION

//PREFTP EXEC PGM=IEFBR14

//SYSPRINT DD SYSOUT=*

//SYSOUT DD SYSOUT=*

// COMMAND ‘D A,L’

Page 45: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

45 45

// COMMAND 'F CATALOG,REPORT,CACHE'

在 JESPARM 里 有 有 一 个 子 参 数 ‘ COMMAND ’ , 该 参 数 的 可 选 值 为

COMMAND={DISPLAY|EXECUTE|IGNORE|VERIFY} , 本 例 中 的 JOBCLASS(A) 的

COMMAND=VERIFY,因此需要回复高亮,如果不想每次都回复,可以更改 JOBCLASS 或更

改该子参数的值。

在这种方法中,由于命令在转换完成后会立即执行,并不和其他作业同步顺序执行,写在作业

中命令的顺序,不一定是命令执行的顺序。如果对命令执行顺序有要求的话,建议不要采用这

种方法。

详细请参考“MVS JCL Reference”

三、 使用 ISFAFD 和 SDSF

SDSF 和 ISFAFD 是 SDSF 提供的两个 Utility,可以使用它们批量执行系统命令,使用时就像使用

SDSF 面板,这个是比较常用的批量执行系统命令的方法。ISFAFD 与 SDSF 功能类似,下面以 SDSF

Utility为例进行说明。

语法如下:

//STEP1 EXEC PGM=SDSF,PARM='XXXX,YYYY'

//ISFOUT DD SYSOUT=*

//ISFIN DD *

SDSF COMMAND

/MVS COMMAND

„„

/*

上面的‘XXXX,YYYY’是用于格式化 ISFOUT 的输出格式,‘XXXX’是每一个打印出来的

Panel 的行数,‘YYYY’是列数,在 ISFIN 流内数据集中可以输入相应的命令,注意 ISFIN 中的命令

只能识别到每行的第 42 列且不能换行,这是一个限制。

实例:

//STEP1 EXEC PGM=SDSF,PARM='++32,1000' 输出的每一个面板内容是 32行 1000列

//SYSOUT1 DD SYSOUT=*

//ISFOUT DD SYSOUT=*

//ISFIN DD *

ULOG 切换到 ULOG panel

SET CONSOLE CONSOL1 设置 console

/D T 执行 MVS命令

/D A,L

PRINT FILE SYSOUT1 将 ULOG面板中的信息输出到 SYSOUT1

PRINT

PRINT CLOSE

在这个例子中 ULOG 是 SDSF 的选项,将 Panel 调整为 ULOG Panel,然后执行 MVS 命令,最后

将 ULOG 中显示的结果输出到 SYSOUT1 中,方便结果收取。

详细请参考“SDSF Operation and Customization”

四、 使用 REXX 调用

Page 46: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

46 46

在 REXX 中不仅可以执行 REXX 本身的函数过程,同样也可以通过 ADDRESS 语法执行其他环境

的命令。在这里我们调用 ADDRESS CONSOLE 来执行 MVS 命令,由于 REXX 具有强大的文本处理功

能,因此我们还可以对命令的返回结果进行格式化,使其更便于查看。

1. 如何执行

a.在 TSO 下执行 CONSOLE ACTIVATE 将 CONSOLE 激活

b.使用以下方法之一执行 MVS 命令

"CONSOLE SYSCMD(MVS_COMMAND)" ADDRESS CONSOLE

"mvs_cmd1"

...

"mvs_cmd2"

...

"mvs_cmd3"

c.执行 CONSOLE DEACTIVATE 将 CONSOLE 关闭。

2. 如何处理返回结果

命令执行完后,系统会返回 REXX 结果。为了使返回结果更加清晰,可以在 CONSOLE

ACTIVATE 之前执行 CONSPROF 这个 TSO 命令,预先定义处理方式,如:单独将 MVS 命令执行的结

果返回(SOLDISPLAY、UNSOLDISPLAY),或者将其他的信息(包括其他用户或系统广播信息)也

同时返回;设置返回结果表的大小(SOLNUM、UNSNUM)等。

3. 如何取得返回结果

使用 GETMSG 函数获取结果,GETMSG 语法如下

GETMSG(msgtem,msgtype,cart,mask,time)

msgtem 是存放返回信息的变量,msgtype 是将要检索的信息类别,cart 是发出的命令与该命令的返

回结果相关联的 Token。

实例:

/***************REXX**********************/

ADDRESS TSO

MVSR.=0

"CONSPROF SOLDISP(NO) SOLNUM(1000) UNSOLDISP(NO)"

MSG_STATUS = MSG("OFF");

"CONSOLE ACTIVATE" /***激活 CONSOLE*****/

MSG_STATUS = MSG("ON");

CMMD1.="D SMS"

CMMD2.="D IPLINFO"

/***执行 MVS命令,每一条命令对应一个标志,可以根据标志取得返回结果****/

"CONSOLE SYSCMD("CMMD1.") CART(DIS001)"

"CONSOLE SYSCMD("CMMD2.") CART(DIS002)"

GETCODE=GETMSG("MVSR.","SOL","DIS001") /**取得 CMMD1信息***/

DO I=1 TO MVSR.0 /****显示 MVS返回结果*******/

SAY MVSR.I

END

EXIT

详细请参考“z/OS TSO/E REXX Reference”

Page 47: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

47 47

五、 使用 NetView Pipe 方法

在装有 NetView 的系统中我们可以使用 PIPE Command 来调用执行 MVS 命令。我们可以通过

NetView CONSOLE 执行 PIPE Command,也能通过 REXX (ADRRESS NETVIEW)来执行。

语法如下:

MVS:

|__MVS__ ______ __ __________ __|

|_ MOE_| |_ cmdtext_|

NETVIEW:

|__NETVIEW__ __________________________________________ __>

|_(_ ____________ __ _________ __ _____ _)_|

|__ _CGI __| |_NOPANEL_| |_MOE_|

|_ECHO_|

>__ __________ __|

|_ cmdtext_|

‘NETVIEW’相对于‘MVS’可以执行更多类型的命令(NetView/VTAM/MVS 命令)。

实例 1:PIPE MVS

/* REXX */

"ALLOC FILE(CATF) DA('NV.PLEXX1.LBS') UNIT(3390) MOD",

" CATALOG SPACE(5,5) TRACKS LRECL(133)" /**新建数据集存储生成信息***/

/** 默认 ADDRESS TSO***/

'PIPE MVS D IPLINFO', /*调用 PIPE MVS命令执行 MVS命令 D IPLIFO*****/

'| CORRWAIT 5', /*调用 PIPE CORRWAIT命令为收取异步 message等待时间*/

'| SEP', /*调用 PIPE SEPARATE命令将一个多行信息打散成多个单行***/

'| STEM LB.' /*将 PIPELINE中最终结果存储在词干 LB.中*****/

ADDRESS MVS 'EXECIO * DISKW CATF (STEM LB. FINIS'

"FREE FI(CATF)"

实例 2:PIPE NETV(NETV 是 NETVIEW 的缩写)

/* REXX */

"ALLOC FILE(DSPL) DA('NV.USERID.PLEXX1.ZOS.DISPLAYS') UNIT(3390)",

" NEW CATALOG SPACE(10,5) TRACKS LRECL(133) RECFM(F B)"

'PIPE NETV ZOSCMD', /**执行的命令 LIST放在 REXX MEMBER ZOSCMD中**/

'| CORRWAIT 15',

'| SEP',

'| STEM AA.'

ADDRESS MVS 'EXECIO * DISKW DSPL (STEM AA. FINIS'

"FREE FI(DSPL)"

ZOSCMD是 NetView系统库中的一个 Member,内容如下:

/* REXX */

'MVS D T'

'MVS D IPLINFO'

'MVS D PARMLIB'

'MVS D SYMBOLS'

Page 48: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

48 48

以上两个 REXX 实例可以在 NetView 地址空间直接运行,均是先分配一个数据集,然后将命令返

回结果写入该数据集。

详细请参考“IBM Tivoli NetView for z/OS Programming: Pipes”

六、 权限(RACF)考虑

在使用以上几种方法发出系统命令的过程中,有时会遇到无权限执行命令的情况,这时就需要查

阅 RACF 相关的书籍,以上述 REXX 方法为例,如果正确执行这些命令,就需要该 USERID 拥有以下

RACF权限:

(1) RDEF TSOAUTH CONSOLE UACC(NONE)

PERMIT CONSOLE CL(TSOAUTH) ID(USERID) ACCESS(READ)

SETROPTS REFRESH RACLIST(TSOAUTH)

(2) RDEFINE OPERCMDS MVS.CONSOLE UACC(NONE)

PERMIT MVS.CONSOLE CLASS(OPERCMDS) ID(USERID) ACCESS(READ)

SETROPTS RACLIST(OPERCMDS)

Page 49: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

49 49

关于编译器/链接器的

几个问题

■ 文 / 百硕高级工程师 罗星魁

问题 1:编译器的作用是什么?

答:编译器负责将输入的程序源代码翻译成对应的机器指令,生成 Object Module。需要注意的是,

Object Module 不是 z/OS 支持的可执行格式,即 Object Module 不能执行。

最古老的编译器是汇编语言的编译器,即 Assembler。汇编语言的特点是大部分汇编指令与机器指

令一一对应,因此编译器的工作更像是做一对一的直译,相对简单一些。但对类似 C 语言和 COBOL

语言这样的高级语言来说,编译器要做的工作就要复杂的多。

高级语言的特点是高级指令与机器指令没有一对一的对应关系。譬如,在高级语言中可以对

Zoned Decimal 类型的数值直接做运算,但实际上 z 系列服务器的 CPU 没有针对 ZD 类型数值做运算的

机器指令,因此编译器要生成多条机器指令:先将数值做类型转换,然后再做计算。

问题 2: Linkage Editor/Binder 的作用是什么?

答:Binder 的输入是 Object Module 和 Load Module,输出是 Load Module。Load Module 是 z/OS 支持

的可执行格式。由于 Binder 不操作源代码,因此 Binder 不具有语言相关性,即不同语言的编译器虽然

不同,但 Binder 使用的都是同一个。

问题 3:为什么编译器不直接生成可执行的 Load Module?

答:从设计的角度来看,从 Object Module 到 Load Module 这一步不具有语言相关性,因此将其功能独

立出来是比较合理的选择。

从功能的角度来看,将 Object Module 转换为 Load Module 并不只是简单的做一个格式转换,Bind

在做格式转换的同时,需要补充 Object Module 中缺失的信息,以形成真正可执行的 Load Module。

由于编译器的输入是源代码,因此编译器不具有独立补全这些缺失信息的能力。当然对于极其简

单的程序来说,在编译器生成的 Object Module 中可能已经没有信息需要 Binder 来补全,针对这样的程

序,Binder 做的事情就是比较单纯的格式转换(Object Module->Load Module),但这样的程序是少数。

问题 4:Object Module 中哪些缺失信息必须要 Binder 来补全?

答:在编写程序时一定会用到 Symbol,最常见的 Symbol 是 Internal Symbol,即用来标示普通变量名

字的 Symbol。这类 Symbol,编译器在编译时负责将其转换成机器指令使用的地址格式(基址+偏

移)。

但还有一类 Symbol 是编译器无法进行转换的,即用来标示被调用程序名称的 External Symbol。举

例来说,程序 A 如果调用程序 B:

Page 50: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

50 50

CALL B

这条高级语言指令转换后的机器指令最终将依靠一条跳转指令跳转到 B 所代表的地址上,而这个

地址是程序 B 在内存中的开始地址,从而实现程序间的调用。

对于程序 A 来说,B 这个 Symbol 是外部 Symbol,编译器显然无法根据程序 A 的源代码来转换 B

这个 Symbol。

针对这类无法转换的 External Symbol,编译器将其登记在 Object Module 的 ESD(External Symbol

Dictionary)中,交由 Binder 来完成转换过程。

问题 5:Linkage Editor/Binder 是如何完成 External Symbol 的转换?

答:继续前面的例子,Binder 需要把程序 B 的 Object Module 或 Load Module 包括进来,即程序 A 的

Load Module 中会包含程序 B。完成这个组装过程后,程序 B 在 Load Module A 中的相对位置就确定

了,Binder 计算出 B 相对于 Load Module A 起始地址的偏移,将其存放在 Load Module A 的 RLD

(Relocation Dictionary)中。最终执行时,z/OS 的 Loader 将 Load Module A 载入内存,将 RLD 中的

Symbol B 的值加上 Load Module A 在内存中的开始地址,从而得到 Symbol B 的最终值。

需要注意的是,我们举的例子是静态调用,动态调用不需要使用到 External Symbol,例如:

CALL B

如果这是动态调用,那么‘B’是作为一个常量传递给 z/OS 的动态调用服务,执行时动态调用服

务根据‘B’这个名字调用 z/OS Loader 从磁盘上将 Load Module B 载入内存并开始执行。

Page 51: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

51 51

百硕客户通讯 BAYSHORE ADVISOR

中国主机用户专享的资讯季刊

2012 年 9 月 1 日出版(总第 29 期)

本期责任编辑:罗星魁

校对:彭晰遥、康会影

主办:百硕同兴科技(北京)有限公司

出版:百硕客户通讯编委会

吕 宁

李 琰

王晓兵

徐卫华

邹 杰

高春霞

刘京平

高大川

陈银波

马彤雷

罗兴魁

贺 明

康会影

彭晰遥

Martha Hall

地址:北京市朝阳区望京科技园利泽中二路 1 号中辰大厦 209 室

电话:010 64391733 传真:010 64391582

电子邮箱:[email protected]

如果您对百硕客户通讯有任何意见和建议,欢迎您随时与我们交流!

Page 52: 百硕客户通讯,总第 - bayss.com · on the IBM Mainframe ... and z/VM. With the introduction of zBX and IBM's Smart Analytics System 9700 and IBM DB2 Analytics Accelerator

百硕客户通讯,总第 29 期(2012 年 9 月 1 日)

52 52

百硕客户通讯总第 29 期(2012 年 9 月 1 日)

百硕同兴科技(北京)有限公司

Bayshore Consulting and Service Co., LTD.