PD Readiness Guide

Download Report

Transcript PD Readiness Guide

IBM Global Technology Services
System z
문제 분석을 위한
자료 수집 방법
2007. 4. 11.
한국 IBM
시스템지원사업부
© Copyright IBM Corporation 2007
IBM Global Services
목차
z/OS ………………………………………………………………………
3
IMS ……………………………………………………………………… 77
CICS ……………………………………………………………………
88
CPSM ……………………………………………………………………
107
DB2 ………………………………………………………………………
113
MQ ………………………………………………………………………… 137
2
LE …………………………………………………………………………
142
WAS ………………………………………………………………………
144
VTAM ……………………………………………………………………
157
TCP/IP ……………………………………………………………………
164
© IBM Corporation 2007
IBM Global Technology Services
z/OS
강신우 [email protected]
이동근 [email protected]
IBM Global Services
z/OS 목차
문제 접근 방법 …………………………………………………………… 5
문제 유형과 필요 자료 ………………………………………………… 6
DUMP ……………………………………………………………………
11
Stand-alone Dump …………………………………………………
12
Dump operation ………………………………………………………
17
Multi-volume Dump …………………………………………………
29
TRACE …………………………………………………………………… 46
4
SLIP ………………………………………………………………………
58
LOGREC(EREP) ………………………………………………………
69
Dump suppression …………………………………………………
72
© IBM Corporation 2007
IBM Global Services
문제 접근 방법
1. ERROR 유형은 ?
. WAIT, LOOP, ABEND, MESSAGE, INCORRECT OUTPUT
2. ERROR가 난 Product는 ?
. z/OS, IMS, CICS, DB2, MQ, VTAM...
3. ERROR가 생겼을 때 자료는 ?
. Dump, SYSLOG, EREP, ...
4. 언제부터 문제가 발생하기 시작했는지 ?
5. 매번 나는 문제 인가 ?
6. 한번이라도 ERROR 없이 작업이 잘 되었는가 ?
7. 어떤 특정한 환경에서만 일어나는가 ?
8. 최근 System변경 사항은 ?
. System에 대해
. Application Program에 대해
. H/W 또는 Configuration에 대해
9. System 환경은 ?
. z/OS Version, Release, FMID, ...
. PUT Level, ...
10. RETAIN이나 Problem DB를 Search.
5
© IBM Corporation 2007
IBM Global Services
문제 유형과 필요 자료
SYSTEM ABEND
1. DUMP
 SYS1.DUMPxx 형식의 Static Dump 와 일정 volume 을 지정해 Dump 발생시
자동적으로 Dump dataset 이 allocate 되는 Dynamic Dump로 나뉜다.
 Dynamic Dump를 사용한다 해도 SYS1.DUMPxx는 미리 만들어 두어야 하는데,
이는 IPL 과정에서의 Dump 발생 시를 대비한 것이다.
 SYS1.DUMPxx는 최소한 3개 Allocation하고 Space도 넉넉하게 잡아 두어야 한다.
 각 product의 version에 따라 dataspace의 사용, 또는 64-bit address space 사용
등으로 Dump dataset들의 크기는 충분해야 하며, MAXSPACE option을 이용해
최소한 2500 이상으로 주어야 한다.
 Dump Option은 SDUMP Option의 영향을 받는다.
2. SYSLOG
 SVC Dump속에 MTRACE가 있으나 SYSLOG는 보관하는 게 좋다.
3. OPERLOG
 SYSPLEX 환경에서 전체적인 SYSLOG를 한꺼번에 보여 주는 Log 이다.
4. LOGREC (EREP)
 모든 종류의 H/W, S/W type의 error가 기록되는 Log 이다.
 DUMP가 발생하지 않거나 했을 상황에서 유일한 error 기록이 될 수도 있다.
5. TRACE
 SVC Dump 속에 System Trace가 있다.
 System Trace Size는 충분히 커야 한다. (“TRACE ST,999K” Command로 조정)
 z/OS에서 제공하는 TRACE의 종류는 다양하며,
각각의 product에서도 또한 다양한 종류의 trace 기능을 제공한다.
6. Common Storage Tracker
 Global Storage 문제분석에 유용한 정보를 제공하며 Dump 내에서 내용을 볼 수 있다.
 DIAGxx parmlib member에 “VSM TRACK CSA(ON) SQA(ON)” 지정해 Active시킨다.
6
© IBM Corporation 2007
IBM Global Services
문제 유형과 필요 자료
Disabled LOOP, WAIT
- System command에 대한 응답이 없는 상태이다.
1. Stand-alone Dump
 Disable LOOP인 경우는 Interrupt가 일어날 수 없으므로 Console에서 issue된
Command가 작동하지 않는다.
 PSW의 6 & 7번 Bit이 Off이다.
 준비된 SA DUMP Program으로 IPL하여 Stand-alone Dump를 받는다.
2. SYSLOG/OPERLOG
 문제 발생 전의 상황을 알기 위해 SYSLOG/OPERLOG를 반드시 보관한다.
3. EREP
 Stand-alone Dump안에 LOGDATA(EREP)가 있으나 양에 제한이 있으므로 따로
EREP을 보관한다.
7
© IBM Corporation 2007
IBM Global Services
문제 유형과 필요 자료
Enabled LOOP, WAIT
- System command에 대한 응답이 있는 상태이다.
- “D A,L” command나 SDSF 등을 이용해 의심스러운 JOB을 cancel함으로써 상황을
끝낼 수도 있다.
- “D GRS,C” command는 resource contention 문제관련 WAIT 일 경우 유용한 정보를
제공한다.
1. Stand-alone Dump
 의심스러운 JOB들을 cancel 시켜도 상황이 계속 될 경우에는 Stand-alone Dump를
받는다.
 PSW의 6 & 7번 Bit이 On이다.
 준비된 Stand-alone Dump Program으로 IPL하여 Stand-alone Dump를 받는다.
2. SYSLOG/OPERLOG
 문제 발생 전의 상황을 알기 위해 SYSLOG/OPERLOG를 반드시 보관한다.
3. EREP
 Stand-alone Dump안에 LOGDATA(EREP)가 있으나 양에 제한이 있으므로 따로
EREP을 보관한다.
4. TRACE
 Looping이 발생한 상황을 가장 잘 보는 주는 것이 trace이므로, System trace의
Buffer 크기를 넉넉하게 잡아 준다. (“TRACE ST,999K”)
8
© IBM Corporation 2007
IBM Global Services
문제 유형과 필요 자료
Message
- 평소에 보이지 않던 종류의 message 또는 error message이다.
1. SYSLOG/OPERLOG/JOBLOG
 문제 발생 전의 상황을 알기 위해 SYSLOG/OPERLOG와 해당 JOB의 JOBLOG를
반드시 보관한다.
2. EREP
 Stand-alone Dump안에 LOGDATA(EREP)가 있으나 양에 제한이 있으므로 따로
EREP을 보관한다.
3. TRACE
 IOS message의 경우, CCW Trace와 System Trace가 필요하다.
4. SLIP
 경우에 따라서는 SLIP command를 이용해 해당 message에 대해 Dump를 받거나,
Trace를 받을 수도 있다.
9
© IBM Corporation 2007
IBM Global Services
문제 유형과 필요 자료
INCORROUT
- Incorrect Output, 원하지 않던 결과이다.
- 해당하는 Product의 자료 수집 방법에 따라 자료 수집한다.
1. JOBLOG/SYSLOG/OPERLOG
 해당 JOB의 JOBLOG는 반드시 보관하고, SYSLOG/OPERLOG도 같이 보관한다.
2. EREP
 상황에 따라 필요할 경우도 있다.
3. TRACE
 각 Product에서 제공하는 Trace 기능을 이용해 자료의 흐름을 추적한다.
4. SLIP
 경우에 따라서는 SLIP command를 이용해 해당 message에 대해 Dump를 받거나,
Trace를 받을 수도 있다.
10
© IBM Corporation 2007
IBM Global Services
DUMP
DUMP란
 DUMP는 z/OS가 수행하면서 ABEND가 발생하면 그 당시 일정 Storage부분과 PSW ,
그리고 그 당시 Register값을 저장하는 것을 의미한다.
 경우에 따라 DUMP Option에 따라 Storage부분을 강제로 받을 수 있다.
DUMP의 종류
1. ABEND DUMP
 ABEND가 났을 때, 발생하는 DUMP로써 다음과 같은 3가지 좋류가 있다.
SYSABEND : Summary dump plus some useful data.
SYSMDUMP : Summary dump plus some useful system data, formatable on IPCS
SYSUDUMP : The smallest dump, it contains the structure of failing program.
2. SNAP DUMP
 꼭 문제 상황에서 나는 것은 아니며, Virtual Storage의 snapshot이라 할 수 있다.
3. SVC DUMP
 문제 상황 발생 시, Virtual Storage의 내용을 받아내는 일반적인 Dump이다.
 대개의 경우 recovery routine에서 Dump를 request하게 된다.
4. Stand-alone DUMP
 z/OS System이 WAIT(Disable/Enable) 또는 Loop(Disable/Enable) 이면
Stand-alone Dump를 받는다. Dump를 받고 난 후 z/OS 를 IPL을 다시 하여야
한다.
 Stand-alone Dump는 현재 수행중인 모든 JOB의 Storage와 Register값을 받아 낸다.
11
© IBM Corporation 2007
IBM Global Services
Stand-alone DUMP
Stand-alone DUMP 준비(1)
1. Stand-alone Program 을 미리 만든다.
//XXXXXXXX JOB
//*
CLASS=I,MSGCLASS=X,MSGLEVEL=(1,1),REGION=100M
STAND ALONE STORAGE DUMP IPLTXT CREATION TO DISK
//OSG1
EXEC PGM=AMDSAOSG
//DPLTEXT
DD
DISP=SHR,DSN=SYS1.NUCLEUS(AMDSADPL)
//IPLTEXT
DD
DISP=SHR,DSN=SYS1.NUCLEUS(AMDSAIPD)
//PGETEXT
DD
DISP=SHR,DSN=SYS1.NUCLEUS(AMDSAPGE)
//IPITEXT
DD
DISP=SHR,DSN=SYS1.NUCLEUS(AMDSAIPI)
//DVITEXT
DD
DISP=SHR,DSN=SYS1.NUCLEUS(AMDSADVI)
//GENPRINT DD
SYSOUT=*
//GENPARMS DD
*
AMDSADMP IPL=DSYSDA,VOLSER=TSTDL1,
CONSOLE=(0520,3278),
OUTPUT=(5721,SYS1.SADMP),
DDSPROMPT=YES
END
/*
//
-
여기서 보여주는 예에서는 2114 (TSTDL1) 이 Load Address 이다. 이 Load
Address는 나중에 실제 Stand-alone Dump를 수행할 때 꼭 기억하고 있어야 한다.
/D U,VOL=TSTDL1으로 address 확인
- Output이 들어갈 volume은 5721(SP5721)이다. /D U,DASD,,5721로 확인한다.
AMDSADMP IPL=DSYSDA,VOLSER=TSTDL1,
|
volume serial
device type
CONSOLE=(0520,3278),
console address
OUTPUT=(5721,SYS1.SADMP),
|
dataset name
device address
DDSPROMPT=YES
12
© IBM Corporation 2007
IBM Global Services
Stand-alone DUMP
Stand-alone DUMP 준비(2)
2. Output dataset 을 미리 준비 해 둔다.
- SYS1.SAMPLIB(AMDSADDD) 를 수행
C1(TEST)
00831
BROWSE
SYS1.SAMPLIB
Row 00012 of
Command ===>
Name
Scroll ===> CSR
Prompt
Size
Created
Changed
ID
ex_______ AMDSADDD
_________ ANFDEAL
_________ ANFGPWGU
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-
SYS1.SAMPLIB에 Stand-alone dataset 준비를 위한 REXX가 들어 있다.
- 위와 같이 수행 하거나, 또는 TSO 상에서
TSO EX ‘SYS1.SAMPLIB(AMDSADDD)’ 라고 command를 issue한다.
13
© IBM Corporation 2007
IBM Global Services
Stand-alone DUMP
Stand-alone DUMP 준비(3)
3. Output dataset 을 미리 준비 해 둔다.
– REXX에 대한 응답
What function do you want?
Please enter DEFINE if you want to allocate a new dump dataset
Please enter CLEAR if you want to clear an existing dump dataset
Please enter REALLOC if you want to reallocate and clear an existing dump dataset
Please enter QUIT if you want to leave this procedure
clear
Please enter VOLSER or VOLSER(dump_dataset_name)
sp5721(sys1.sadmp)
Please enter the device type for the dump dataset
Device type choices are 3380 or 3390 or 9345
3390
Please enter the number of cylinders
3300
Do you want the dump dataset to be cataloged?
Please respond Y or N
Y
-
14
앞에서 준비해 둔 dataset 정보를 그대로 입력한다.
© IBM Corporation 2007
IBM Global Services
Stand-alone DUMP
Stand-alone DUMP 준비(4)
4. Output dataset 을 미리 준비 해 둔다.
– REXX의 결과 확인
IKJ56650I TIME-04:17:29 PM. CPU-00:00:00 SERVICE-88370 SESSION-00:07:37 OCTOBER
16,2002
Initializing output dump dataset with a null record:
Dump dataset has been successfully initialized
Results of the CLEAR request:
Dump Dataset Name
: SYS1.SADMP
***
Volume
: SP5721
Device Type
: 3390
Allocated Amount
: 3300
***
-
15
결과를 확인하고 틀린 곳이 없는 지 확인한다.
© IBM Corporation 2007
IBM Global Services
Stand-alone DUMP
Stand-alone DUMP 수행
1) 현재 시스템 수행을 포기하고, 다음과 같이 IPL 을 시도한다.
- HMC/SE console 에서 해당 Partition 을 아래 parm 으로 LOAD 한다.
. Normal
. Store Status
. Load address : 2114
 여기서 2114는 이 예에서 TSTDL1의 address임. 고객 환경에서는 다른
address임.
 이때 원래 address 를 기록해둠.
 Stand-alone DUMP 후 정상 IPL 을 위해!
. Load parameter 는 무시한다.
2) Load complete 가 되면 약 10초 기다린다.
3) HMC/SE console 의 Operating System Messages 를 선택하여
dummy send 를 한번 하거나, NIP console 에서 enter 를 친다.
 먼저 친 곳에서 SADMP prompt 가 뜬다.
4) AMD083I AMDSADMP: STAND-ALONE DUMP INITIALIZED
AMD001A SPECIFY OUTPUT DEVICE ADDRESS (nnn)
에 output dataset이 준비된 volume의 address 를 준다. 이때 reply # 는 없다.
 5721
5) AMD002A DUMP DATA SET= 에 앞에서 준비한 dataset name 을 준다.
 SYS1.SADMP
6) AMD011A TITLE=
에 임의의 Title 을 입력한다.
7) AMD104I DEVICE VOLUME USED DATA SET NAME
nnn
dev
volser amt
dsname
위의 message 가 나오면 끝이고, 혹시 한 volume 에 output 이 다 들어가지 못하면
AMD001A 가 다시 나온다. 이때는 4) 부터 다시 따라간다.
output volume 과 dataset name 은
5722 SYS1.SADMP2
5723 SYS1.SADMP3
5724 SYS1.SADMP4 와 같은 식으로 만들면 된다.
16
© IBM Corporation 2007
IBM Global Services
Dump Operation - D D
DISPLAY DUMP
 Dump에 관한 가장 기본 적인 정보들을 얻을 수 있다.
D D
IEE852I 11.05.00 SYS1.DUMP STATUS 651
SYS1.DUMP DATA SETS AVAILABLE=003 AND FULL=000
(1)
CAPTURED DUMPS=0000, SPACE USED=00000000M, SPACE FREE=00002500M
(2)
AUTOMATIC ALLOCATION IS: ACTIVE
(3)
NO SMS CLASSES DEFINED
AVAILABLE DASD VOLUMES: ITSWK1
(4)
NAME=SYS1.&SYSNAME..DMP&SEQ
(5)
EXAMPLE=SYS1.ITS1.DMP00000
SYS1.DUMP AVAILABLE DASD DATA SETS : 00-02
(6)
위의 예에서,
(1) Capture된 Dump가 현재 없고, 3개의 SYS1.DUMPxx 가 available하다.
(2) MAXSPACE는 2500M이고, capture된 Dynamic Dump는 없다.
(3) Dynamic Dump가 active하다.
(4) ITSWK1이 Dynamic Dump를 위한 disk이다.
(5) Dynamic Dump의 naming convention이다.
(6) SYS1.DUMP00 부터 02 까지가 SVC Dump datasets으로 사용된다.
17
© IBM Corporation 2007
IBM Global Services
Dump Operation - D D,O
DISPLAY DUMP,OPTIONS
 Dump의 option들에 관한 정보를 볼 수 있다.
 Buffer size, MAXSPACE 등을 확인 가능하다.
 Option등을 바꾸려면 CD command를 이용한다.
D D,O
IEE857I 11.51.29 DUMP OPTION 746
SYSABEND- ADD PARMLIB OPTIONS SDATA=(LSQA,TRT,CB,ENQ,DM,IO,ERR,SUM),
PDATA=(SA,REGS,LPA,JPA,PSW,SPLS)
(1)
(2)
SYSUDUMP- ADD PARMLIB OPTIONS SDATA=(SUM), NO PDATA OPTIONS
(3)
SYSMDUMP- ADD PARMLIB OPTIONS (NUC,SQA,LSQA,SWA,TRT,RGN,SUM)
(4)
SDUMP- ADD OPTIONS(PSA,SQA,LSQA,RGN,TRT,CSA,SWA,SUMDUMP,GRSQ,
XESDATA),BUFFERS=00000000K,MAXSPACE=00002500M,
MSGTIME=99999 MINUTES
(5)
위의 예에서,
Dump options, buffer size, MAXSPACE. 등의 정보를 볼 수 있다.
(1) SYSABEND DUMP의 SDATA option들
(2) SYSABEND DUMP의 PDATA option들
(3) SYSUDUMP의 Dump option들
(4) SYSMDUMP의 Dump option들
(5) SVC Dump의 option들
18
© IBM Corporation 2007
IBM Global Services
Dump Operation - D D,T
DISPLAY DUMP,TITLE
 현재 capture된 Dump의 정보들을 확인할 수 있다.
D D,T
IEF196I IEF237I 10A9 ALLOCATED TO SYS00584
IEF196I IEF285I
SYS1.ITS1.DMP00198
IEF196I IEF285I
VOL SER NOS= ITSWK1.
KEPT
IEE853I 11.54.57 SYS1.DUMP TITLES 758
SYS1.DUMP DATA SETS AVAILABLE=003 AND FULL=000
CAPTURED DUMPS=0000, SPACE USED=00000000M,SPACE FREE=00000500M
(1)
SYS1.ITS1.DMP00198 TITLE=MASTER
DUMP TAKEN TIME=11.45.56 DATE=07/09/2002
NO DUMP DATA AVAILABLE FOR THE FOLLOWING EMPTY SYS1.DUMP DATA SETS:
(2)
00-02
위의 예에서,
(1) 현재 Dynamic Dump 하나가 MASTER이라는 이름으로 있고,
(2) Static Dump는 capture된 게 없는 상태이다.
19
© IBM Corporation 2007
IBM Global Services
Dump Operation - CD SET
CHNGDUMP SET(1)
 Dump의 option, MAXSPACE 등 각종 변경을 위한 command 이다.
D D,O
IEE857I 13.17.57 DUMP OPTION 832
(1)
SYSABEND- ADD PARMLIB OPTIONS SDATA=(LSQA,TRT,CB,ENQ,DM,IO,ERR,SUM),
PDATA=(SA,REGS,LPA,JPA,PSW,SPLS)
SYSUDUMP- ADD PARMLIB OPTIONS SDATA=(SUM), NO PDATA OPTIONS
SYSMDUMP- ADD PARMLIB OPTIONS (NUC,SQA,LSQA,SWA,TRT,RGN,SUM)
SDUMP- ADD OPTIONS (PSA,SQA,LSQA,RGN,TRT,CSA,SWA,SUMDUMP,GRSQ,LPA,
XESDATA),BUFFERS=00000000K,MAXSPACE=00000500M,
MSGTIME=99999 MINUTES
CD SET,SDUMP=(ALLNUC,ALLPSA,NUC,SUM)
(2)
IEE712I CHNGDUMP PROCESSING COMPLETE
D D,O
IEE857I 13.27.52 DUMP OPTION 856
SYSABEND- ADD PARMLIB OPTIONS SDATA=(LSQA,TRT,CB,ENQ,DM,IO,ERR,SUM),
PDATA=(SA,REGS,LPA,JPA,PSW,SPLS)
SYSUDUMP- ADD PARMLIB OPTIONS SDATA=(SUM), NO PDATA OPTIONS
SYSMDUMP- ADD PARMLIB OPTIONS (NUC,SQA,LSQA,SWA,TRT,RGN,SUM)
SDUMP- ADD OPTIONS (PSA,SQA,LSQA,RGN,TRT,CSA,SWA,SUMDUMP,GRSQ,LPA,
XESDATA,ALLNUC,ALLPSA,NUC,SUM),BUFFERS=00000000K,
(3)
MAXSPACE=00000500M,MSGTIME=99999 MINUTES
위의 예에서,
(1) D D,O command를 이용해 현재의 Dump option들을 확인하고,
(2) CD SET command를 이용해 SDUMP에 4가지 option을 추가하고,
(3) 다시 D D,O command를 이용해 추가된 option들을 확인한다.
20
© IBM Corporation 2007
IBM Global Services
Dump Operation - CD SET
CHNGDUMP SET(2)
 Dump의 option, MAXSPACE 등 각종 변경을 위한 command 이다.
D D,O
IEE857I 13.17.57 DUMP OPTION 832
(1)
SYSABEND- ADD PARMLIB OPTIONS SDATA=(LSQA,TRT,CB,ENQ,DM,IO,ERR,SUM),
PDATA=(SA,REGS,LPA,JPA,PSW,SPLS)
SYSUDUMP- ADD PARMLIB OPTIONS SDATA=(SUM), NO PDATA OPTIONS
SYSMDUMP- ADD PARMLIB OPTIONS (NUC,SQA,LSQA,SWA,TRT,RGN,SUM)
SDUMP- ADD OPTIONS (PSA,SQA,LSQA,RGN,TRT,CSA,SWA,SUMDUMP,GRSQ,LPA,
XESDATA,ALLNUC,ALLPSA,NUC,SUM),BUFFERS=00000000K,
MAXSPACE=00000500M,MSGTIME=99999 MINUTES
CD SET,SDUMP,MAXSPACE=2500M
(2)
IEE712I CHNGDUMP PROCESSING COMPLETE
D D,O
IEE857I 13.27.52 DUMP OPTION 856
SYSABEND- ADD PARMLIB OPTIONS SDATA=(LSQA,TRT,CB,ENQ,DM,IO,ERR,SUM),
PDATA=(SA,REGS,LPA,JPA,PSW,SPLS)
SYSUDUMP- ADD PARMLIB OPTIONS SDATA=(SUM), NO PDATA OPTIONS
SYSMDUMP- ADD PARMLIB OPTIONS (NUC,SQA,LSQA,SWA,TRT,RGN,SUM)
SDUMP- ADD OPTIONS (PSA,SQA,LSQA,RGN,TRT,CSA,SWA,SUMDUMP,GRSQ,LPA,
XESDATA,ALLNUC,ALLPSA,NUC,SUM),BUFFERS=00000000K,
MAXSPACE=00002500M,MSGTIME=99999 MINUTES
(3)
위의 예에서,
(1) D D,O command를 이용해 현재의 Dump option들을 확인하고,
(2) CD SET command를 이용해 MAXSPACE를 2500M로 늘리고,
(3) 다시 D D,O command를 이용해 변경된 MAXSPACE size를 확인한다.
21
© IBM Corporation 2007
IBM Global Services
Dump Operation - DD CLEAR
DUMPDS CLEAR(1)
 Static Dump dataset를 clear하기 위한 command 이다.
D D,T
(1)
IEF196I IEF237I 10A9 ALLOCATED TO SYS00612
IEF196I IEF285I
SYS1.ITS1.DMP00201
IEF196I IEF285I
VOL SER NOS= ITSWK1.
KEPT
IEF196I IEF237I 10A6 ALLOCATED TO SYS00613
IEF196I IEF285I
SYS1.DUMP00
IEF196I IEF285I
VOL SER NOS= ITSCAT.
KEPT
IEE853I 12.04.50 SYS1.DUMP TITLES 690
SYS1.DUMP DATA SETS AVAILABLE=002 AND FULL=001
CAPTURED DUMPS=0000, SPACE USED=00000000M, SPACE FREE=00002500M
SYS1.ITS1.DMP00201 TITLE=ISSUER=IEFAB4ED,ERRCSECT= SEE VRA,
COMPID=5752-SC1B4,COMPON=DEVICE ALLOCATION-DYNAMIC
ALLOCATION
DUMP TAKEN TIME=15.18.11 DATE=07/09/2002
DUMP00 TITLE=TEST4
DUMP TAKEN TIME=12.04.27 DATE=07/14/2002
DUMP01 TITLE=TEST5
DUMP TAKEN TIME=12.04.30 DATE=07/14/2002
NO DUMP DATA AVAILABLE FOR THE FOLLOWING EMPTY SYS1.DUMP DATA SETS:02
DD CLEAR,DSN=00
(2)
IEE855I DUMPDS COMMAND RESPONSE 692
DUMPDS COMMAND SYS1.DUMP DATA SET STATUS
SYS1.DUMP DASD DATA SETS CLEARED: 00
위의 예에서,
(1) D D,T command를 이용해 현재의 Dump들을 확인하고,
(2) DD CLEAR command를 이용해 SYS1.DUMP00의 내용을 제거한다.
22
© IBM Corporation 2007
IBM Global Services
Dump Operation - DD CLEAR
DUMPDS CLEAR(2)
 Static Dump dataset를 clear하기 위한 command 이다.
D D
(3)
IEE852I 12.07.24 SYS1.DUMP STATUS 694
SYS1.DUMP DATA SETS AVAILABLE=003 AND FULL=000
CAPTURED DUMPS=0000, SPACE USED=00000000M, SPACE FREE=00002500M
AUTOMATIC ALLOCATION IS: INACTIVE
NO SMS CLASSES DEFINED
AVAILABLE DASD VOLUMES: ITSWK1
NAME=SYS1.&SYSNAME..DMP&SEQ
EXAMPLE=SYS1.ITS1.DMP00000
SYS1.DUMP AVAILABLE DASD DATA SETS : 00, 02
DD CLEAR,DSN=ALL
(4)
IEE855I DUMPDS COMMAND RESPONSE 692
DUMPDS COMMAND SYS1.DUMP DATA SET STATUS
SYS1.DUMP DASD DATA SETS CLEARED: 01
D D
(5)
IEE852I 12.07.24 SYS1.DUMP STATUS 694
SYS1.DUMP DATA SETS AVAILABLE=003 AND FULL=000
CAPTURED DUMPS=0000, SPACE USED=00000000M, SPACE FREE=00002500M
AUTOMATIC ALLOCATION IS: INACTIVE
NO SMS CLASSES DEFINED
AVAILABLE DASD VOLUMES: ITSWK1
NAME=SYS1.&SYSNAME..DMP&SEQ
EXAMPLE=SYS1.ITS1.DMP00000
SYS1.DUMP AVAILABLE DASD DATA SETS : 00-02
위의 예에서,
(3) D D command를 이용해 비워진 SYS1.DUMP00을 확인하고,
(4) DD CLEAR command를 이용해 모든 Static Dump의 내용을 제거하고,
(5) D D command를 이용해 비워진 Dump들을 확인한다.
23
© IBM Corporation 2007
IBM Global Services
Dump Operation - DD ALLOC
DUMPDS ALLOC=
 Dynamic Dump의 사용 여부를 지정해 주는 command 이다.
D D
IEE852I 12.11.36 SYS1.DUMP STATUS 698
SYS1.DUMP DATA SETS AVAILABLE=003 AND FULL=000
CAPTURED DUMPS=0000, SPACE USED=00000000M, SPACE FREE=00002500M
AUTOMATIC ALLOCATION IS: INACTIVE
(1)
NO SMS CLASSES DEFINED
AVAILABLE DASD VOLUMES: ITSWK1
NAME=SYS1.&SYSNAME..DMP&SEQ
EXAMPLE=SYS1.ITS1.DMP00000
SYS1.DUMP AVAILABLE DASD DATA SETS : 00-02
DD ALLOC=ACTIVE
(2)
IEE855I DUMPDS COMMAND RESPONSE 700
DUMPDS COMMAND SYS1.DUMP DATA SET STATUS
AUTOMATIC ALLOCATION IS: ACTIVE
D D
IEE852I 12.12.38 SYS1.DUMP STATUS 702
SYS1.DUMP DATA SETS AVAILABLE=003 AND FULL=000
CAPTURED DUMPS=0000, SPACE USED=00000000M, SPACE FREE=00002500M
AUTOMATIC ALLOCATION IS: ACTIVE
(3)
NO SMS CLASSES DEFINED
AVAILABLE DASD VOLUMES: ITSWK1
NAME=SYS1.&SYSNAME..DMP&SEQ
EXAMPLE=SYS1.ITS1.DMP00000
SYS1.DUMP AVAILABLE DASD DATA SETS : 00-02
위의 예에서,
(1) D D command를 이용해 현재의 Dynamic Dump option들을 확인하고,
(2) DD ALLOC command를 이용해 Dynamic Dump를 active시키고,
(3) 다시 D D command를 이용해 변경된 Dynamic Dump option을 확인한다.
24
© IBM Corporation 2007
IBM Global Services
Dump Operation - DD ADD
DUMPDS ADD,VOL=
 Dynamic Dump dataset이 allocate될 volume을 지정해 주는 command 이다.
D D
IEE852I 12.15.20 SYS1.DUMP STATUS 708
SYS1.DUMP DATA SETS AVAILABLE=003 AND FULL=000
CAPTURED DUMPS=0000, SPACE USED=00000000M, SPACE FREE=00000500M
AUTOMATIC ALLOCATION IS: ACTIVE
NO SMS CLASSES DEFINED
NO DASD VOLUMES DEFINED
(1)
NAME=SYS1.&SYSNAME..DMP&SEQ
EXAMPLE=SYS1.ITS1.DMP00000
SYS1.DUMP AVAILABLE DASD DATA SETS : 00-02
DD ADD,VOL=(ITSWK1,ITSWK2)
IEF196I IGD100I 10A9 ALLOCATED TO DDNAME SYS00208 DATACLAS (
(2)
)
. . .
DUMPDS COMMAND SYS1.DUMP DATA SET STATUS
DASD VOLUMES ADDED: ITSWK1, ITSWK2
D D
IEE852I 12.15.30 SYS1.DUMP STATUS 717
SYS1.DUMP DATA SETS AVAILABLE=003 AND FULL=000
CAPTURED DUMPS=0000, SPACE USED=00000000M, SPACE FREE=00002500M
AUTOMATIC ALLOCATION IS: ACTIVE
NO SMS CLASSES DEFINED
AVAILABLE DASD VOLUMES: ITSWK1, ITSWK2
(3)
NAME=SYS1.&SYSNAME..DMP&SEQ
EXAMPLE=SYS1.ITS1.DMP00000
SYS1.DUMP AVAILABLE DASD DATA SETS : 00-02
위의 예에서,
(1) D D command를 이용해 현재의 Dynamic Dump volume을 확인하고,
(2) DD ADD command를 이용해 volume을 추가하고,
(3) 다시 D D command를 이용해 변경된 Dynamic Dump volume을 확인한다.
25
© IBM Corporation 2007
IBM Global Services
Dump Operation - DD DEL
DUMPDS DEL,VOL=
 Dynamic Dump dataset이 allocate될 volume으로 지정된 volume을 제거해 주는
command 이다.
D D
IEE852I 12.15.06 SYS1.DUMP STATUS 704
SYS1.DUMP DATA SETS AVAILABLE=003 AND FULL=000
CAPTURED DUMPS=0000, SPACE USED=00000000M, SPACE FREE=00002500M
AUTOMATIC ALLOCATION IS: ACTIVE
NO SMS CLASSES DEFINED
AVAILABLE DASD VOLUMES: ITSWK1
(1)
NAME=SYS1.&SYSNAME..DMP&SEQ
EXAMPLE=SYS1.ITS1.DMP00000
SYS1.DUMP AVAILABLE DASD DATA SETS : 00-02
DD DEL,VOL=ITSWK1
(2)
IEE855I DUMPDS COMMAND RESPONSE 706
DUMPDS COMMAND SYS1.DUMP DATA SET STATUS
DASD VOLUMES DELETED: ITSWK1
D D
IEE852I 12.15.20 SYS1.DUMP STATUS 708
SYS1.DUMP DATA SETS AVAILABLE=003 AND FULL=000
CAPTURED DUMPS=0000, SPACE USED=00000000M, SPACE FREE=00000500M
AUTOMATIC ALLOCATION IS: ACTIVE
NO SMS CLASSES DEFINED
NO DASD VOLUMES DEFINED
(3)
NAME=SYS1.&SYSNAME..DMP&SEQ
EXAMPLE=SYS1.ITS1.DMP00000
SYS1.DUMP AVAILABLE DASD DATA SETS : 00-02
위의 예에서,
(1) D D command를 이용해 현재의 Dynamic Dump volume을 확인하고,
(2) DD DEL command를 이용해 volume을 제거하고,
(3) 다시 D D command를 이용해 변경된 Dynamic Dump volume을 확인한다.
26
© IBM Corporation 2007
IBM Global Services
Dump Operation - DD NAME
DUMPDS NAME=
 Dynamic Dump dataset이 allocate될 때 dataset 이름을 정해주는 command 이다.
DD NAME=SYS1.DUMP.D&YYMMDD..T&HHMMSS..&.SYSNAME..S&SEQ
(1)
D D
IEE852I 12.15.30 SYS1.DUMP STATUS 717
SYS1.DUMP DATA SETS AVAILABLE=003 AND FULL=000
CAPTURED DUMPS=0000, SPACE USED=00000000M, SPACE FREE=00002500M
AUTOMATIC ALLOCATION IS: ACTIVE
NO SMS CLASSES DEFINED
AVAILABLE DASD VOLUMES: ITSWK1, ITSWK2
NAME=SYS1.DUMP.D&YYMMDD..T&HHMMSS..&.SYSNAME..S&SEQ
EXAMPLE=SYS1.DUMP.D070212.T123234.ITS1.S00000
(2)
SYS1.DUMP AVAILABLE DASD DATA SETS : 00-02
위의 예에서,
(1) DD NAME command를 이용해 Dynamic Dump dataset의 이름을 지정하고,
(2) D D command를 이용해 지정된 이름과 그 예를 확인한다.
27
© IBM Corporation 2007
IBM Global Services
Dump Operation - DUMP
DUMP COMM=(…)
 임의로 Dump를 발생시킬 경우에 사용하는 command 이다.
DUMP COMM=(your dump title)
*XX IEE094D SPECIFY OPERAND(S) FOR DUMP COMMAND
R XX,JOBNAME=PRODCICS,END
(1)
DUMP COMM=(your dump title)
*XX IEE094D SPECIFY OPERAND(S) FOR DUMP COMMAND
R XX,JOBNAME=(DSNPMSTR,DSNPDBM1),END
(2)
DUMP COMM=(your dump title)
*XX IEE094D SPECIFY OPERAND(S) FOR DUMP COMMAND
R XX,JOBNAME=(DSNP*,PRODCICS),END
(3)
위의 예에서,
(1) 하나의 Job을 Dump 받고자 할 때.
(2) 두 개 이상의 Job들을 하나의 command로 받아 내고자 할 때.
(3) Wild card를 사용해 이름이 비슷한 Job들을 받아 낼 때.
28
© IBM Corporation 2007
IBM Global Services
MULTI-VOLUME DUMP
MULTI-VOLUME STRIPED DUMP(1)
 하나의 volume에 들어갈 수 있는 최대량은 65535 track이기 때문에 z/OS 환경 하에서
크기가 큰 Dump가 발생할 경우 하나의 disk volume에 다 담을 수가 없다.
 이러한 경우에 대비해 multi-volume striping을 이용해 미리 여유를 확보해 두는 것이
중요하다.
 Multi-volume Dump는 Dynamic Dump에서만 가능하며, Static Dump는 사용할 수
없다.
 이를 위한 절차는 다음과 같다.
1. Multi-volume Dump를 위한 disk들을 준비한다. 본 예에서는 아래의 3개의 volume을
사용한다.
IEE457I 11.24.07 UNIT STATUS 119
UNIT TYPE STATUS
VOLSER
VOLSTATE
1084 3390 O
PSS084
PRIV/RSDNT
1085 3390 O
PSS085
PRIV/RSDNT
1086 3390 O
PSS086
PRIV/RSDNT
한 volume 이상의 Dump가 발생하면 아래와 같은 error message가 발생한다.
IGD17051I ALLOCATION FAILED FOR DATA SET DUMP.KB03.D030908.T223256.DMP00016,
PRIMARY SPACE EXCEEDS 65535 TRKS
IEA799I AUTOMATIC ALLOCATION OF SVC DUMP DATASET FAILED
29
© IBM Corporation 2007
IBM Global Services
MULTI-VOLUME DUMP
MULTI-VOLUME STRIPED DUMP(2)
2. SMS storage group을 정의한다.(1)
STORAGE GROUP APPLICATION SELECT ENTER STORAGE GROUP TYPE
Command ===>
To perform Storage Group Operations, Specify:
CDS Name
. . . . . . . 'CPAC.DFSMS.SCDS'
(1 to 44 character data set name or 'Active' )
Storage Group Name
. . sgmultiv
(For Storage Group List, fully or
partially specified or * for all)
Storage Group Type
. . pool
(VIO, POOL, DUMMY, OBJECT, OBJECT
BACKUP, or TAPE)
Select one of the following options
2
30
:
1. List
- Generate a list of Storage Groups
2. Define
- Define a Storage Group
3. Alter
- Alter a Storage Group
4. Volume
- Display, Define, Alter or Delete Volume Information
© IBM Corporation 2007
IBM Global Services
MULTI-VOLUME DUMP
MULTI-VOLUME STRIPED DUMP(3)
2. SMS storage group을 정의한다.(2)
POOL STORAGE GROUP DEFINE
Command ===>
SCDS Name . . . . . : CPAC.DFSMS.SCDS
Storage Group Name
: SGMULTIV
To DEFINE Storage Group, Specify:
Description ==> MULTI-VOLUME
==>
Auto Migrate . . Y
(Y, N, I or P)
Migrate Sys/Sys Group Name . .
Auto Backup
. . Y
(Y or N)
Backup Sys/Sys Group Name
. . . N
(Y or N)
Dump Sys/Sys Group Name
Auto Dump
Dump Class . . .
(1 to 8 characters)
Dump Class . . .
Dump Class . . .
Dump Class . . .
Dump Class . . .
Allocation/migration Threshold: High . . 85
Guaranteed Backup Frequency
DEFINE
31
(1-99)
. . . . . . NOLIMIT
SMS Storage Group Status . . . N
Low
. .
. . .
. . 1
(0-99)
(1 to 9999 or NOLIMIT)
(Y or N)
© IBM Corporation 2007
IBM Global Services
MULTI-VOLUME DUMP
MULTI-VOLUME STRIPED DUMP(4)
3. Volume을 add한다.(1)
STORAGE GROUP APPLICATION SELECTION
Command ===>
To perform Storage Group Operations, Specify:
CDS Name
. . . . . . . 'CPAC.DFSMS.SCDS'
(1 to 44 character data set name or 'Active' )
Storage Group Name
. . SGMULTIV
(For Storage Group List, fully or
partially specified or * for all)
Storage Group Type
. .
(VIO, POOL, DUMMY, OBJECT, OBJECT
BACKUP, or TAPE)
Select one of the following options
4
32
:
1. List
- Generate a list of Storage Groups
2. Define
- Define a Storage Group
3. Alter
- Alter a Storage Group
4. Volume
- Display, Define, Alter or Delete Volume Information
© IBM Corporation 2007
IBM Global Services
MULTI-VOLUME DUMP
MULTI-VOLUME STRIPED DUMP(5)
3. Volume을 add한다.(2)
STORAGE GROUP LIST
Command ===>
Scroll ===> HALF
Entries 1-1 of 1
Data Columns 3-7 of 40
CDS Name : CPAC.DFSMS.SCDS
Enter Line Operators below:
33
LINE
STORGRP
SG
VIO
VIO
AUTO
MIGRATE SYSTEM
OPERATOR
NAME
TYPE
MAXSIZE
UNIT
MIGRATE
OR SYS GROUP
---(1)----
--(2)--- -----(3)-----
--(4)--
(5)-
--(6)---
-----(7)------
listvol
SGMULTIV POOL
-------
----
YES
--------
----------
-------- ------
BOTTOM
OF
DATA
------
--------
----------
© IBM Corporation 2007
IBM Global Services
MULTI-VOLUME DUMP
MULTI-VOLUME STRIPED DUMP(6)
3. Volume을 add한다.(3)
VOLUME LIST
Command ===>
Scroll ===> HALF
Entries 1-3 of 3
Enter Line Operators below:
LINE
VOLUME FREE
%
ALLOC
FRAG
LARGEST
FREE
OPERATOR
SERIAL SPACE
FREE
SPACE
INDEX
EXTENT
EXTENTS
-(2)-- ---(3)---
(4)-
---(5)---
-(6)-
---(7)---
--(8)--
---(1)----
----------
34
Data Columns 3-8 of 40
PSS084
2764583
99
6917
0
2761872
3
PSS085
2765137
99
6363
0
2761872
3
PSS086
2765137
99
6363
0
2761872
3
------ -----------
BOTTOM
OF
DATA
-----------
------
----
© IBM Corporation 2007
IBM Global Services
MULTI-VOLUME DUMP
MULTI-VOLUME STRIPED DUMP(7)
4. SMS storage group을 activate시킨다.
/SETSMS SCDS(CPAC.DFSMS.SCDS)
35
© IBM Corporation 2007
IBM Global Services
MULTI-VOLUME DUMP
MULTI-VOLUME STRIPED DUMP(8)
5. DFSMSdss CONVERTV 를 사용하여 SMS volume 으로 변경한다.
CONVERTV DDNAME(DVOL1,DVOL2,DVOL3) SMS
-
SELECTMULTI(FIRST)
-
CATALOG
36
© IBM Corporation 2007
IBM Global Services
MULTI-VOLUME DUMP
MULTI-VOLUME STRIPED DUMP(9)
6. SMS Storage Class 정의(1)
- SDR 이 중요하다. 3390 은 4로 나눈 값이 striping 되는 volume 수가 된다.
- 이 예에서는 3개 volume 로 striping 을 위해 12로 정의 하였다.
STORAGE CLASS APPLICATION SELECTION
Command ===>
To perform Storage Class Operations, Specify:
CDS Name
. . . . . . . 'CPAC.DFSMS.SCDS'
(1 to 44 character data set name or 'Active' )
Storage Class Name
. . SCMULTIV
(For Storage Class List, fully or
partially specified or * for all)
Select one of the following options
3
:
1. List
- Generate a list of Storage Classes
2. Display
- Display a Storage Class
3. Define
- Define a Storage Class
4. Alter
- Alter a Storage Class
5. Cache Display - Display Storage Classes/Cache Sets
If List Option is chosen,
Enter "/" to select option
Respecify View Criteria
Respecify Sort Criteria
37
© IBM Corporation 2007
IBM Global Services
MULTI-VOLUME DUMP
MULTI-VOLUME STRIPED DUMP(10)
6. SMS Storage Class 정의(2)
STORAGE CLASS DEFINE
Page 1 of 2
Command ===>
SCDS Name . . . . . : CPAC.DFSMS.SCDS
Storage Class Name
: SCMULTIV
To DEFINE Storage Class, Specify:
Description ==> Multi-volume
==>
Performance Objectives
Direct Millisecond Response . . . .
(1 to 999 or blank)
Direct Bias . . . . . . . . . . . .
(R, W or blank)
Sequential Millisecond Response . .
(1 to 999 or blank)
Sequential Bias . . . . . . . . . .
(R, W or blank)
Initial Access Response Seconds . .
(0 to 9999 or blank)
Sustained Data Rate (MB/sec)
(0 to 999 or blank)
Availability . . . . . . . . . . . . N
(C, P ,S or N)
Accessibility
(C, P ,S or N)
Backup
. . . . . . . . . . . N
. . . . . . . . . . . . . .
Versioning
38
. . . 12
. . . . . . . . . . . .
(Y, N or Blank)
(Y, N or Blank)
© IBM Corporation 2007
IBM Global Services
MULTI-VOLUME DUMP
MULTI-VOLUME STRIPED DUMP(11)
7. SMS Data Class 정의(1)
- Dataset name type 이 중요하다. 'EXT' 를 정의 하여야 한다.
- 이 'EXT' 와 Storage 의 SDR 이 striping 을 하게 한다.
DATA CLASS APPLICATION SELECTION
Command ===>
To perform Data Class Operations, Specify:
CDS Name . . . . . . 'CPAC.DFSMS.SCDS'
(1 to 44 character data set name or 'Active' )
Data Class Name
. . dcmultiv
(For Data Class List, fully or partially
specified or * for all)
Select one of the following options
3
1. List
:
- Generate a list of Data Classes
2. Display - Display a Data Class
3. Define
- Define a Data Class
4. Alter
- Alter a Data Class
If List Option is chosen,
Enter "/" to select option
Respecify View Criteria
Respecify Sort Criteria
39
© IBM Corporation 2007
IBM Global Services
MULTI-VOLUME DUMP
MULTI-VOLUME STRIPED DUMP(12)
7. SMS Data Class 정의(2)
DATA CLASS DEFINE
Page 1 of 3
Command ===>
SCDS Name . . . : CPAC.DFSMS.SCDS
Data Class Name : DCMULTIV
To DEFINE Data Class, Specify:
Description ==> Multi-volume
==>
Recorg
. . . . . . . .
Recfm . . . . . . . . .
(any valid RECFM combination or blank)
Lrecl . . . . . . . . .
(1 to 32761 or blank)
Keylen
. . . . . . . .
(0 to 255 or blank)
Keyoff
. . . . . . . .
(0 to 32760 or blank)
Space Avgrec
40
(KS, ES, RR, LS or blank)
. . . . .
(U, K, M or blank)
Avg Value . . . .
(0 to 65535 or blank)
Primary . . . . .
(0 to 999999 or blank)
Secondary . . . .
(0 to 999999 or blank)
Directory . . . .
(0 to 999999 or blank)
© IBM Corporation 2007
IBM Global Services
MULTI-VOLUME DUMP
MULTI-VOLUME STRIPED DUMP(13)
7. SMS Data Class 정의(3)
DATA CLASS DEFINE
Page 3 of 3
Command ===>
SCDS Name . . . : CPAC.DFSMS.SCDS
Data Class Name : DCMULTI
To DEFINE Data Class, Specify:
Data Set Name Type
If Ext
. . . . . . ext
. . . . . . . . . . . r
(P=Preferred, R=Required or blank)
Extended Addressability . . . N
(Y or N)
Record Access Bias
(S=System, U=User or blank)
. . . . . s
Reuse . . . . . . . . . . . . . N
(Y or N)
Initial Load
(S=Speed, R=Recovery or blank)
. . . . . . . . . R
Spanned / Nonspanned
. . . . .
(S=Spanned, N=Nonspanned or blank)
BWO . . . . . . . . . . . . . .
(TC=TYPECICS, TI=TYPEIMS, NO or blank)
Log . . . . . . . . . . . . . .
(N=NONE, U=UNDO, A=ALL or blank)
Logstream Id
. . . . . . . . .
Space Constraint Relief . . . . N
Reduce Space Up To (%)
41
(EXT, HFS, LIB, PDS or blank)
. . .
(Y or N)
(0 to 99 or blank)
© IBM Corporation 2007
IBM Global Services
MULTI-VOLUME DUMP
MULTI-VOLUME STRIPED DUMP(14)
8. ACS 정의(1)
- 해당 Storage Class 가 해당 Storage Group 을 사용하도록 ACS 정의 및 translate
한다.
EDIT
PSS1.MAINT.UNIX(ACSSC6) - 01.00
Command ===>
Columns 00001 00072
Scroll ===> CSR
****** ***************************** Top of Data ****************************
000010 PROC 1 STORCLAS
000020 FILTLIST OPENMVS INCLUDE(OMVS.**)
000030 SELECT
000040
WHEN ((&HLQ EQ &OPENMVS) AND &DSNTYPE='HFS')
000050
000051
SET &STORCLAS EQ 'OPENMVS'
WHEN (&STORCLAS EQ 'OPENMVS')
000052
000053
SET &STORCLAS EQ 'OPENMVS'
WHEN (&STORCLAS EQ 'SCTEST')
000054
000055
SET &STORCLAS EQ 'SCTEST'
WHEN (&STORCLAS EQ 'SCNPA')
000056
SET &STORCLAS EQ 'SCNPA'
000057
WHEN (&STORCLAS EQ 'C3OMVS')
000058
000059
SET &STORCLAS EQ 'C3OMVS'
WHEN (&STORCLAS EQ 'SCITSHFS')
000060
000061
SET &STORCLAS EQ 'SCITSHFS'
WHEN (&STORCLAS EQ 'SCITSPOE')
000062
000063
SET &STORCLAS EQ 'SCITSPOE'
WHEN (&STORCLAS EQ 'SCIT2HFS')
000064
000065
SET &STORCLAS EQ 'SCIT2HFS'
WHEN (&STORCLAS EQ 'SCIT3HFS')
000066
000067
SET &STORCLAS EQ 'SCIT3HFS'
WHEN (&STORCLAS EQ 'SCMULTIV')
000068
000069
SET &STORCLAS EQ 'SCMULTIV'
OTHERWISE
000070
000071
SET &STORCLAS EQ ''
END
000080 END
****** **************************** Bottom of Data ***************************
42
© IBM Corporation 2007
IBM Global Services
MULTI-VOLUME DUMP
MULTI-VOLUME STRIPED DUMP(15)
8. ACS 정의(2)
EDIT
PSS1.MAINT.UNIX(ACSSG6) - 01.00
Command ===>
Columns 00001 00072
Scroll ===> CSR
****** ***************************** Top of Data *****************************
000100 PROC 1 STORGRP
000200 SELECT
000300
WHEN (&STORCLAS EQ 'OPENMVS')
000400
SET &STORGRP EQ 'OPENMVS'
000401
WHEN (&STORCLAS EQ 'SCTEST')
000402
SET &STORGRP EQ 'SGTEST'
000403
WHEN (&STORCLAS EQ 'SCNPA')
000404
SET &STORGRP EQ 'SGNPA'
000405
WHEN (&STORCLAS EQ 'C3OMVS')
000406
SET &STORGRP EQ 'C3OMVS'
000407
WHEN (&STORCLAS EQ 'SCITSHFS')
000408
SET &STORGRP EQ 'SGITSHFS'
000409
WHEN (&STORCLAS EQ 'SCITSPOE')
000410
SET &STORGRP EQ 'SGITSPOE'
000420
WHEN (&STORCLAS EQ 'SCIT2HFS')
000430
SET &STORGRP EQ 'SGIT2HFS'
000440
WHEN (&STORCLAS EQ 'SCIT3HFS')
000441
SET &STORGRP EQ 'SGIT3HFS'
000442
WHEN (&STORCLAS EQ 'SCMULTIV')
000443
000444
SET &STORGRP EQ 'SGMULTIV'
END
000445 END
****** **************************** Bottom of Data ***************************
43
© IBM Corporation 2007
IBM Global Services
MULTI-VOLUME DUMP
MULTI-VOLUME STRIPED DUMP(16)
9. Storage Class, Data Class 및 ACS 를 새로 반영한다.
/SETSMS SCDS(CPAC.DFSMS.SCDS)
44
© IBM Corporation 2007
IBM Global Services
MULTI-VOLUME DUMP
MULTI-VOLUME STRIPED DUMP(17)
10. DUMPDS 명령어를 사용하여 Dump dataset dynamic allocation 을 정의한다.
DD ADD,SMS=(DATA=DCMULTIV,STOR=SCMULTIV)
IEF196I IGD101I SMS ALLOCATED TO DDNAME (SYS04635)
IEF196I
DSN (SYS1.ITS1.DMP00000
)
IEF196I
STORCLAS (SCMULTIV) MGMTCLAS (
) DATACLAS
IGD101I SMS ALLOCATED TO DDNAME (SYS04635) 273
DSN (SYS1.ITS1.DMP00000
STORCLAS (SCMULTIV) MGMTCLAS (
)
) DATACLAS (DCMULTIV)
VOL SER NOS= PSS085
IEF196I (DCMULTIV)
IEF196I
VOL SER NOS= PSS085
IEF196I IGD105I SYS1.ITS1.DMP00000
DELETED,
IEF196I DDNAME=SYS04635
IEE855I DUMPDS COMMAND RESPONSE 281
DUMPDS COMMAND SYS1.DUMP DATA SET STATUS
SMS CLASSES ADDED: (DATA=DCMULTIV,MGMT=,STOR=SCMULTIV)
45
© IBM Corporation 2007
IBM Global Services
TRACE
TRACE란
 모든 System Event에 대한 진행이 기록된 내용이다.
 Dump가 특정 시점의 전체 모습이라면, Trace는 일정 시간 동안의 기록이다.
 z/OS 자체에서 제공해 주는 trace 뿐만 아니라, 각 product와 component들도 자체
trace 기능을 제공한다.
TRACE의 종류
1. SYSTEM TRACE
 System이 IPL되는 시점부터 shutdown 되는 시점까지 모든 내용을 기록.
 Memory 내의 buffer에 저장되기 때문에 그 크기에는 한계가 있어 일정 시간 동안의
내용만 보관됨.
 Dump를 통해서 그 내용을 확인 가능.
2. GTF TRACE
 Generalized trace facility로써 대부분의 일반적인 trace의 기능을 이용하기 위해
사용됨.
 각종 product및 component들의 trace를 받아내는 tool.
3. GFS TRACE
 GETMAIN, FREEMAIN, STORAGE trace.
 Virtual storage의 사용에 관한 내용을 볼 수 있는 trace.
4. COMPONENT TRACE
 z/OS의 각 component들이 제공해 주는 trace.
46
© IBM Corporation 2007
IBM Global Services
SYSTEM TRACE
SYSTEM TRACE
 System이 IPL되는 시점부터 shutdown 되는 시점까지 모든 내용을 기록.
 Memory 내의 buffer에 저장되기 때문에 그 크기에는 한계가 있어, 일정 시간 동안의
내용만 보관됨.
 Dump를 통해서 그 내용을 확인 가능.
 Default buffer size는 64K이나, TRACE command를 이용해 999K까지 변경 가능.
/TRACE ST,999K
47
© IBM Corporation 2007
IBM Global Services
GTF TRACE
GTF TRACE 준비
 SYS1.PROCLIB 또는 등록된 PROCLIB에 아래와 같은 proc을 만든다.
//GTFNEW PROC MEMBER=GTFPARM
(1)
//IEFPROC EXEC PGM=AHLGTF,PARM='MODE=EXT,DEBUG=NO,TIME=YES',
//
TIME=1440,REGION=2880K
//IEFRDER DD DSNAME=SYS1.TRACE,UNIT=SYSDA,SPACE=(CYL,200),
//
(2)
DISP=(NEW,CATLG)
//SYSLIB DD DSN=SYS1.PARMLIB(&MEMBER),DISP=SHR
위의 예에서,
(1) GTF option을 위한 PARMLIB member 명이다.
이 때, 아래와 같은 예가 있을 수 있으며, 어떤 내용을 trace하느냐에 따라
option이 달라진다.
TRACE=SYSM,USR,TRC,DSP,PCI,SRM,CCW,IO,CSCH
(2) GTF trace가 들어갈 output dataset 명이다.
48
© IBM Corporation 2007
IBM Global Services
GTF TRACE
GTF TRACE start/stop
 Console에서 아래와 같은 command를 수행한다.
START GTF.EXAMPLE1
(1)
AHL121I TRACE OPTION INPUT INDICATED FROM MEMBER GTFPARM OF PDS SYS1.PARMLIB
AHL103I TRACE OPTIONS SELECTED--SYSM,USR,TRC,DSP,PCI,SRM
xx AHL125A RESPECIFY TRACE OPTIONS OR REPLY U
REPLY xx,U
(2)
AHL031I GTF INITIALIZATION COMPLETE
D A,L
IEE114I 14.51.49 1996.181 ACTIVITY FRAME LAST F E SYS=SY1
JOBS M/S TS USERS SYSAS INITS ACTIVE/MAX VTAM OAS
00000 00003 00000 00016 00000 00000/00000 00000
LLA LLA LLA NSW S VLF VLF VLF NSW S
JES2 JES2 IEFPROC NSW S
GTF EXAMPLE1 IEFPROC NSW S
(3)
. . .
STOP EXAMPLE1
(4)
위의 예에서,
(1) GTF를 start 시킨다.
(2) 기존의 option을 계속 사용하고 싶으면 U, 추가를 원하면 원하는 option을
추가한다.
(3) GTF를 stop 시키려면 먼저 GTF의 procname을 찾는다.
(4) procname을 stop 시킨다.
49
© IBM Corporation 2007
IBM Global Services
GTF TRACE
GTF TRACE option
 GTF에는 아래와 같은 option들이 있어 다양한 선택이 가능하다.
 각각의 option 사용에 대해서는 각 product 및 component 편을 참조하면 된다.
ASIDP
: Requests that GTF tracing be limited to a subset of address spaces.
TRACE=ASIDP,USR
ASID=0A
CCW/CCWP
: channel programs and associated data for I/O events.
CSCH
: all clear subchannel operations.
DSP
: all dispatchable units of work.
EXT
: all external interruptions.
HSCH
: all halt subchannel operations.
JOBNAMEP
: Requests that GTF tracing be limited to a subset of jobs.
IO/IOP
: all non-program-controlled I/O interruptions.
IOX/IOXP
: all non-program-controlled I/O interruptions providing a summary of a
complete channel program for the I/O interruption in an I/O summary trace
record.
MSCH
: all modify subchannel operations.
PCI
: intermediate status interruptions in the same format as other I/O trace
records that GTF creates.
PI/PIP
: all program interruptions (0-255).
RNIO
: all Virtual Telecommunications Access Method (VTAM) network activity.
RR
: data associated with all invocations of recovery routines
(such as STAE and ESTAE routines).
SLIP
: a trace entry be made each time:
A match occurs for a SLIP trap with ACTION=TRACE
A SLIP trap with the SLIP DEBUG option is checked
SRM
: recording of trace data each time the system resource manager (SRM) is
invoked.
SSCH/SSCHP : start subchannel and resume subchannel operations.
50
SVC
: all SVC interruptions.
SYS/SYSP
: Trace records for CSCH, HSCH, MSCH, SSCH, EXT, IO, PI, RR, SVC
SYSM
: minimal trace data for the same events as SYS.
TRC
: trace events that are associated with GTF itself.
USR/USRP
: Requests GTF prompting for specific event identifiers (EID) of the data
that the GTRACE macro passes to GTF.
USR=F9
: Open/Close activities of VSAM Data Set.
USR=FD
: Used by VTAM.
USR=FE
: When abend occurs at BSAM, QSAM, BPAM, BDAM.
USR=FF
: Whend abend occrus during OPEN, CLOSE, EOV.
© IBM Corporation 2007
IBM Global Services
CCW TRACE
CCW TRACE
 GTF trace의 일종으로 device에 발생한 문제를 분석하기 위해 trace를 받는다.
 SYS1.PARMLIB에 아래와 같은 member를 만들어 GTF를 start 시킨 후,
문제를 재발시켜 trace를 받아낸다.
TRACE=IOP,CCWP,SIOP,PCI
CCW=(SI,CCWN=512,DATA=16,PCITAB=5)
IO=SIO=(100,101,102,103)
51
© IBM Corporation 2007
IBM Global Services
GFS TRACE
GFS TRACE(1)
 Storage 문제의 분석을 위한 trace로서 GTF의 기능을 이용한다.
1. 우선 아래와 같은 SYS1.PARMLIB member를 만들어 DIAGxx라는 이름으로 저장한다.
여기서는 ASID 3,5,6,7,8 에 대한 GFS trace를 받아내는 예를 들어본다.
VSM TRACE GETFREE (ON)
ASID (3, 5-9)
LENGTH (24)
DATA (ALL)
위의 예에서,
만약 SYS1.PARMLIB에 DIAG01이라는 member로 만들었다면….
52
© IBM Corporation 2007
IBM Global Services
GFS TRACE
GFS TRACE(2)
2. Console 상에서 아래의 command를 이용해 GFS trace를 activate 시킨다.
T DIAG=xx
위의 예에서,
T DIAG=01 로 된다.
53
© IBM Corporation 2007
IBM Global Services
GFS TRACE
GFS TRACE(3)
3. SYS1.PARMLIB에 아래와 같은 GTF option member를 만들고 GTF를 start 시킨다.
TRACE=USRP
USR=(F65)
54
© IBM Corporation 2007
IBM Global Services
GFS TRACE
GFS TRACE(4)
4. 문제 발생 상황을 기다렸다 문제 상황이 발생하면 GTF를 stop 시키고,
미리 만들어 둔 아래 DIAGxx member를 activate 시킨다.
VSM TRACE GETFREE (OFF)
위의 예에서,
위의 member를 DIAG00으로 만들었다면,
T DIAG=00 command를 issue한다.
55
© IBM Corporation 2007
IBM Global Services
COMPONENT TRACE
COMPONENT TRACE(1)
 z/OS의 거의 모든 component는 각각의 trace 기능을 제공한다.
 이러한 각각의 component가 제공하는 trace를 받아내는 방법은 IBM support
center의 자문을 받게 되지만, 일반적으로 아래의 command를 이용한다.
TRACE CT,ON,COMP=name,OPTIONS=(options..),END
TRACE CT,OFF,COMP=name
각 component의 이름과 option은 각 문제 상황에 따라 IBM에서 제공하게 된다.
56
© IBM Corporation 2007
IBM Global Services
COMPONENT TRACE
COMPONENT TRACE(2)
 일반적인 component trace의 이름과 option은 아래와 같다.
SYSAPPC : Advanced Program-to-Program Communication/MVS (APPC/MVS)
TRACE CT,ON,NAME=SYSAPPC,OPTIONS=(GLOBAL),END
SYSDLF
: Data lookaside facility (DLF) of VLF
SYSDSOM : Distributed function of
SYSGRS
SOMobjects
: Global resource serialization
TRACE CT,ON,COMP=SYSGRS,OPTIONS=(CONTROL,MONITOR,REQUEST),END
SYSIOS
: IOS Component Trace
SYSJES
: JES common coupling services
SYSjes2 : JES2 rolling trace table
SYSLLA
: Library lookaside (LLA) of contents supervision
SYSLOGR : System Logger
SYSOMVS : OS/390 UNIX System Services (OS/390 UNIX)
TRACE CT,ON,COMP=SYSOMVS,OPTIONS=(ALL),END
SYSOPS
: Operations services (OPS)
SYSRRS
: Resource recovery services (RRS)
SYSRSM
: Real storage manager (RSM)
TRACE CT,ON,COMP=SYSRSM,OPTIONS=(VIO,FAULTS),END
SYSSPI
: Service processor interface (SPI)
SYSTTRC : Transaction trace (TTRC)
SYSVLF
: Virtual lookaside facility VLF)
SYSWLM
: Workload manager (WLM)
SYSXCF
: Cross-system coupling facility (XCF)
TRACE CT,ON,NAME=SYSXCF,OPTIONS=(GROUP,STATUS),END
SYSXES
57
: Cross-system extended services (XES)
© IBM Corporation 2007
IBM Global Services
SLIP
SLIP
 System에서 일어나는 거의 모든 event에 대해 trigger를 걸어 자료를 받을 수 있는
방법이다.
 SYSPLEX 환경에서는 IEASLPxx PARMLIB member에 넣어 둘 수 있다.
58
© IBM Corporation 2007
IBM Global Services
SLIP Operation - T SLIP
SET SLIP=
 PARMLIB에 들어 있는 IEASLPxx member를 activate 시킬 때 사용하는 command
이다.
T SLIP=xx
59
© IBM Corporation 2007
IBM Global Services
SLIP Operation - D SLIP
DISPLAY SLIP
 현재 걸려 있는 SLIP들을 확인 할 때 사용되는 command 이다.
/D SLIP
(1)
IEE735I 11.05.29 SLIP DISPLAY 694
ID
STATE
ID
STATE
ID
STATE
ID
STATE
ID
STATE
X013 ENABLED
X028 ENABLED
X052 ENABLED
X058 ENABLED
X066 ENABLED
X070 ENABLED
S071 ENABLED
SS71 ENABLED
X073 ENABLED
X0DX ENABLED
X0E7 ENABLED
X0F3 ENABLED
X13E ENABLED
X1C5 ENABLED
X222 ENABLED
X322 ENABLED
X33E ENABLED
S3C4 ENABLED
X422 ENABLED
X47B ENABLED
X622 ENABLED
X71A ENABLED
X804 ENABLED
X806 ENABLED
X80A ENABLED
X81A ENABLED
X91A ENABLED
X9FB ENABLED
XB37 ENABLED
XC1A ENABLED
XD1A ENABLED
XD37 ENABLED
XE37 ENABLED
XEC6 ENABLED
XXC6 ENABLED
X456 ENABLED
/D SLIP=X80A
(2)
IEE735I 11.05.58 SLIP DISPLAY 696
ID=X80A,NONPER,ENABLED
ACTION=NOSVCD,NOSYSU,SET BY CONS INTERNAL,RBLEVEL=ERROR,COMP=80A
위의 예에서,
(1) 전체적인 slip의 상태를 확인하고,
(2) 그 중 특정한 SLIP의 자세한 내용을 확인한다.
60
© IBM Corporation 2007
IBM Global Services
SLIP Operation - SL SET
SLIP SET
 SLIP을 start하기 위한 command 이다.
/SL SET,options
자세한 option은 다음 장에 확인한다.
61
© IBM Corporation 2007
IBM Global Services
SLIP options
SLIP options(1)
ACTION|A=SVCD/IGNORE/NODUMP/NOSUP/STDUMP/TRACE/TRDUMP/WAIT
SVCD : SVC Dump (default)
- ASIDLIST|AL=(id,id) : id=asid/CURRENT/HASID/PASID/SASID
- LIST|LS=(start,end) : storage start & end addr ranges
- SDATA|SD=(ALLPSA,NUC,RGN,CSA,LPA,SQA,SUM,TRT) : dump area
- SUMLIST|SL=(start,end) : storageaddr in SUMMARY dump
TRACE : Trace into GTF (GTF: TRACE=SLIP, IPCS: GTF SLIP is required)
- TRDATA|TD=(STD,REGS,start,end) : trace data
ODUMP : Suppress SVCDUMP, SYSABEND, SYSUDUMP, or SYSMDUMP
NOSUP : Don't suppress DUMP (by DAE etc.)
NOSVCD : Suppress all SVC dump
NOSYSA/NOSYSM/NOSYSU : Suppress SYSABEND/SYSMDUMP/SYSUDUMP
RECORD : Force SYS1.LOGREC recording for every recovery (ex. ABEND)
RECOVERY : Initiate recovery process with ABEND '06'F at PER events
STDUMP : SLIP system trace records when ENABLED, & SVCDUMP at DISABLED
STRACE : Create SLIP system trace records
TRDUMP : Trace records while ENABLED, & SVCDUMP when DISABLED
WAIT : Put system into STOP by msg IEE837I until 'U' is replied.
If console is unavailable, system enters Restartable-Wait '01B'
ADDRESS|AD=(start,end): Instruction address range(invalid for IF or SB)
ASID|AS=(id) : Address space ID selection
ASIDSA|ASA=(id) : ASID of storage being Altered (SA) - PER
COMP|C=code : Completion code (eg. 001, X23, U1021), <REASON=code>
DATA|DA=(target,op,value): Storage or GPR data to be compared for match
target : virtual address, GPR-x (xR), Indirect address (%)
op
: EQ(Equal), NE(Not Equal), GT(Greater Than), LT(Less Than),
NG(Not Greater Than), NL(Not Less Than)
Value
: Hex Digits (Max 4 bytes) (right justified for GPR) or
Binary Bits if Bit position is specified in target
ex) DA=(A24,EQ,3CA79) : Compare 2 & a half byte at loc. A24
DA=(5R(0),010) : Compare GPR-5 Bit 0 through 2 with B'010'
DA=(1R,EQ,4,AND,(2R,NE,8,OR,3R,EQ,C)) : GPR contents
62
© IBM Corporation 2007
IBM Global Services
SLIP options
SLIP options(2)
DISABLE|D : Initially Disabled the TRAP (Enter 'SL MOD,ENABLE,ID=xxxx')
DSPNAME=(asid.name) : ASID & DATA-Space name to be included in SVCDUMP
DSSA=(asid.name) : ASID & DATA-Space name to be trap storage alter (SA)
ENABLE|EN : Initially Activate the TRAP (default is Enable)
END|E : End of SLIP command specification
ERRTYP|ER=PROG/REST/SVCERR/PGID/DAT/MACH/MEMTERM/ABEND/ALL
ID=xxxx : SLIP ID (default is system assigned sequential 4 digits)
JOBNAME|J=jobname : Specific jobname selection
JSPGM|JS=pgmname : Jobstep program name in control
LPAMOD|L=(modname,start,end) : LPA module name to be monitored
LIST|LS=(start,end,start,end) : SVC dump address range
MATCHLIM|ML=n : TRAP is to be Disabled after 'n' matches (n=1-65535)
default is for ACTION=SVCD is 1, and infinite for others
MODE|M=ANY/DIS/GLOC/GLOCSD/GLOCSP/HOME/LLOC/LOCK/PKEY/PP/
RECV/SKEY/SRB/SUPER/SUPR/TCB/TYP1/ALL
NUCMOD|N=(modname,start,end) : Module in NUCLEUS to be monitored
PRCNTLIM|PL=p : max percentage of PER after 33.55 sec. (default=10)
PSWASC|(H|P|S) : PSW address space control mode
PVTMOD|P=(modname,start,end) : Private area load module name
RANGE|RA=(start,end) : For PER trap, addr of target virtual storage
RBLEVEL|RB=ERROR/PREVIOUS/NOTSVRB : Which RB's Regs for indirect addr
REMOTE=(SYSLST=(sysxxx,..)) : XCF system ID list for the action
SUMLIST|SL=(start,end) : Storage data to be included in SUMMARY dump
TRDATA|TD=(STD,REGS,start,end) : start,end is storage address range
63
© IBM Corporation 2007
IBM Global Services
SLIP Operation - SL MOD
SLIP MOD
 SLIP을 disable시키거나, 또는 disable된 SLIP을 enable시킬 때 사용하는 command
이다.
/D SLIP=X80A
IEE735I 11.05.58 SLIP DISPLAY 696
ID=X80A,NONPER,ENABLED
(1)
ACTION=NOSVCD,NOSYSU,SET BY CONS INTERNAL,RBLEVEL=ERROR,COMP=80A
/SL MOD,D,ID=X80A
(2)
/D SLIP=X80A
IEE735I 11.12.40 SLIP DISPLAY 702
ID=X80A,NONPER,DISABLED
(3)
ACTION=NOSVCD,NOSYSU,SET BY CONS INTERNAL,RBLEVEL=ERROR,COMP=80A
/SL MOD,EN,ID=X80A
(4)
/D SLIP=X80A
IEE735I 11.13.38 SLIP DISPLAY 713
ID=X80A,NONPER,ENABLED
(5)
위의 예에서,
(1) 현재 enable되어 있는 slip을
(2) Disable 시킨 후,
(3) 확인하고,
(4) Enable 시킨 후,
(5) 확인한다.
64
© IBM Corporation 2007
IBM Global Services
SLIP Operation - SL DEL
SLIP DEL
 SLIP을 제거할 때 사용하는 command 이다.
/D SLIP
IEE735I 11.16.51 SLIP DISPLAY 715
ID
STATE
ID
STATE
ID
STATE
ID
STATE
ID
STATE
X013 ENABLED
X028 ENABLED
X052 ENABLED
X058 ENABLED
X066 ENABLED
X070 ENABLED
S071 ENABLED
SS71 ENABLED
X073 ENABLED
X0DX ENABLED
X0E7 ENABLED
X0F3 ENABLED
X13E ENABLED
X1C5 ENABLED
X222 ENABLED
X322 ENABLED
X33E ENABLED
S3C4 ENABLED
X422 ENABLED
X47B ENABLED
X622 ENABLED
X71A ENABLED
X804 ENABLED
X806 ENABLED
X80A ENABLED
X81A ENABLED
X91A ENABLED
X9FB ENABLED
XB37 ENABLED
XC1A ENABLED
XD1A ENABLED
XD37 ENABLED
XE37 ENABLED
XEC6 ENABLED
XXC6 ENABLED
(1)
X456 ENABLED
/SL DEL,ID=XD37
(2)
IEE727I SLIP TRAP ID=XD37 DELETED
/D SLIP
IEE735I 11.17.47 SLIP DISPLAY 724
ID
STATE
ID
STATE
ID
STATE
ID
STATE
ID
STATE
X013 ENABLED
X028 ENABLED
X052 ENABLED
X058 ENABLED
X066 ENABLED
X070 ENABLED
S071 ENABLED
SS71 ENABLED
X073 ENABLED
X0DX ENABLED
X0E7 ENABLED
X0F3 ENABLED
X13E ENABLED
X1C5 ENABLED
X222 ENABLED
X322 ENABLED
X33E ENABLED
S3C4 ENABLED
X422 ENABLED
X47B ENABLED
X622 ENABLED
X71A ENABLED
X804 ENABLED
X806 ENABLED
X80A ENABLED
X81A ENABLED
X91A ENABLED
X9FB ENABLED
XB37 ENABLED
XC1A ENABLED
XD1A ENABLED
XE37 ENABLED
XEC6 ENABLED
XXC6 ENABLED
X456 ENABLED
(3)
위의 예에서
(1) 현재 있는 SLIP XD37을
(2) 제거하고,
(3) 확인한다.
65
© IBM Corporation 2007
IBM Global Services
SLIP 예
SLIP으로 dump 받기
 ABEND가 발생할 때 dump가 발생하지 않으면 SLIP command을 이용해 Dump를
받는다.
 다음 SLIP command를 이용한다.
SLIP SET,A=SVCD,C=04E,J=CICSAOR3,JL=(DSNP*,CICSAOR3),END
(1)
SLIP SET,A=SVCD,C=04E,J=DSNPDBM1,AL=(CU,P,H,S),END
(2)
위의 예에서,
(1) CICSAOR3에서 ABEND04E가 발생하면,
DSNPMSTR, DSNPDBM1, DSNPIRLM등과 CICSAOR3를 받아 낸다.
(2) DSNPDBM1에서 ABEND04E가 발생하면,
current ASID, primary ASID, home ASID, secondary ASID를 받아낸다.
66
© IBM Corporation 2007
IBM Global Services
SLIP 예
특정 reason code에 대해 dump 받기
 특정 reason code에 대해서 Dump가 필요할 경우, SLIP command을 이용해 Dump를
받는다.
 다음 SLIP command를 이용한다.
SLIP SET,A=SVCD,C=04E,DATA=(15R,EQ,00C90101),JL=(DSNPMSTR,DSNPDBM1,
DSNPDIST,DSNPSPAS),END
위의 예에서,
ABEND04E, RC=00C90101이 발생했을 때, DB2 관련 address space들의 Dump를
받아낸다. Manual 상에 REASON= 이라는 parameter도 있으나 작동하지 않는 경우도
있다.
67
© IBM Corporation 2007
IBM Global Services
SLIP 예
특정 message에 대해 dump 받기
 특정 message에 대해서 Dump가 필요할 경우, SLIP command을 이용해 dump를
받는다.
 다음 SLIP command를 이용한다.
SLIP SET,IF,LPAMOD=(IGC0003E,0),DATA=(1R?+4,EQ,C4E7D9F1,+8,EQ,F6F7C5),
A=SVCD,JL=(DSNPMSTR,DSNPDBM1,DSNPIRLM),END
위의 예에서,
DXR167E가 발생했을 때, DB2 관련 job들의 dump를 받아 내기 위해,
DXR167E를 EBCDIC code로 변환시키면 C4E7D9F1F6F7C5이 된다.
Manual 상에 MSGID= 이라는 parameter도 있으나 간혹 작동하지 않는 경우도 있다.
68
© IBM Corporation 2007
IBM Global Services
LOGREC(EREP)
LOGREC 또는 EREP
 모든 종류의 H/W, S/W type의 error가 기록되는 LOG 이다.
 DUMP가 발생하지 않거나 했을 상황에서 유일한 error 기록이 될 수도 있다.
 LOGREC은 다음과 같은 JCL을 이용해 계속 축적해 두어야 한다.
//EREP
JOB MSGLEVEL=(1,1),CLASS=A,REGION=4M
//EREPDALY EXEC PGM=IFCEREP1,PARM=('HIST,ACC=Y,SYSUM')
//ACCDEV
DD DSN=EREP.HISTORY,
//
DISP=(NEW,CATLG),
//
DCB=(RECFM=VB,BLKSIZE=4000),
//
UNIT=SYSDA,SPACE=(CYL,(25,5))
//DIRECTWK DD UNIT=SYSDA,SPACE=(CYL,15,,CONTIG)
//TOURIST
DD SYSOUT=A,DCB=BLKSIZE=133
//EREPPT
DD SYSOUT=A,DCB=BLKSIZE=133
//SYSABEND DD SYSOUT=A
//SYSIN
DD DUMMY
/*
69
© IBM Corporation 2007
IBM Global Services
LOGREC(EREP)
EREP printing
 다음과 같은 JCL을 이용해 print 한다.
//EREP
JOB MSGLEVEL=(1,1),CLASS=A,REGION=4M
//S1
EXEC PGM=IFCEREP1,PARM=(’DATE=(2003112,2003112)’,
//
‘TIME=(1300,1400)LINECT=60,ACC=Y,HIST=N,ZERO=N’,
//
‘PRINT=PS,TYPE=S')
//ACCIN
DD DSN=EREP.HISTORY,DISP=SHR
//SERLOG
DD DSN=SYS1.LOGREC,DISP=SHR
//TOURIST
DD SYSOUT=A,DCB=BLKSIZE=133
//EREPPT
DD SYSOUT=A,DCB=BLKSIZE=133
//SYSUDUMP DD SYSOUT=A
70
© IBM Corporation 2007
IBM Global Services
LOGREC(EREP)
EREP printing option
SD : Detail Summary
DR : Data Reduction
PS : Detail & Summary
PT : Detail
SU : Detail Summary
AL : All of above
NO : No Print
EREP printing type
A : Asynchronous Notify(SIM, ETR, ESCON, Link Incident)
C : CCH/SLH/CRW
D : DDR
E : EOD(End Of Day)
H : MIH(Missing Interrupt Handler)
M : MCH(Machine Check Handler)
I
: IPL Record
O : OBR(Out Bound Record)
S : Software
T : MDR(Miscellaneous Data Record)
X : IOS Record
71
© IBM Corporation 2007
IBM Global Services
DUMP suppression
DUMP suppression
72

원하지 않은 Dump는 System Resource를 낭비하지 않기 위해 Suppression하는
것이 좋다.

원하지 않은 Dump를 Suppress하는 경우는 다음과 같다.
1.
중복된 Dump :
이미 받은 Dump는 다시 받을 필요가 없으므로 DAE를 이용하여 Suppress 한다.
2.
특정 ABEND CODE 에 대한 Dump :
특정 ABEND CODE는 그 ABEND CODE 자체에 의미가 함축되어 있으므로
SLIP Command를 이용하여 Dump를 Suppress 한다.
3.
Application Program에서 발생하는 Dump :
어떤 Application Program에서 발생되는 ABEND Code에 대한 Dump는
ABEND Macro에 Dump Parameter를 주지 않음으로써 Dump를 Suppress 할 수
있다.
4.
Dumps the installation decide are not needed :
어떤 Dump가 필요 없다고 판단되면 Installation Exit Routine인
IEAVTABX나 IEAVTSEL을 사용함으로써 Dump를 Suppress할 수 있다.
© IBM Corporation 2007
IBM Global Services
DAE
Dump Analysis & Elimination
73

DAE(Dump Analysis and Elimination)는 이미 받은 Dump에 대해 Suppress 한다.

중복된 Dump라고 DAE가 판단하면 System은 더 이상 Dump를 받지 않고
System 성능향상을 기할 수 있다.

DAE는 중복된 Dump를 가려내고 Dump Suppression 하기 위해 Symptom String을
사용한다.

DAE는 다음과 같이 수행한다.
1.
DAE는 Abend Code, Failing Instruction, Component Name, Load Module Name,
그리고 CSECT Name등을 SDWA나 SYMREC으로 부터 Problem Data를 얻는다.
2.
DAE는 Problem Data의 각 Field에 Descriptive Keyword를 더함으로써
문제 Symptom을 형성한다.
3.
DAE는 Dump로부터 얻은 Symptom String을 이전 Dump의 Symptom String에
Match 시킬려고 시도한다.
4.
DAE는 Symptom String을 Storage에 먼저 Update하고 나중에 Update가 요청되면
DAE Data Set에 Update 한다.
5.
DAE는 Dump Suppression이 Enable되어 있으면 중복된 Dump를 Suppression한다.
© IBM Corporation 2007
IBM Global Services
DAE Operation
DAE 준비(1)

아래와 같은 PARMLIB member ADYSETxx 2개를 만든다.

본 예에서는 ADYSET00과 ADYSET01로 한다.
ADYSET00
DAE=START,RECORDS(400),
(1)
SVCDUMP(MATCH,SUPPRESSALL,UPDATE,NOTIFY(3,30)),
(2)
SYSMDUMP(MATCH,UPDATE)
(3)
ADYSET01
DAE=STOP
(4)
위의 예에서,
(1) DAE를 Start하고 400 개의 Symptom String을 Virtual Storage에 보관하고,
(2) SVC Dump는 Symptom String이 Match되면 Suppression 하고,
Match되지 않으면 Symptom String을 Update 하고,
(3) SYSMDUMP는 Suppression하지 않는다.
(4) DAE를 stop 시킨다.
74
© IBM Corporation 2007
IBM Global Services
DAE Operation
DAE 준비(2)

아래와 같은 JCL을 이용해 DAE dataset을 만든다.

Single System이면 Default Name인 SYS1.DAE를 사용하고,
SYSPLEX 환경이면 서로 다른 Name의 DAE Data Set을 사용한다.
//DAE
75
DD
DSN=SYS1.DAE,DISP=(,CATLG),VOL=(,RETAIN,SER=SG2001),
//
DCB=(RECFM=FB,LRECL=255,DSORG=PS,BLKSIZE=0),
//
UNIT=3390,SPACE=(TRK,(6,2)
© IBM Corporation 2007
IBM Global Services
DAE Operation
DAE start/stop

Console에서 아래의 command들을 이용해, 미리 만들어 둔 PARMLIB의
ADYSET member들을 activate 시킨다.
/T DAE=00
/T DAE=01
76
© IBM Corporation 2007
IBM Global Technology Services
IMS
김호식 [email protected]
IBM Global Services
IMS 목차
IMS DUMP 개요 ………………………………………………………… 79
IMS DUMP Setup 권고사항 …………………………………………… 80
78
CQS Setup 권고사항 ……………………………………………………
82
IMS 문제분석을 위한 기본 자료 ………………………………………
83
IMS 문제 유형과 필요 자료 ……………………………………………
86
© IBM Corporation 2007
IBM Global Services
IMS DUMP 개요
- DUMP는 IMS가 수행하면서 ABEND가 발생하면 그 당시 일정 Storage부분과 PSW
그리고 그 당시 Register값을 받아 저장하는 것을 의미한다. 그리고 일정한 때에
Storage부분을 강제로 받아낼 수 있다. Dump해 내는 부분은 Dump Option의 영향을
받는다.
- IMS ABEND는 Standard ABEND와 PSEUDO ABEND로 구분된다.
Standard ABEND :
대부분의 IMS ABEND는 Standard ABEND이며(EX. ABENDU0757) Dump는
SYS1.DUMPxx또는 SYSABEND/SYSUDUMP DD에 받고 대부분이 Control 또는
Dependent Region이 Down된다.
PSEUDO ABEND :
PSEUDO ABEND는 Down은 되지 않고 그 Task는 Scheduling을 다시 하며 Dump는
OLDS(Log Record Type: 67FF)에 기록된다. ABENDU0777이 PSEUDO ABEND의
한 예이다.
79
© IBM Corporation 2007
IBM Global Services
IMS DUMP Setup 권고사항
- FMTO option
o IMS control region EXEC parm value : FMTO=D
ABEND시 SDUMP를 발생시킨다.
o SYS.DUMPxx에 DUMP가 기록되며 적어도 다음과 같은 Option이 필요하다.
CHNGDUMP Command로 Option을 바꿀 수도 있고 SYS1.PARMLIB의 Member
COMMANDxx나 IEACMDxx에 CHNGDUMP Command를 넣어놓으면 항상 이
Option이 유효하다.
SDUMP=(CSA, LSQA, RGN, SQA, SUM, SWA, TRT)
- SYSUDUMP
o IMS Dependent Region이 ABEND되면 DUMP는 SYSUDUMP DD Card에
기록된다.
o 다음과 같은 Option이 필요하다.
SDATA=(CB, ERR, SUM) PDATA=(JPA, LPA, PSW, REGS, SA, SPLS)를
SYS1.PARMLIB Member IEADMP00에 넣어 놓거나 CHNGDUMP Command로 이
Option을 바꿀 수도 있고 Display Dump Command로 현재의 Option을 Display해
볼 수 있다.
- SYSMDUMP
o 다음의 Region JCL에 SYSMDUMP DD를 지정할 수 있다.
IMS Control Region
IMS DLI/SAS Region
IMS DBRC Region
o SDUMP가 실패 시 IMS가 SYSMDUMP DD지정을 이용한다.
o SYS1.PARMLIB의 Member IEADMR00에
SDATA=(CSA,LSQA,RGN,SQA,SUM,SWA,TRT)로 Dump Option을 Setting한다.
CHNGDUMP Command로 이 Dump Option을 바꿀 수도 있고, Display Dump
Command로 현재의 Option을 Display해 볼 수 있다.
80
© IBM Corporation 2007
IBM Global Services
IMS DUMP Setup 권고사항
- PSEUDO ABEND
IMS가 수행 중에 PSEUDO ABEND가 되면 그 Task는 다시 Scheduling되고 Dump는
OLDS(Log Record Type: 67FF)에 기록된다. Utility를 이용하여 Print한다.
- Table Traces
o IMS Dispatcher, Scheduler, DLI and Lock traces
IMS Proclib Member DFSVSMxx에 다음의 option을 지정한다.
DISP=ON,SCHD=ON,DL/I=ON,LOCK=ON
또는 IMS command “/TRA SET ON TABLE nnnn”을 사용한다.
(nnnn=DISP, SCHD, DLI and LOCK)
o LATCH trace는 필요 시 지정하며 약 10%의 overhead 가 있다.
- External Trace Environment
o IMS trace output이 IMS OLDS가 아니라 IMS trace dataset에 write 된다.
DFSVSMxx proclib member 에 DISP=OUT option 지정한다.
IMS TRACE command 시 LOG option 지정한다.
o External trace dataset은 다음순서로 allocation 된다.
1. DASD JCL : DFSTRA01 & DFSTRA02 DDNAMES
2. DASD MDA : DFSTRA01 & DFSTRA02 Dyanamic Allocation Members
3. TAPE MDA : DFSTRA0T Dynamic Allocation Member
4. IMS OLDS : 상기 1,2,3 이 발견이 안될 경우
81
© IBM Corporation 2007
IBM Global Services
CQS Setup 권고사항
- Trace Environment
o CQS execution parameter BPECFG=nnnnnnnn 지정한다
o BPECFG=nnnnnnnn proclib member내에 다음의 trace entry를 지정한다.
--DEFINITIONS FOR BPE SYSTEM TRACES
TRCLEV=(AWE,LOW,BPE)
/* AWE SERVER TRACE
*
TRCLEV=(CBS,LOW,BPE)
/* CONTROL BLK SRVCS TRACE *
TRCLEV=(DISP,LOW,BPE)
/*
TRCLEV=(LATC,LOW,BPE)
/* LATCH TRACE
*
TRCLEV=(SSRV,LOW,BPE)
/*
*
TRCLEV=(STG,LOW,BPE)
/* STORAGE TRACE
TRCLEV=(USRX,LOW,BPE)
/* USER EXIT TRACE
*
TRCLEV=(CQS,LOW,CQS)
/* CQS GENERAL TRACE
*
TRCLEV=(STR,LOW,CQS)
/* CQS STRUCTURE TRACE
*
TRCLEV=(INTF,LOW,CQS)
/* CQS INTERFACE TRACE
*
DISP WITH 12 PAGES (48K)
GEN SYS SERVICES TRACE
*
*
--DEFINITIONS FOR CQS TRACES
82
© IBM Corporation 2007
IBM Global Services
IMS 문제 분석을 위한 기본 자료
- MVS Console (Syslog)
o System 관련 Message를 보기 위해 필요하다.
The ideal time frame: Back to the last IMS restart.
The moderate time frame: 24 hours of MVS Console messages.
The minimum time frame: Two IMS system checkpoint intervals.
- JES JOBLOG
o Job 관련 Message를 보기 위해 필요하다.
Save the JES JOBLOGs for
The IMS Control Region
The IMS DLI/SAS Region
The IMS DBRC Region
Any suspicious IMS Dependent Regions
CQS Regions
The ideal time frame:
JES JOBLOG from the current error execution
JES JOBLOG from the prior clean execution (For comparison)
The moderate time frame:
24 hours of JES JOBLOG
The minimum time frame:
Two IMS system checkpoint intervals or two hours, whichever is greater.
83
© IBM Corporation 2007
IBM Global Services
IMS 문제 분석을 위한 기본 자료
- IMS Master Console Log
o IMS 관련 Message를 보기 위해 필요하다.
The ideal time frame:
IMS Master Console Log from the current error execution
IMS Master Console from the prior clean execution (For comparison)
The moderate time frame:
24 hours of IMS Master Console
The minimum time frame:
Two IMS system checkpoint intervals or two hours, whichever is greater.
- SYS1.LOGREC
o 내부적으로 logging 된 System Failure를 보기 위해 필요하다.
The ideal time frame: Back to the last IMS restart.
The moderate time frame: 48 hours of SYS1.LOGREC data.
The minimum time frame: Current SYS1.LOGREC dataset.
- DUMP
o 모든 IMS 관련 DUMP는 보관한다.
- IMS OLDS/SLDS
o IMS LOG 분석이 필요 시를 대비하여 보관한다.
The ideal time frame: From the time last IMS restart / Prior execution
The moderate time frame: 24 hours of IMS Log Records
The minimum time frame: Active IMS OLDS
84
© IBM Corporation 2007
IBM Global Services
IMS 문제 분석을 위한 기본 자료
- 추가자료
o IMS Hang인 경우 과거의 경험에 의하면 아래와 같은 많은 Address Space가
관련되어 발생한다.
IMS Control Region
IMS DLI/SAS Region
DBRC Region
Troublesome IMS Dependent Regions
IRLM Region
CCTL Regions
APPC
VTAM
ESAF - DB2, MQSeries, others
Other Regions ???
Other IMSplex members
85
© IBM Corporation 2007
IBM Global Services
IMS 문제 유형과 필요 자료
- IMS SYSPLEX DUMP
o IMSplex의 한 member의 문제는 다른 member에서 발생한 문제가 원인일 수
있다. 따라서 IMS Wait/Loop 또는 일부 Function 이상과 같은 문제일 경우
IMSplex 내의 타 member에서도 DUMP를 받아야 한다.
- Control Region Wait/Hang
o Control Region 포함하여 관련 Address Space에 대한 Dump를 받는다.
- IMS Loop
o MVS System trace table size를 999k로 확장한다.
TRACE ST,999k,BR=ON
o IMS trace 를 command를 이용해 on 시킨다.
/TRA SET ON TABLE nnnn (where nnnn=DISP, SCHD, DLI, LOCK and LATCH)
o 관련 IMS region의 DUMP를 받는다.
- ESAF (External Subsystem Attach Facility) Interface 문제
o IMS SUBS TRACE를 active 시킨다.
/TRA SET ON TABLE SUBS OPTION LOG
o 문제를 재발시켜 관련 region의 DUMP를 받는다.
- DBRC 관련 문제
o Repair 전에 DBRC RECON의 List를 확보한다.
Recover Control Utility (DSPURX00) – LIST.RECON command
o 만약 위의 List를 얻을 수 없으면 Subsystem List를 확보한다.
LIST.SUBSYS ALL command
o 만약 문제 재발이 가능하면 RECON의 전후 copy를 확보한다.
86
© IBM Corporation 2007
IBM Global Services
IMS 문제 유형과 필요 자료
- DBCTL 관련 문제
o IMS command “/DISPLAY ACTIVE” 와 “/DISPLAY CCTL” 를 수회 issue 한다.
o AP portion of the CICS trace to level 1-2 를 지정한다.
o FC (File Control) portion of the CICS trace to level 1-2 를 지정한다.
o 관련 IMS region, CCTL region 의 DUMP 를 받는다.
- DC 관련 문제
o IMS DISPLAY NODE x command 를 issue 한다.
/DIS NODE nodename
o IMS NODE TRACE 를 on 시키며 output 은 TYPE6701 log record 에 write 된다.
/TRA SET ON NODE nodename
o VTAM Buffer & VTAM Internal Trace 를 함께 on 시킨다.
이때 GTF 는 USR option 으로 active 되어 있어야 한다.
F NET,TRACE,TYPE=BUF,ID=nodename
F NET,TRACE,TYPE=VTAM,MODE=EXT,OPT=(API,PIU,MSG)
o 관련 IMS region 및 VTAM 의 DUMP 를 받는다.
- IMS TPIPE & OTMA traces
o /TRA SET ON TMEMBER tmembername TPIPE ALL
/TRA SET ON TABLE OTMT OPTION LOG
- CQS 관련 문제
o 기본자료 외에 다음의 추가 자료가 필요하다.
MVS LOG Stream (IMS Shared Queue 관련 문제시)
관련 CQS region DUMP
CQS Structure DUMP (IMS wait, CQS wait, restart & structure rebuild 문제시)
Dump 된 structure 의 가장 최근 CQS SRDS (Structure Recovery Data Set)
87
© IBM Corporation 2007
IBM Global Technology Services
CICS
나미경 [email protected]
IBM Global Services
CICS 목차
CICS DUMP ……………………………………………………………… 90
89
CICS Trace ……………………………………………………………
96
CICS 문제 유형과 필요 자료 …………………………………………
106
© IBM Corporation 2007
IBM Global Services
CICS DUMP – Transaction Dump (1)
CICS 수행 중, 오류발생시 종류와 User 가 정의한 것에 따라 Transaction Dump 와
System Dump dataset을 사용한다. IPCS를 사용한 dump 분석을 위해서는 System
Dump data set 을 받도록 해야 한다.
1) CICS Transaction Dump data set 할당
CICS는 Dump의 종류에 따라 z/OS의 SYS1.DUMPnn 및 CICS 자체의 DUMP
dataset이 필요하다. System Dump data set 은 z/OS에서 지정한 data set 을 사용
하게 되고, Transaction Dump dataset 은 CICS에서 제공하는 DFHDEFDS Job을
이용하여 고객의 실정에 맞게 수정한다.
//DFHDMPA
//
DISP=(NEW,CATLG),SPACE=(CYL,(5,1))
//DFHDMPB
//
DD DSN=CICSTS12,applid.DFHDMPA,UNIT=3380,VOL=SER=volid,
DD DSN=CICSTS12,applid.DFHDMPB,UNIT=3380,VOL=SER=volid,
DISP=(NEW,CATLG),SPACE=(CYL,(5,1))
2) CICS Transaction Dump data set을 사용하기 위해 Startup JCL에 DD statement로
정의
//DFHDMPA DD DSN=CICSTS.applid.DFHDMPA,DISP=SHR
//DFHDMPB DD DSN=CICSTS.applid.DFHDMPB,DISP=SHR
3) CICS Transaction Dump data set 사용하기 위한 제어 Command
CICS DUMP data set 조회 Command
CEMT INQ DUMPDS
Dump data set이 open 되어 있는지 여부와, DFHDMPA와 DFHDMPB중 어느 것이
사용하고 있는지를 확인할 수 있다.
CEMT Set DUmpds [Open | CLosed | Switch]
[Autoswitch | Noautoswitch]
Dump data set의 switch , open 및 close 한다.
90
© IBM Corporation 2007
IBM Global Services
CICS DUMP – Transaction Dump (2)
4)
Transaction Dump 제어 command
< 이미 정의되어있는 내용 조회>
CEMT INQ
TRDUMPCODE[(CODE)]
[ALL]
[TRANDUMP | NOTRANDUMP]
[SHUTDOWN | NOSHUTDOWN]
[MAXIMUM(value)]
[CURRENT(value)]
< Table 에 정의>
CEMT SET TRDUMPCODE[(CODE)]
[ALL]
[TRANDUMP | NOTRANDUMP] : 해당 code에 맞는 ABEND 내용을 System dump로 저장 할
것인지 여부 결정
[SHUTDOWN | NOSHUTDOWN] : tran dump가 발생하였을 때, cics를 shut-down할 것인지 여부
결정
[MAXIMUM(value)]
: 해당 code에 대한 transaction dump를 허락하는 최대수
[RESET|REMOVE|ADD] : 기존 Table 에서 제거/추가/변경
<Command 사용 예>
CEMT INQ TRDUMPCODE
STATUS : RESULTS - OVERTYPE TO MODIFY
Trd( AEIN ) Tra Max( 999 ) Cur(0003)
Trd( ARCH )
Sys Max( 005 ) Cur(0002)
Trd( ASRA ) Tra Max( 010 ) Cur(0001)
Trd( ASRB ) Tra Max( 005 ) Cur(0000)
Trd( ATNI )
Max( 000 ) Cur(0047)
Trd( MARD ) Tra Sys Shu Max( 001 ) Cur(0000)
Trd( GONE )
91
Shu Max( 005 ) Cur(0000)
© IBM Corporation 2007
IBM Global Services
CICS DUMP – Transaction Dump (3)
5)
Transaction Dump format(Print) 하는 방법
IPCS 가 아닌 text format 으로 DUMP 내용을 Print 하여 분석이 필요할 시 사용한다.
CICS Utility programm인 DFHDUP(CICS/ESA V4.1 이하), DFHDU410(V4.1인경우) ,
DFHDU520(TS 1.2인경우) 을 이용하여 시간별, Dump code별, Transaction id별,
Dump id별로 Dump 를 print 할 수 있다
< Transaction Dump print JCL>
//PRNTDMP JOB accounting information,name,MSGLEVEL=(1,1),CLASS=A
//
MSGCLASS=A,REGION=1024K
//JOBLIB DD DSN=CICSTS12.SDFHLOAD,DISP=SHR
// EXEC PGM=DFHDU520,PARM='command,command,…'
//DFHDMPDS DD DSN=CICSTS12.applid.DFHDMPA,DISP=SHR
//DFHTINDX DD SYSOUT=A
//DFHPRINT DD SYSOUT=A,DCB=(BLKSIZE=133)
//SYSIN DD *
SELECT TYPE=OR
(selection paramenter)
………
END
/*
<SYSIN 제어 statement>
SELECT TYPE=OR|NOTOR|AND|NOTAND|SCAN : SCAN은 dump를 생성하지 않고 요약된 내용만
DFHTINDX 또는
SYSPRINT에 출력
TRANID=(value|generic-value, value|generic-value,…) : 해당 transaction id 선택
DUMPCODE=(value|generic-value, value|generic-value,…) : 해당 transaction dump code 선택
DUMPID=(value|value-range,value|value-range,…) : 해당 dump id 선택
PAGESIZE=(value)
: page의 line 수
TIME=(time|time-range,time|time-range)
: 원하는 시간대
<EXEC statement PARM option>
DOUBLE|SINGLE
: line space 결정
TRANSLATE=LC|FOLD|UC
: 출력문자의 선택
LC는 소문자는 소문자로 그리고 대문자는 대문자로 출력.
FOLD는 소문자는 대문자로 변환 출력
UC는 대문자만 출력
92
© IBM Corporation 2007
IBM Global Services
CICS DUMP – System Dump (1)
1)
DUMP Table
ABEND CODE에 따라 System Dump 및 CICS Transaction Dump로 DUMP를 발생시킬
수 있는 조건을 지정하여 제어할 수 있다. 이러한 조건들을 RDO를 이용하여 DUMP
Table로 정의 하고, CICS Global Catalog에 Save 되어 있다. 다음의 Command에 의해
Dump를 생성시키거나, 중지시키거나 Dump를 추가시킬 수 있다.
2)
System Dump 제어 Command
< 이미 정의되어있는 내용 조회>
CEMT INQ
TRDUMPCODE[(CODE)]
[ALL]
[TRANDUMP | NOTRANDUMP]
[SHUTDOWN | NOSHUTDOWN]
[MAXIMUM(value)]
[CURRENT(value)]
< Table 에 정의>
CEMT SET SYDUMPCODE[(CODE)]
[ALL]
[SYSDUMP | NOSYSDUMP] :해당 code에 맞는 ABEND 내용을 System dump로 저장 할 것인지
여부 결정
[SHUDOWN | NOSHUTDOWN] :system dump가 발생하였을때 cics를 shut-down할 것인지 여부
결정
[MAXIMUM(value)] :해당 code에 대한 system dump를 받을 수 있는 최대 횟수
[RESET|REMOVE|ADD] : 기존 Table 에서 제거/추가/변경
CODE Parameter에는 CICS Message DFH××××× 중 xxxxxx 부분을 지정한다.
<Command 사용 예>
CEMT INQ SYDUMPCODE
STATUS : RESULTS - OVERTYPE TO MODIFY
Syd( AP0001 ) Sys Max( 000 ) Cur(0002)
Syd( SM0102 ) Sys Max( 001 ) Cur(0002)
Syd( FC0005 ) Sys Max( 000 ) Cur(0002)
Syd( EILEEN ) Sys Max( 000 ) Cur(0002)
93
© IBM Corporation 2007
IBM Global Services
CICS DUMP – System Dump (2)
3)
SIT 의 지정
DUMP = YES|NO
: System Dump를 받을 것 인가의 여부
YES : CICS System dump table에 NOSYSDUMP 지정이 되어 있지 않으면 System dump를 받는다.
NO : System dump를 받지 않는다.
DUMPDS=AUTO|A|B
: Transaction dump dataset 의 지정.
AUTO : 전 CICS가 사용하고 있지 않은 data set을 open한다.
A : DFHDUMPA를 open한다.
B : DFHDUMPB를 open한다.
DUMPSW=NO|NEXT
: Transaction dump dataset를 자동적으로 switch 할 것인지 여부 결정
NO : Data set이 full되면 console에 message가 출력되므로 Command에 의해 switch할 수 있다.
YES : full이 되면 자동적으로 다음 data set으로 교환된다.
4) CICS Region DUMP를 manual로 받는 방법
CEMT PERFORM DUMP|SNAP TITLE(XXX)
의도적으로 CICS SYSTEM dump를 받고자 할 때 사용하는 command 로, 이 command 에 의해
발생되는 CICS Region DUMP 는 z/OS System Dump data set 에 저장 된다.
CICS는 계속 수행되며 Command 처리 중 CICS내의 User Task는 non-dispatchable 이 된다.
XXX는 최대 32문자까지 입력할 수 있다. 덤프 받는 효과는 z/OS 의 DUMP command 와 동일함.
< CICS 종료 시키면서 CICS Region dump를 받고자 할 때>
CEMT PERFORM SHUTDOWN DUMP
< CICS User Application Program 을 이용하여 CICS Region 을 System Dump 로 받고자 할 때>
EXEC CICS DUMP SYSTEM
< CICS User Application Program 을 이용하여 CICS Region을 Transaction Dump로 받고자 할 때>
EXEC CICS DUMP TRANSACTION
94
© IBM Corporation 2007
IBM Global Services
CICS DUMP – System Dump (3)
<SYSTEM DUMP를 PRINT 하는 방법>
IPCS 모듈을 이용 하여 batch Job으로 출력 할 수 있으며, 또한 TSO를 이용 하여
online 으로 dump를 분석 할 수 있다. batch job으로 출력된 output 은 매우 많고,
분량이 매우 많아 분석하기 매우 어렵기 때문에 권장되지 않는 방법이다.
!!! Transaction DUMP는 제한적인 Data 만을 가지고
있어 Debugging 하는데 한계가 있으므로 문제분석을
위해서는 System Dump를 확보하는 것이 중요합니다.
95
© IBM Corporation 2007
IBM Global Services
CICS Trace
1) CICS Trace를 위한 사전 준비 작업
(1-1) SIT 설정
System initialization parameter에 설정하여 CICS가 시작할 때부터 trace를 수집할 수
있고, 또한 trace를 어디로 출력할 것인가를 설정할 수 있다. 다음과 같은 Parameter를
다음과 같이 나눌 수 있다.
a) Internal trace : CICS Dump 내에 기록되어 IPCS 로 format 하여 분석
INTTR=ON/OFF
: CICS startup시 internal trace를 on, off할 것인가 결정
TRTABSZ=16/nnn
: Internal trace table size 정의 (KB)
SYSTR=ON/OFF
: CICS system activity를 trace할 것인가 아닌가를 결정
USERTR=ON/OFF
trace를
:User program에서 EXEC CICS ENTER TRACENUM를 이용하여
사용하게 할 수 있게 할 것인가 아닌가를 결정
STNTR=1/(1,2)/(1,2,3)/ALL/OFF : Standard trace의 level를 설정
SPCTR=1/(1,2)/(1,2,3)/ALL/OFF : 특정 transaction, terminal 또는 동시에 trace를 하고자할 때
별도의
Level을 설정
b) Auxiliary trace : 특정 Transaction 이나 Terminal 에 대한 내용만 별도로 tracing
하고자 할 때 이용
AUXTR=ON/OFF
: cics가 시작할 때부터 auxiliary trace를 받을 것인가 아닌가를 결정
AUXTRSW=NO/ALL/NEXT
번째의 data
: NEXT - 첫 번째 data set이 full이 되면 data set이 close되고 두
set이 한번에 한해서 open된다.
ALL - 연속으로 data set이 자동적으로 switch된다.
c) GTF trace
GTFTR=ON/OFF : cics가 시작할 때부터 GTF trace를 받을 것인가 아닌가를 결정
d) SYSIN, PARM 또는 CONSOLE에서 변경할 수 있다.
96
© IBM Corporation 2007
IBM Global Services
CICS Trace
e) SIT와 다음의 PARAMETER 추가
STNTRxx = 1/(1,2)/(1,2,3)/ALL/OFF
SPCTRxx = 1/(1,2)/(1,2,3)/ALL/OFF
xx : Domain ID
(1-2) CETR transaction 을 사용한 trace 관리
CETR command 는 console 에서 사용 할 수 없으며, CETR만 치면 아래와 같은
화면이 나타나게 되며 원하는 것을 선택하면 된다. PARAMETER에 의해서 TRACE를
제어할 수 있으며, dynamic하게 trace를 제어할 수 있다.
Type in your choices.
Item Choice Possible choices
Internal Trace Status ==> STARTED STArted, STOpped
Internal Trace Table Size ==> 100
K 16K-1048576K
Auxiliary Trace Status ==> STOPPED STArted, STOpped, Paused
Auxiliary Trace Dataset ==> A A, B
Auxiliary Trace Status ==> NEXT NO, NExt, All
GTF Trace Status ==> STOPPED STArted, STOpped
Master System Trace Flag ==> ON ON, OFf
Master User Trace Flag ==> ON On, OFf
When finished, press ENTER.
PF1=Help 3=Quit 4=Components 5=Ter/Trm 9=ErrorList
97
© IBM Corporation 2007
IBM Global Services
CICS Trace
a) CETR TRASACTION – Trace 되는 COMPONENT 별 지정
앞의 화면에서 PF4를 선택하면, 각 domain의 trace point의 level를 standard 및
special별로 선택할 수 있다. 특별한 경우가 아닌 경우에는 level 이 1이면 충분하다.
Component
AP
98
Standard
Special
1
1-2
BF
1
1
BM
1
1
CP
1
1-2
DC
1
1
DI
1
1
DM
1
1-2
DS
1
1-2
DU
1
1-2
MN
1
1-2
PA
1
1-2
PC
1
1
SC
1
1
SM
1
1-2
SP
1
1
ST
1
1-2
TC
1
1-2
TD
1
1
TI
1
1-2
TR
1
1-2
TS
1
1
TS
1
1
UE
OFF
1
© IBM Corporation 2007
IBM Global Services
CICS Trace
b) CETR COMPONENT ABBREVIATIONS
AP … Application domain
BF … Built-in function
BM … Basic Mapping Support
Cp … CIP-C interface
DC … Dump compatibility layer
DI … Batch data interchange
DM … Domain manager domain
DS … Dispatcher domain
DU … Dump domain
EI … Exec interface
FC … File control
GC … Global Catalog domain
IC … Interval control
IS … ISC
JC … Journal control
KC … Task control
KE … KernelLC … Local Catalog domain
LD … Loader domain
LM … Lock Manager domanin
ME … Message domanin
MN … Monitoring domain
PA … Parameter Manager domain
PC … Program control
SC … Storage control
SM … Storage Manager domain
SP … Sync point
ST … Statistics domanin
TC … Terminal control
TD … Transient data
TI … Timer domain
TR … Trace domain
TS … Temporary Storage
UE … User exit interface
99
© IBM Corporation 2007
IBM Global Services
CICS Trace
c) CETR TRANSACTION & TERMINAL
CETR Transaction에서 PF5를 선택 하면 Transaction 또는 Terminal 별 standard 및
special trace를 받을 수 있다.
Type in your choices.
Item
Choice
Possible choice
Transaction ID==>
Any valid 4 character ID
Transaction Status
==>
Terminal ID
==>
Any valid Terminal ID
Netname
==>
Any valid Netname
STandard, SPecial,SUppressed
Terminal Status
==>
Standard, Special
Terminal VTAM Exit Trace
==>
On, Off
Terminal ZCP Trace
==>
On, Off
VTAM Exit override
==> NONE
All, System, None
When, finished, press ENTER.
PF1=Help 3=Quit 6=CancelExits 9=ErrorList
100
© IBM Corporation 2007
IBM Global Services
CICS Trace
d) 특정 TRANSACTION 에 대해서만 Tracing 하고자 할 때
특정 Transaction 만을 Auxiliary Trace하고자 할 때 사용된다.
(예) Transaction AUPD 만을 Trace할 경우.
Type in your choices.
Item
Choice
Internal Trace Status
Possible choices
===> STARTED
Internal Trace Table Size ===> 64
Auxiliary Trace Status
Auxiliary Trace Dataset
Auxiliary Switch Status
GTF Trace Status
K
16K - 1048576K
===> STOPPED
===> A
===> NEXT
Master System Trace Flag ===> OFF
===> ON
STArted, STOpped, Paused
A, B
NO, NExt, All
===> STOPPED
Master User Trace Flag
STArted, STOpped
STArted, STOpped
ON, OFf
ON, OFf
When finished, press ENTER.
PF1=Help
3=Quit
4=Components
5=Ter/Trn
9=Error List
위의 화면에서 다음과 같이 Setting하고 Enter
Auxiliary Trace Status
===> STArted
Master System Trace Flag ===> OFF
위의 화면 에서 PF5 (Ter/Trn)을 누르면 다음 페이지와 같은 화면이 나옴
101
© IBM Corporation 2007
IBM Global Services
CICS Trace
Type in your choices.
Item
Choice
Transaction ID
Possible choices
===> AUPD
Transaction Status
===> SP
Terminal ID
===>
Netname
STandard, SPecial, SUppressed
Any valid Terminal ID
===>
Terminal Status
Any valid 4 character ID
Any valid Netname
===>
Terminal VTAM Exit Trace
STandard, SPecial
===>
Terminal ZCP Trace
===>
VTAM Exit override
===> NONE
ON, OFf
ON, OFf
All, System, None
When finished, press ENTER.
6=Cancel Exits
9=Error List
PF1=Help
3=Quit
위의 화면 에서 다음 과 같이 Setting하고 Enter.
Transaction ID
===> AUPD
Transaction Staus ===> SP
PF3 (Quit)로 1, 2 화면을 빠져 나옴.
AUPD Transaction을 수행 후 Auxiliary Trace를 “CEMT S AUXT STO” 로 Off 시킴
CEMT S AUXT STOp
CETR Transaction에서 Auxiliary Trace Staus = STOpped 를 확인한다.
102
© IBM Corporation 2007
IBM Global Services
CICS Trace
(1-3) 기타 TRACE의 제어 방법
(1) CEMT
SET/INQ AUXTRACE
[START|STOP|PAUSE]
[NOSWITCH|NEXT|ALL]
[SWITCH]
SET/INQ INTTRACE
[START|STOP]
SET/INQ GTFTRACE
[START|STOP]
(2)
EXEC CICS (PROGRAM내의 CICS COMMAND)
SET/INQ TRACEFLAG SYSTEMSTATUS…
SET/INQ TRACEDEST
AUXSTATUS…
CURAUXDA…
GTFSTATUS…
INTSTATUS…
SWITCHSTATUS…
TABLESIZE…
SET/INQ TRACETYPE(STANDARD/SPECIAL)
(1-4) Trace Data Set
Trace를 보관하는 장소는 다음과 같다.
- Internal trace table (Main storage above 16M line)
- Auxiliary trace data set
- GTF data set
a)
103
Auxiliary Trace Data Set : Auxiliary trace data set는 한 개 또는 두 개의
Sequential data set, 또는 Tape를 사용할 수 있다.
© IBM Corporation 2007
IBM Global Services
CICS Trace
b) Trace Data Set Allocation
//ALLOCDS
EXEC PGM=IEFBR14
CICS에서 제공되는 DFHDEFDS JOB을 이용하여 고객의 설정에 맞게 수정한다.
//DFHAUXT DD
DSN=CICSTS12.applid.DFHAUXT,UNIT=3380,VOL=SER=volid,
//
DISP=(NEW,CATLG),DCB=(BLKSIZE=4096,RECFM=F,LRECL=4
096),
//
SPACE=(CYL,(5,1))
//DFHBUXT DD
DSN=CICSTS12.applid.DFHBUXT,UNIT=3380,VOL=SER=volid,
//
DISP=(NEW,CATLG),DCB=(BLKSIZE=4096,RECFM=F,LRECL=4
096),
SPACE=(CYL,(5,1))
c)// Aux Data Set를
위한 Startup JCL (DISK)
Startup job에 다음의 DD statement를 삽입한다.
//DFHAUXT DD
DSN=CICSTS12.applid.DFHAUXT,DCB=BUFNO=n,DISP=SHR
//DFHBUXT DD
DSN=CICSTS12.applid.DFHBUXT,DCB=BUFNO=n,DISP=SHR
BUFNO 개수를 1보다 더 정의하면, Aux trace record를 출력할 때 사용되는 I/O의
부하를 줄일 수 있다. 4 내지 10을 주면 무난하다.
d) Aux Data Set를 위한 Startup JCL (TAPE)
No Label Tape을 사용하는 경우, 다음의 sample DD statement를 삽입한다.
//DFHAUXT DD
DSN=CICSTS12.applid.DFHAUXT,UNIT=3400,VOL=SER=voild,
//
DISP=(NEW,KEEP), LABEL=(,NL)
//DFHBUXT DD
DSN=CICSTS12.applid.DFHBUXT,UNIT=3400,VOL=SER=voild,
//
104
DISP=(NEW,KEEP),LABEL=(,NL)
© IBM Corporation 2007
IBM Global Services
CICS Trace
2) TRACE를 print 하는 방법
CICS utility program인 DFHTUP(V4.1 이전인 경우), DFHT410(V4.1인 경우), 또는
DFHTU520 (TS 1.2)을 이용하여 시간별, terminal별, trace id별, transaction별,
task-id별 해당 trace를 print할 수 있다.
//PRTRACE
JOB
accounting
information,name,MSGLEVEL=1,CLASS=A,
//
MSGCLASS=A,REGION=6500K
*1
//PRINT
EXEC
PGM=DFHTU520
//STEPLIB
DD
DSN=CICSTS12.SDFHLOAD,DISP=SHR
//DFHAUXT
*2,*3
DD
DSN=CICSTS12.applid.DFHxxxx,DISP=SHR
//DFHAXPRT DD
SYSOUT=A
//DFHAXPRM DD
*
……
(parameter statement)
……
/*
(주) *1 : 필요하면 region size를 조정
*2 : Data set A 혹은 B에 따라 DSN의 parameter를 DFHAUXT 또는 DFHBUXT로 변경
ddname는 data set A, B 관계없이 DFHAUXT이어야 한다.
*3 : trace data set이 tape인 경우, DD statement는 다음과 같다.
//DFHAUXT
DD
DSN=CICSTS12.applid.DFHAUXT,DISP=(OLD,KEEP),
//
VOL=SER=volid,UNIT=TAPE
< TRACE 제어 statement >
ALL : 모든 trace entries, default
PAGESIZE=(value) : page당 line수
ABBREV/FULL/SHORT : 각 trace entry별 print양을 결정
ABBREV : 한 ENTRY당 한 줄의 요약 TRACE 출력
FULL
: 한 ENTRY당 전 TRACE INFORMATION 출력
SHORT : 다음의 경우는 FULL과 같고 그 외는 ABBREV와 같음
INTERVAL=(00.128|no. of seconds) : trace entry 사이 시간
KE_NUM=(xxxx,xxxx,…,…)
: 해당 kernal task number만 출력
TASKID=(id|id-id,id|id-id,……
105
© IBM Corporation 2007
IBM Global Services
CICS 문제 유형과 필요 자료
Transaction Abend 및 System Abend 발생시
1)
Transaction Abend 는 Axxx 4 자리 수로 발생 되며 시스템 Abend code 는 system log Sxxx 로
확인가능
필요 Data : 시스템 DUMP
(Transaction dump 내에는 필요한 Data 가 전부 나오지 않기 때문에 받을 필요없음)
사전 점검 사항 ; - SIT DUMP = YES
- 특정 Abend code 에 대한 dump 를 받고 자 하는 경우
“CEMT S TRDUMPCODE(xxxx) add” 로 시스템 dump 가 발생되도록 정의 필요
- Internal Trace ON
2)
LOOP 이나 Hang 발생시
High CPU usage 경우 Loop 이라고 추정되며, CPU usage 가 낮으면서 Transaction 이 진행되지
않는 것은 Hang 발생이라고 판단될 수 있음.
필요 Data : Loop – 해당 CICS Region dump
Hang : 해당 CICS Region 및 관련 remote CICS Region 혹은 DB2 와 같은 다른 시스템
dump
** 다른 region 이나 타 시스템이 필요여부에 대한 판단은 “CEMT I TA” output 에서 Transaction
의 왼쪽 필드에 “?” 을 치면 Tx 이 어떤 resource 를 기다리고 있는 지 Htype, Hvalue 를 가지고
판단할 수 있음.
Htype 이 ZCIOWAIT 나 ZCxxxx 이면서 Hvalue 가 TERMID 나 Remote CICS system name
이면 TOR 이나 해당 CICS region 에 대해 함께 MVS dump command 로 시스템 dump 받음
Htype,Hvalue 가 DB2 관련이면 DB2 와 함께 시스템 dump 를 받음
사전 점검 사항 : CICS Internal Trace ON, MVS system Trace ON
MVS Dump dataset size 및 volume size
3)
성능저하
평소와 달리 CPU usage 가 높거나, Transaction 의 응답속도가 급속히 느려지는 경우를 말함.
필요 Data : CICS region DUMP
SMF 115 data 필요.
106
© IBM Corporation 2007
IBM Global Technology Services
CPSM
나미경 [email protected]
IBM Global Services
CPSM Diagnostic
Online 으로 status 를 파악하고 조치를 취할 수 있는 diagnostics information 을 얻는
방법은 다음과 같습니다.
a) CICSPlex SM views
- CMAS and MAS status
- Resource monitoring activity
- Real-time analysis activity
- Workload management activity
b) CICS command
c) COLU (CPSM online utility transaction)
d) COD0 and CODB (CPSM interactive debugging transactions)
CPSM 에서 발생되는 문제에 대한 Message 는 아래와 같은 곳으로 write 됩니다.
- System console or system log
- CMAS or MAS job log
- EYULOG transient data queue
- SYSOUT data set
- CICS terminal
- TSO READY prompt
- ISPF end-user interface
CMAS 나 local MAS 는 System 이나 transaction DUMP 에 대한 symptom string 을
SYMREC record 형태로 SYS1.LOGREC dataset 에 기록합니다.
108
© IBM Corporation 2007
IBM Global Services
CICSPlex TRACE –(1)
CMAS 와 MAS 들의 user trace record 을은 CICS Trace data set 에 write 됩니다.
CAS 에서의 trace data 는 wrap-around buffer 로 기록이 됩니다.
1. CICSPLEX component trace options
CMAS 에서의 trace facility 를 사용하기 위해서는 다음과 같은 parameter 가 SIT 에
정의 되어있어야 합니다.
- INTTR = ON
: Internal trace on
- TRTABSZ = 2048 ; Trace table size must be 2MB
- SYSTR = OFF : Master trace must be OFF
- USERTR = ON : User trace must be ON
2. CMAS & MAS tracing
CMAS 나 MAS view 로 tracing 을 제어 할 수 있습니다.
예로 EYUCMS1A 의 trace level 을 변경하고 자 할 경우
a)
CMAS VIEW command issue 후 primary action command 나 TRA line action
command 를 입력합니다.
12APR1999 10:32:30 ----------- INFORMATION DISPLAY ------------------COMMAND ===> TRACE EYUCMS1A SCROLL ===> CSR
CURR WIN ===> 1 ALT WIN ===>
W1
=CMAS==============EYUCMS1A=EYUCMS1A=12MAY1997==14:46:30=CPSM
======2
CMD Name Status Sysid Access Transit Transit
--- -------- -------- ----- Type---- CMAS---- Count-EYUCMS1A ACTIVE CM1A
109
LOCAL
0
© IBM Corporation 2007
IBM Global Services
CICSPlex TRACE –(2)
b) 다음과 같이 component trace input panel 에서 component 들에 대한 level 을
변경할 수 있습니다. (N : tracing not active. Y : trace level is active)
--------------------- Component Trace Levels for EYUCMS01 -------------COMMAND ===>
Overstrike the level number with a Y or N to alter the trace level
Level
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
Component--------------------------------------------------------------KNL N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N
TRC N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N
MSG N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N
COM N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N
c) Trace setting 된 것을 변경하고 자 할 경우 예로 KNL (kernel linkage)
c-1) Cursor Position 을 KNL line 옆에 고정시킨다.
c-2) Cursor 를 수평으로 움직여 수정하고자 하는 level 로 옮긴다.
c-3) Y 나 N 로 변경한다.
d) Trace setting 이 적적하면 ENTER 로 입력된 값을 저장시킨다.
3. CICSPlex SM transactions
CICSPlex/SM 은 COLU,COD0,CODB 등 3 종류의 online transaction 을
제공합니다.
a) COLU : 여러 종류의 CMAS 와 MAS component 들에 대한 report 를 생성하는
online utility
b) COD0 / CODB : CPSM runtime 환경에서 CPSM 의 internal data structure 를
format 하여 debugging 이 가능하도록 합니다.
110
© IBM Corporation 2007
IBM Global Services
CICSPlexSM DUMPs –(1)
CICSPlex SM address space 는 MVS DUMP command 나 CICSPlex SM ISPF
end-user interface 에서 CICSRGN 에사 SNAP action command 로 생성시킬 수
있습니다.
예로 EYUMAS1A 의 System Dump 를 받고자 한다면
a) CICSRGN view command 를 issue 하거나
b) SNAP primary action command 나 EYUMAS1A line 에서 SNA line action
command 를 issue
12APR1999 10:30:30 --------- INFORMATION DISPLAY ---------------------COMMAND ===> SNAP EYUMAS1A SCROLL ===> CSR
CURR WIN ===> 1 ALT WIN ===>
W1
=CICSRGN=CICSRGN==EYUPLX01==EYUCSG01==12MAY1997==11:30:30=CPSM
======
CMD CICS
Job
MVS Act CICS
CPU
Page
Page
Total
--- System-- Name---- Loc Task Status Time---- In------ Out----- SIO--EYUMAS1A CICPRODA
SYSA 34 ACTIVE 12345678 1234567 1234567 123456
EYUMAS2A CICAOR1P
SYSA 22 ACTIVE 567
1234567 1234567 106
c) CICS SNAP input panel 이 나오면 option 들을 입력합니다.
----------------------------- CICS SNAP -----------------------------COMMAND ===>
Specify the options to be used for this dump of CICS:
Dump Code ===> NORMAL 1- to 8-character dump code
Caller ===> NO 1- to 8-character caller ID
TITLE (79 characters)
Press Enter to continue CICS dump with the options specified.
10.03.05 JOB00221 +DFHDU0201 EYUMAS1A ABOUT TO TAKE SDUMP.
DUMPCODE:code
10.03.12 JOB00221 IEA794I SVC DUMP HAS CAPTURED:
DUMPID=005 REQUESTED BY JOB (EYUMAS1A)
DUMP TITLE=CICSDUMP: SYSTEM=EYUMAS1A CODE=code ID=nn
10.03.05 JOB00221 +DFHDU0202 EYUMAS1A SDUMP COMPLETE.
위의 화면에서 option 들을 입력하고 나면 “EYUEI0568I Dump Taken for
EYUMAS1A,
assigned DUMPID is nn/nnnn” 가 나옵니다.
111
© IBM Corporation 2007
IBM Global Services
CICSPlexSM DUMPs –(2)
EYUMAS1A 의 JOBLOG 에는 다음과 같은 Message 을 볼 수 있습니다.
10.03.05 JOB00221 +DFHDU0201 EYUMAS1A ABOUT TO TAKE SDUMP.
DUMPCODE:code
10.03.12 JOB00221 IEA794I SVC DUMP HAS CAPTURED:
DUMPID=005 REQUESTED BY JOB (EYUMAS1A)
DUMP TITLE=CICSDUMP: SYSTEM=EYUMAS1A CODE=code ID=nn
10.03.05 JOB00221 +DFHDU0202 EYUMAS1A SDUMP COMPLETE.
112
© IBM Corporation 2007
IBM Global Technology Services
DB2
이동근 [email protected]
IBM Global Services
DB2 목차
DB2 문제 종류 …………………………………………………………
115
DB2 Message …………………………………………………………
116
DB2 reason code ………………………………………………………
117
DB2 분석자료 command………………………………………………
120
DB2 Dump ……………………………………………………………
121
MEPL ……………………………………………………………………… 127
DB2PLI8 …………………………………………………………………
128
Trace ……………………………………………………………………… 129
114
© IBM Corporation 2007
IBM Global Services
DB2 문제 종류
ABEND04E, ABEND04F
 예기치 못한 상황의 error를 만났을 때, 또는 DB2가 data integrity 보장을 위해
스스로 ABEND를 유발시킴.
LOOP, WAIT, HANG, SUSPEND
 DB2가 일을 잘 하지 못한다는 느낌이 들 때, 위의 상황을 의심할 수 있음.
 Start 도중에 발생할 경우는 IRLM을 먼저 점검해야 함.
INCORROUT(Incorrect Output)
 원하지 않는 access path, 잘못된 SQL 결과 등.
 DB2의 CATALOG 정보가 필수적으로 필요함.
성능 저하
 느린 SQL 처리, CPU 등 system resource의 과다한 사용, timeout/deadlock의 다량
발생, 과도한 locking activity 등.
 DB2 trace와 DB2 PM report 등이 요구되나, 더 광범위한 자료가 필요할 경우가 많음.
Message
 평소에 볼 수 없었던 종류의 error message.
115
© IBM Corporation 2007
IBM Global Services
DB2 message
DB2 message
- DB2 message는 DSNxnnna의 형태이며, 여기서 x는 DB2의 각 component로서,
그 내용은 다음과 같다.
A
: Subsystem support subcomponent (SSS), application program support function, call
attachment facility (CAF), Recoverable Resource Manager Services attachment
facility (RRSAF)
B
: Buffer manager (BM)
C
: CICS attachment (CA)
D
: Designates data structures/DSECTs, not a subcomponen
E
: TSO attachment (TA)
F
: Message generator (MG)
G
: Data manager (DM), data and environmental descriptor management functions
H
: Precompiler (PRE)
I
: Data manager (DM), manipulative function
J
: Recovery log manager (RLM)
K
: Data manager (DM), index management function
L
: Distributed Data Facility (DDF)
M
: IMS attachment (IA)
N-O : Reserved
P
: Data space manager (DSM)
Q
: Reserved
R
: Recovery manager (RM)
S
: Storage manager (SM)
T
: Service controller (SC)
U
: Utilities (UT)
V
: Agent services manager (ASM)
W
: Instrumentation facilities (IF)
X
: Relational data system (RDS)
Y
: Initialization procedures (IP)
Z
: System parameter manager (SPM)
0
: Reserved
1
: Stand-alone utilities (SU)
2
: Reserved
3
: Subsystem support subcomponent (SSS), allied address space connection function
and MVS subsystem interface function
4
: DB2I HELP panels
5-6 : Reserved
7
: Group Manager
8
: Reserved
9
116
: General command processor (GCP)
© IBM Corporation 2007
IBM Global Services
DB2 reason code
DB2 reason code(1)
- DB2 reason code는 00hhnnnn으로 이루어져 있는데,여기서 hh는 DB2 component의
alphabet의 hexa 값으로, 각 component 별로 문제 분석에 필요한 자료는 다음과 같다.
CAF or RRSAF
(00C1xxxx)
DSNTRACE for CAF
SYSUDUMP or SYSABEND dump contains trace for CAF or RRSAF
Buffer
manager
(00C2xxxx)
SVC dump
All master console messages
Copy of data sets, if in broken state
CICS attach
(00C3xxxx)
SVC or CICS transaction dump
AUXTRACE (if applicable)
SYS1.LOGREC information
TSO attach
(00C5xxxx)
All master console messages.
SYSUDUMP output, if abend
SYS1.LOGREC information, if abend
DSNTRACE, if error in DSN command processor
Compression SVC dump
All master console messages
Copy of data sets in broken or error state
Precompiler
(00C8xxxx)
All master console messages
SYSUDUMP output, if abend
Program source
Precompiler output
Data manager
(00C9xxxx)
SVC dump
SYS1.LOGREC information
All master console messages
DB2 logs
Copy of data sets in broken state
CSECT name and error qualifier
Index
manager
(00C9xxxx)
SVC dump.
SYS1.LOGREC information.
All master console messages
DB2 logs.
Copy of data sets in broken state
CSECT name and error qualifier
EDM Pool
(00C90089)
Statistics Class 1 traces
Recovery log
manager
(00D1xxxx)
Print log map of the BSDS
All master console messages
System parameter report or DSNZPARM listing
LISTCAT, if VSAM catalog errors
SVC dump, if abend.
SYS1.LOGREC information, if abend
117
© IBM Corporation 2007
IBM Global Services
DB2 reason code
DB2 reason code(2)
Recovery log
manager
(00D1xxxx)
Print log map of the BSDS
All master console messages
System parameter report or DSNZPARM listing
LISTCAT, if VSAM catalog errors
SVC dump, if abend.
SYS1.LOGREC information, if abend
Distributed
(00D3xxxx)
Display threads on both systems, if hang
All master console messages and task from both systems
SVC dump, if abend
SYS1.LOGREC information, if abend
CDB entries.
Data space
manager
(00D7xxxx)
All master console messages
Complete DBM1 JES job log messages
Complete MSTR JES job log messages
Recovery
manager
(00D9xxxx)
SVC dump.
All master console messages
SYS1.LOGREC information
DSN1LOGP output, if error on DB2 restart
Previous error information
Stored
Proce-dures
(DSNX9nnn)
Console messages.
You must collect SYSABEND dump for abends in DSNX9 modules in
SPAS.
Storage
manager
(00E2xxxx)
SVC dump
All master console messages
SYS1.LOGREC information
Service
Controller
(00E3xxxx)
All master console messages
For bind abend, bind job messages and syntax of bind command
SVC dump, if abend
Utilities
(00E4xxxx)
Utility job output
Utility statement
Dump
SYS1.LOGREC information
Console log.
Targeted object catalog information
Agent
services
(00E5xxxx)
SVC dump
All master console messages
SYS1.LOGREC information
Instrumentat
ion
(00E6xxxx)
SVC dump
All master console messages
SYS1.LOGREC information
Traces, if incorrect output
118
© IBM Corporation 2007
IBM Global Services
DB2 reason code
DB2 reason code(3)
Instrumentat
ion
(00E6xxxx)
SVC dump
All master console messages
SYS1.LOGREC information
Traces, if incorrect output
Relational
data
(00E7xxxx)
CSECT name and error qualifier
System SVC dump
SQL, DDL, EXPLAIN output, Catalog statistics
SYS1.LOGREC information
Initializati
on
processor
(00E8xxxx)
All master console messages
Console dump or Slip dump
SVC dump, if abend
SYS1.LOGREC information, if abend
System
parameter
manager
(00E9xxxx)
SVC dump
All master console messages
SYS1.LOGREC information
System parameter report or DSNZPARM listing
DSN1LOGP
(00F1xxxx)
All master console messages.
Job output.
DSN1COPY
DSN1PRNT
DSN1CHKR
(00F1xxxx)
All master console messages
Job output
Copy of objects that the jobs target
Subsystem
(00F3xxxx)
Previous error information from
SYS1.LOGREC and master console messages
General
command
processor
(00F9xxxx)
All master console messages
SVC dump, if abend
SYS1.LOGREC information, if abend
119
© IBM Corporation 2007
IBM Global Services
DB2 분석자료 command
DB2 Dump 받기 전 다음과 같은 command를 issue 하여
보조자료를 확보한다.
 DISPLAY THREAD(*) DETAIL
 D A,ALL (or
D A,ssid*
or D A,IRL* )
 D GRS,CONTENTION
 D OPDATA
 DISPLAY DATABASE(*) USE/LOCKS LIMIT(*)
 DISPLAY UTILITY(*)
Data Sharing 환경하에서는 다음을 추가한다.
 F irlmproc,STATUS,ALLD
 F irlmproc,STATUS,ALLI
 DB2 Diagnose utility 를 MEPL opetion 으로 run 한다.
120
© IBM Corporation 2007
IBM Global Services
DB2 DUMP
DUMP
 DB2의 address space 중 특히 DBM1의 virtual storage는 모든 data buffer를
포함하고 있기 때문에 그 양이 엄청나게 커지게 된다.
 따라서 data의 양에 따라 다르지만, 최소한 2500 이상의 MAXSPACE가 주어져야 한다.
 다음 command를 이용해 MAXSPACE를 미리 조정해 둔다.
CD SET,SDUMP,MAXSPACE=2500M
 DB2 문제 분석을 위한 DUMP에는 다음과 같은 option들이 반드시 포함되어 있어야
한다.
ALLNUC,ALLPSA,CSA,GRSQ,LPA,LSQA,NUC,PSA,RGN,SQA,SUM,SWA,TRT
 또한 SYSPLEX data sharing 환경에서는 다음의 option들이 포함되어 있어야 한다.
COUPLE,WLM,XESDATA
CD SET,SDUMP,MAXSPACE=2500M
121
© IBM Corporation 2007
IBM Global Services
DB2 DUMP
Command로 Dump 받기
 DB2 hang, wait, looping 상황에서는 DUMP command를 이용해 Dump를 받아야
한다.
 이 때, DB2의 MSTR, DBM1, IRLM, DIST를 한 Dump dataset에 한꺼번에 받아야 한다.
 DUMP command를 이용한다.
DUMP COMM=(your comment here)
(1)
*XX IEE094D SPECIFY OPERAND(S) FOR DUMP COMMAND
(2)
R XX,JOBNAME=(DSNPMSTR,DSNPDBM1,DSNPIRLM,DSNPDIST,CICSAOR1),END
(3)
위의 예에서,
(1) DUMP command를 실행시킬 때, 적절한 제목 또는 comment를 줄 수 있다.
(2) DUMP command에 대한 reply가 뜨게 되며,
(3) 해당 reply로 받아내고자 하는 jobname들을 주게 된다.
이 때, 여러 개의 job을 받고자 하면, 반드시 MSTR부터 시작해야 한다.
122
© IBM Corporation 2007
IBM Global Services
DB2 DUMP
SLIP으로 Dump 받기
 ABEND가 발생할 때 Dump가 발생하지 않으면 SLIP command을 이용해 Dump를
받는다.
 이 때, DB2의 MSTR, DBM1, IRLM, DIST를 한 Dump dataset에 한꺼번에 받아야
한다.
 다음 SLIP command를 이용한다.
SLIP SET,A=SVCD,C=04E,J=CICSAOR3,JL=(DSNP*,CICSAOR3),END
(1)
SLIP SET,A=SVCD,C=04E,J=DSNPDBM1,AL=(CU,P,H,S),END
(2)
위의 예에서,
(1) CICSAOR3에서 ABEND04E가 발생하면,
DSNPMSTR, DSNPDBM1, DSNPIRLM등과 CICSAOR3를 받아 낸다.
(2) DSNPDBM1에서 ABEND04E가 발생하면,
current ASID, primary ASID, home ASID, secondary ASID를 받아낸다.
123
© IBM Corporation 2007
IBM Global Services
DB2 DUMP
특정 reason code에 대해 Dump 받기
 특정 reason code에 대해서 dump가 필요할 경우, SLIP command을 이용해 Dump를
받는다.
 이 때, DB2의 MSTR, DBM1, IRLM, DIST를 한 Dump dataset에 한꺼번에 받아야 한다.
 다음 SLIP command를 이용한다.
SLIP SET,A=SVCD,C=04E,DATA=(15R,EQ,00C90101),JL=(DSNPMSTR,DSNPDBM1,
DSNPDIST,DSNPSPAS),END
위의 예에서,
ABEND04E, RC=00C90101이 발생했을 때, DB2 관련 address space들의 Dump를
받아 낸다.
124
© IBM Corporation 2007
IBM Global Services
DB2 DUMP
특정 message에 대해 Dump 받기
 특정 message에 대해서 dump가 필요할 경우, SLIP command을 이용해 Dump를
받는다.
 이 때, DB2의 MSTR, DBM1, IRLM, DIST를 한 Dump dataset에 한꺼번에 받아야 한다.
 다음 SLIP command를 이용한다.
SLIP SET,IF,LPAMOD=(IGC0003E,0),DATA=(1R?+4,EQ,C4E7D9F1,+8,EQ,F6F7C5),
A=SVCD,JL=(DSNPMSTR,DSNPDBM1,DSNPIRLM),END
위의 예에서,
DXR167E가 발생했을 때, DB2 관련 job들의 Dump를 받아 내기 위해,
DXR167E를 EBCDIC code로 변환시키면 C4E7D9F1F6F7C5이 된다.
125
© IBM Corporation 2007
IBM Global Services
DB2 DUMP
특정 SQL code에 대해 Dump 받기
 특정 SQL에 대해서 Dump가 필요할 경우, DB2 utility인 DSN1SDMP를 이용한다.
 다음 JCL을 이용해, job을 submit한다.
//LEETKDMP JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1),REGION=4M
//JOBLIB
DD
DSN=DSN710.SDSNLOAD,DISP=SHR
//DSN1SDMP EXEC PGM=IKJEFT01,DYNAMNBR=20
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SDMPPRNT DD SYSOUT=*
//SDMPTRAC DD DSN=LEETK.DB2.TRACE,SPACE=(CYL,(1,1)),UNIT=3390,
//
DCB=(RECFM=VB,LRECL=8188,BLKSIZE=8192),VOL=SER=TEMP01
//SDMPIN
DD *
START TRACE=P CLASS(32) IFCID(58) DEST(OPX)
FOR(1)
ACTION(ABENDTER(00E60188))
SELECT
P4,08
* SQLCODE -518
(1)
DR,74,X'FFFFFDFA'
//SYSTSIN
(2)
DD *
DSN SYSTEM(dsn)
RUN PROGRAM(DSN1SDMP)
PLAN(DSNEDCL)
END
//
위의 예에서,
(1) SQLCODE -518에 대해서 Dump를 받고 싶을 때,
(2) 이를 hexa 값으로 바꾸어 넣어 준다.
126
© IBM Corporation 2007
IBM Global Services
MEPL
MEPL
 MEPL은 Module Entry Point List로서, DB2의 모든 load module의 CSECT와 entry
point를 가진다.
 각 module의 PTF level을 포함하고 있으므로 현재 DB2의 level를 파악할 수 있다.
 아래의 JCL을 사용해 추출한다.
//STEP1
EXEC DSNUPROC,UID=’DIAGNOSE.MEPL1’,
//
UTPROC=’’,
//
SYSTEM=’V71A’
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DIAGNOSE DISPLAY MEPL
//*
127
© IBM Corporation 2007
IBM Global Services
DB2PLI8
Catalog Statistics(DB2PLI8)
 INCORROUT 등 DB2 RDS 문제를 분석하기 위해서는 DB2 catalog 정보가 필요하다.
 필요한 catalog 정보를 추출하기 위해 IBM에서 제공하는 PL/I 프로그램이다.
 IBM에서 제공되는 DB2PLI8 안에 PL/I source와 JCL이 들어 있으므로,
필요한 TABLE 이름만 넣어서 수행 시키면 된다.
DSN SYSTEM(DSNP)
(1)
BIND PLAN(DB2PLI8) MEMBER(DB2PLI8) ACTION(REP) ISOLATION(CS) VALIDATE(RUN)
RUN
PROGRAM(DB2PLI8) PLAN(DB2PLI8) -
LIB('DSN710P.RUNLIB.LOAD') PARM('/SYSADM.SAMPTABL')
(2)
위의 예에서,
(1) DB2 subsystem 이름,
(2) Catalog 정보를 얻고자 하는 table name을 준다.
128
© IBM Corporation 2007
IBM Global Services
TRACE
TRACE TYPE
 DB2는 다양한 종류의 TRACE를 제공한다.
 어떤 종류의 Trace의 경우 System에 과부하를 걸게 되기도 하므로 신중한 선택이
요구된다.
 아래와 같은 TRACE TYPE이 있다.
PERFM
: Performance analysis and tuning,
and includes records of specific events in the system.
ACCTG
: Used in accounting for a particular program or authorization ID,
and includes records written for each thread.
STAT
: Collects statistical data broadcast by various components of DB2,
at time intervals that can be chosen during installation.
AUDIT
: Audit data from various components of DB2.
MONITOR: Makes trace data available to DB2 monitor application Programs.
129
© IBM Corporation 2007
IBM Global Services
TRACE
Destination block
 DB2 trace는 SMF, GTF등 여러 가지 방법으로 받아 내는데 이에 대한 지정을 할 수
있다.
 아래와 같은 종류들이 있으며 TRACE TYPE에 따라 Default가 다르다.
Type
GTF
SMF
SRV
OPn
OPX
PERFM
Default
Allowed
Allowed
Allowed
Allowed
ACCTG
Allowed
Default
Allowed
Allowed
Allowed
STAT
Allowed
Default
Allowed
Allowed
Allowed
AUDIT
Allowed
Default
Allowed
Allowed
Allowed
MONITOR
Allowed
Allowed
Allowed
Allowed
Default
130
© IBM Corporation 2007
IBM Global Services
TRACE
Constraint block
 Trace 양을 줄이기 위해 특정한 user나 PLAN으로 trace의 발생을 제한할 수 있다.
 TRACE TYPE에 따라 사용할 수 있는 종류가 다르다.
Type
PLAN
AUTHID
CLASS
LOCATION
PERFM
Allowed
Allowed
Allowed
Allowed
ACCTG
Allowed
Allowed
Allowed
Allowed
STAT
NO
NO
Allowed
NO
AUDIT
Allowed
Allowed
Allowed
Allowed
MONITOR
Allowed
Allowed
Allowed
Allowed
131
© IBM Corporation 2007
IBM Global Services
TRACE
CLASS
 DB2 trace는 IFCID로 이루어져 있으며, 이러한 IFCID를 연관되는 것끼리 묶은 것을
CLASS라 한다.
Trace type Class Description of class
Accounting
1 Standard accounting data
2 Entry or exit from DB2 event signalling
3 Elapsed wait time in DB2
4 Installation-defined accounting record1 151
5 Time spent processing IFI requests 187
6 Reserved
7 Entry or exit from DB2 event signalling for package and DBRM accounting
8
Wait time for a package
10-29 Reserved
30-32 Available for local use
Audit
1 Access attempts denied due to inadequate Authorization
2 Explicit GRANT and REVOKE
3 CREATE, ALTER, and DROP operations against audited tables
4 First change of audited object
5 First read of audited object
6 Bind time information about SQL statements that involve audited objects
7 Assignment or change of authorization ID
8 Utilities
9 Installation-defined audit record1
10-29 Reserved
30-32 Available for local use
Statistics
1 Statistics data
2 Installation-defined statistics record1
3 Deadlock, group buffer pool, data set extension information,
and indications of long-running URs and active log space shortages
4 DB2 exceptional condition
5 DB2 data sharing statistics record
6 Storage usage details
7 Reserved
8 Data set I/O statistics 199
9-29 Reserved
30-32 Available for local use
132
© IBM Corporation 2007
IBM Global Services
TRACE
CLASS(2)
Trace type Class Description of class
Performance
1 Background events
2 Subsystem events
3 SQL events
4 Reads to and writes from the buffer and EDM pools
5 Write to log; archive log
6 Summary lock information
7 Detailed lock information
8 Data scanning detail
9 Sort detail
10 BIND, commands, and utilities detail
11 Execution unit switch and latch contentions
12 Storage manager
13 Edit and validation exits
14 Entry from and exit to an application
15 Installation-defined performance record1
16 Distributed processing
17 Claim and drain information
18-19 Reserved
20 Data sharing coherency summary
21 Data sharing coherency detail
22 Authorization exit parameters
23-29 Reserved
30-32 Available for local use
Monitor
1 Activate the READS IFCIDs
2 Entry or exit from DB2 event signalling
3 DB2 wait time for I/O, locks; resource usage informationI
4 nstallation-defined monitor record1
5 Time spent processing IFI requests
6 Changes to tables created with DATA CAPTURE CHANGES
7 Entry or exit from DB2 event signalling for package and DBRM accounting
8 Wait time for a package
9-29 Reserved
30-32 Available for local use
133
© IBM Corporation 2007
IBM Global Services
TRACE
TRACE의 예(1)
-START TRACE=S
위의 예에서,
Statistics trace를 start 시키면,
v7의 경우 CLASS 1,2,4,5가 v8의 경우 CLASS 1,2,4,5,6이 start되고,
destination은 default로 SMF가 된다.
134
© IBM Corporation 2007
IBM Global Services
TRACE
TRACE의 예(2)
-START TRACE(A) PLAN(DSN8BC71)
COMMENT(‘accounting trace for dsn8bc71’)
위의 예에서,
PLAN DSN8BC71에 대해 accounting trace가 start되고,
destination은 default로 SMF가 된다.
135
© IBM Corporation 2007
IBM Global Services
TRACE
TRACE의 예(3)
** SYS1.PARMLIB(GTFDB2)
(1)
TRACE=USRP
USR=(FB9)
** SYS1.PROCLIB(GTFDB2)
//GTFNEW
(2)
PROC MEMBER=GTFDB2
//IEFPROCEXECPGM=AHLGTF,PARM='MODE=EXT,DEBUG=NO,TIME=YES',
//
TIME=1440,REGION=2880K
//IEFRDER DD
DSNAME=SYS1.TRACE.DB2,DISP=SHR
//SYSLIB
DSNAME=SYS1.PARMLIB(&MEMBER),DISP=SHR
DD
S GTFDB2
(3)
AHL121I TRACE OPTION INPUT INDICATED FROM MEMBER GTFDB2
SYS1.PARMLIB
OF PDS
TRACE=USRP
USR=(FB9)
AHL103I
TRACE OPTIONS SELECTED --USR=(FB9)
*xx AHL125A
RESPECIFY TRACE OPTIONS OR REPLY U
R xx,U
-START TRACE(P) DEST(GTF) CLASS(3) PLAN(DSN71R)
(4)
위의 예에서,
(1) DB2 trace를 GTF로 받기 위해 미리 PARMLIB에 member를 만들어 둔다.
(2) GTF startup JCL을 PROCLIB에 만들어 둔다.
(3) GTF를 start 시킨다.
이때, 미리 PARMLIB에 만들어 둔 GTF option을 물어보는데 reply를 U로 준다.
(4) PLAN DSN71R에 대해 DB2 performance trace CLASS 3을 start 시킨다.
136
© IBM Corporation 2007
IBM Global Technology Services
MQ
나미경 [email protected]
IBM Global Services
WMQ DUMP
WMQ 에서 발생되는 문제에 대한 메시지는 CSQ 로 시작됩니다.
1) WMQ MSTR,MQ CHIN and CHIN dataspace Dump 받기
WMQ 문제를 분석하기 위한 자료를 얻기 위해서는 WMQ Main address space 인
MSTR 과 Channel Initiator CHIN 과 더불어 CHIN dataspace 도 받아야 합니다.
DUMP COMM=(MQSERIES MAIN DUMP)
*01 IEE094D SPECIFY OPERAND(S) FOR DUMP COMMAND
R 01,JOBNAME=(CSQ1MSTR,CSQ1CHIN),CONT
*02 IEE094D SPECIFY OPERAND(S) FOR DUMP COMMAND
IEE600I REPLY TO 01 IS;JOBNAME=(CSQ1MSTR,CSQ1CHIN),CONT
R 02,DSPNAME=('ssidCHIN'.CSQXTRDS),CONT
IEE600I REPLY TO 02 IS;DSPNAME=(‘ssidCHIN,CSQXTRDS),CONT
R 03,SDATA=(CSA,RGN,PSA,SQA,LSQA,TRT,SUM),END
IEE600I REPLY TO 03 IS;SDATA=(CSA,RGN,PSA,SQA,LSQA,TRT,SUM),END
IEA794I SVC DUMP HAS CAPTURED: 869
DUMPID=001 REQUESTED BY JOB (*MASTER*)
138
© IBM Corporation 2007
IBM Global Services
WMQ TRACE –(1)
WMQ 의 TRACE 는 Debugging 을 위해 GTF trace 를 이용하는 것과 Accounting 과
Statistics tracing 으로 나눌 수 있습니다. 아래의 설명 GTF trace 를 사용하는
것입니다.
1.
WMQ Tracing
a)
Start GTF Trace
WMQ Global Trace 를 받기 위해 GTF trace 를 start 합니다.
START GTF.procname,,,(MODE=INT)
HASP100 GTF.procname ON STCINRDR
HASP373 GTF.procname STARTED
*01 AHL100A SPECIFY TRACE OPTIONS
R 01,TRACE=JOBNAMEP,USRP
TRACE=JOBNAMEP,USRP
IEE600I REPLY TO 12 IS;TRACE=JOBNAMEP,USRP
*02 ALH101A SPECIFY TRACE EVENT KEYWORDS - JOBNAME=,USR=
R 02,JOBNAME=(ssidMSTR,ssidCHIN,jobname),USR=(5E9,5EA,5EB,5EE,F6C)
JOBNAME=(ssidMSTR,ssidCHIN,jobname),USR=(5E9,5EA,5EB,5EE,F6C)
IEE600I REPLY TO 13
IS;JOBNAME=(ssidMSTR,ssidCHIN,jobname),USR=(5E9,5EA,5EB,5EE,F6C)
*03 ALH102A CONTINUE TRACE DEFINITION OR REPLY END
R 03,END
END
IEE600I REPLY TO 14 IS;END
AHL103I TRACE OPTIONS SELECTED-USR=(5EA,5E9,5EB,5EE,F6C)
AHL103I JOBNAME=(ssidMSTR,ssidCHIN,jobname)
*04 AHL125A RESPECIFY TRACE OPTIONS OR REPLY U
R 04,U
JOBNAMEP 는 batch job 이나 WMQ 와 interface 해서 사용중인 CICS name 을
지정합니다. 만약, Remote QMGR 를 사용하고 있지 않아 Channel 을 사용하지 않는
것에 대한 tracing 일 때, MQ CHIN 은 reply 시 JOBNAME 에서 제외합니다.
Remote QMGR 와 관련 되어 있다면, MSTR과 CHINT 및 DSPNAME 으로 CHIN
dataspace 도 지정합니다.
139
© IBM Corporation 2007
IBM Global Services
WMQ TRACE –(2)
WMQ 에서 발생되는 문제에 대한 메시지는 CSQ 로 시작됩니다.
GTF Start 시 USRP option 에 다음과 같은 EID 가 정의 되어있어야 합니다.
- 5E9 : Collect information about control blocks on entry to MQSeries
- 5EA : Collect information about control blocks on exit to MQSeries
- 5EB : Collect information about entry to internal MQ functions
- 5EE : Collect information about exit from internal MQ functions
- F6C : Collect information about CICS/MQ functions
GTF 가 start 된 후에는 “DISPLAY TRACE” ,”ALTER TRACE” “STOP TRACE” 로
parameter 등을 변경할 수 있습니다.
CHIN trace data 는 CHIN dataspace 에 write 되기 때문에 DUMP 를 받을 때 반드시
함께 받아야 합니다.
<KEY PARMAMETER>

CSQ6CHIP 의 CHIN trace table size 를 5 MB 로 지정

CSQ6SYSP 의 trace table size 를 250 으로 지정 (4 KB * 250)

Start GTF Trace, PARM=MODE(INT) with REGION=2880KB
GTF parameter SADMP,SDUMP,ABDUMP ,BLOK 는 최소한 10 MB 로 지정되어야 합니다.

TRACE=JOBNAMEP,USRP

JOBNAME=(ssidMSTR,jobname),USR=(5E9,5EA,5EB,5EE,F6C)

GTF 가 start 됨.
b)
Start MQ Tracing : +cpf START TRACE(GLOBAL) DEST(GTF) CLASS(*)
RMID(*)
CSQ6SYSP 에 TRACSTR 이 YES 나 숫자로 정의 되어있다면 QMGR 가 Start 될 때
CLASS 1 이나 기타 CLASS 로 tracing 이 되는 것이므로, CLASS 를 바꾸고자 하거나
특정 RMID 를 받고자 할 때 “ALTER TRACE” Command 로 변경한다. GLOBAL tracing
시 CPU overhead 에 큰 영향을 줄 수 있습니다.
140
© IBM Corporation 2007
IBM Global Services
WMQ TRACE –(3)
WMQ 메시지를 이용하여 SLIP 에 의한 Dump 를 받고자 하는 경우
SLIP SET,MSGID=CSQXxxxE,
JOBNAME=ssidCHIN,
JOBLIST=(ssidMSTR,ssidCHIN),
DSPNAME=('ssidCHIN'.CSQXTRDS),
SDATA=(CSA,RGN,PSA,SQA,LSQA,TRT,SUM),
MATCHLIM=1,EN
c)
STOP MQ Trace : +cpf STOP TRACE(*)
d)
STOP GTF
2.
WMQ CHANNEL TRACING
“START TRACE” 로 START 하거나 CSQ6SYSP 에 TRACSTR 로 정의 하여 QMGR 시동
시 trace 를 시작할 수 있습니다. Tracing data 는 CHIN address space 내에 4KB 로
저장 됩니다.
141
© IBM Corporation 2007
IBM Global Technology Services
LE
최동준 [email protected]
IBM Global Services
LE 문제분석 Data 수집절차
Language Environment (LE)는 zOS와 VM 및 VSE 운영체계의 Run-time환경을
지원한다. 운영 중에 발생한 LE관련 문제를 분석하기 위해서는 Dump와 관련된
Run-time Option이 요구된다.
(1) LE와 Batch (IMS, WebSphere, etc.)
Run-time option에 필요 시 System Dump를 발생할 수 있도록 LE Dump Option을
지정 :
- ABTERMENC(ABEND),
- TERMTHDACT(UADUMP),
- TRAP(ON)
(2) LE와 CICS
AbendU4038을 제외한 LE AbendU40xx계열의 Abend는 CICS Transaction Dump가
획득되도록 지정되어 있어야 하며 필요 시 System Dump를 발생할 수 있도록 관련
Dump Option을 지정 :
1. CICS Transaction Dump Table에 지정 :
CEMT SET TRD(40xx) SYS ADD
2. LE Dump option을 지정 :
- ABTERMENC(ABEND),
- TERMTHDACT(UADUMP),
- TRAP(ON)
(3) LE와 UNIX System Services shell
1. System Dump를 dataset으로 write하기 위해 다음 command 를 issue :
export _BPXK_MDUMP=filename
(여기서 filename은 ‘LRECL=4160,RECFM=FBS’으로 구성되어 있어야 함)
2. LE Run-time Option을 지정 :
Suboption은 ‘UADUMP (권고), UAONLY, UATRACE, UAIMM’이며,
만약 ‘UAIMM’을 지정한다면 ‘TRAP(ON,NOSPIE)’를 반드시 지정해야 함.
143
© IBM Corporation 2007
IBM Global Technology Services
WAS
최동준 [email protected]
IBM Global Services
WebSphere (WAS) 문제분석 Data 수집 절차
WebSphere Application Server on z/OS (WAS z/OS)의 장애발생시 문제 분석을 위해
필요한 주요 분석 Data 및 분석 절차는 대략적으로 다음과 같다 :
1. WebSphere on z/OS Diagnostic Data
2. Dumping WebSphere Application Server, CTRACE
3. LDAP trace
4. IBM HTTP Server Log, Trace :
5. JVM Debugging Tools for z/OS
(1) WebSphere on z/OS Diagnostic Data
WAS z/OS의 Error Log는 z/OS System Logger에 의해 관리되는 Log stream
dataset이며 Log stream은 DASD나 CF (Coupling Facility)에 있는 staging
data set에 있다.
1-1) WAS log stream에 저장된 data는 반드시 Log Browse Utility ‘BBORBLOG’
REXX Exec을 사용해서 format을 시켜야 하는데 error log stream output을
보기 위해서는 ISPF option 6 (Command)을 통해 BBORBLOG Browser를
invoke시켜야한다. BBORBLOG는 SBBOEXEC의 멤버 이름이며 실행
"userid.stream_name“의 형식으로 된 browser data set이 만들어 지며
BBORBLOG를 수행할 때마다 기존의 dataset은 지워지므로 보관하려면
이름을 바꾸거나 다른 dataset으로 복사해 두어야 한다 :
(예) ex 'BBO.SBBOEXEC(BBORBLOG)' 'WAS_LogStream_Name‘
(예) WAS Log :
2002/09/05 20:26:10.233 01 SYSTEM=SC49 SERVER=NAMING01 JobName=BBONMS
ASID=0X0060 PID=0X01060042 TID=0X23AE32E0 0X000008 c=1.19
./bboi3pli.cpp+3712 ... BBOU0011W The function
IBOIM390PrivateLocalToServer_IMContainer_Impl::beforeMethodDispatch(::
ByteString*,CORBA::Object_LocalProxy_ptr,const
char*,CORBA::Long)+3712 raised CORBA system exception
CORBA::INV_OBJREF. Error code is C9C21444
145
© IBM Corporation 2007
IBM Global Services
WebSphere (WAS) 문제분석 Data 수집 절차
1-2) WAS Joblog와 Syslog :
Syslog는 Master Console로 나가는 message들리 저장되는 곳이다. 주요
WAS관련 message들은 Syslog와 WAS Joblog로 나가며 Syslog나 Joblog로
부터의 output은 SPOOL Display와 SDSF를 통해 보여질 수 있다.
WAS 문제분석과 연관된 주요 JES Spool DD이름은 다음과 같다 :
a) JESMSGLG : 일련의 환경 변수 값과 server setting값을 포함하는
Start-up message들이 포함된다.
b) JESYSMSG : 일련의 환경 변수 값과 server setting값을 포함하면서
더 많은 message와 dump정보를 나열한다.
1-3) CEEDUMP :
WAS address space에서 발생하는 exception은 CEEDUMP를 발생시키는
원인이 될 수 있다. CEEDUMP는 Trace Back을 포함하는 Failing information을
낼 수도 있다.
1-4) SYSOUT :
정상적인 운영상황에서는 SYSOUT은 비어있지만 output이 SYSOUT으로 나가게
되는 경우가 발생한다. 만약 error log logstream이 connect가 될 수 없을 경우
error log로 나가게 되는 message들은 CERR로 나가게 되며 이때 SYSOUT으로
나가게 된다. ‘JVM_DEBUG=1’로 환경변수를 정의해 놓고 jvm_logfile을
정의하지 않았을 때 JVM으로 부터의 trace도 SYSOUT으로 나가게 된다.
146
© IBM Corporation 2007
IBM Global Services
WebSphere (WAS) 문제분석 Data 수집 절차
1-5) SYSPRINT :
만약 환경변수에 ‘ras_trace_outputLocation=SYSPRINT’ 를 정의했을 경우에
WAS trace output은 SYSPRINT로 나갈 수 있다.
Processing Trace Settings File:
config/cells/cl6481/nodes/nd6481/servers/ws6481/trace.dat
Trace: 2005/04/22 07:08:07.453 01 t=7E3E88 c=UNK key=P8 (13007002)
ThreadId: 0000000a
FunctionName: com.ibm.ws390.orb.CommonBridge
SourceId: com.ibm.ws390.orb.CommonBridge
Category: AUDIT
ExtendedMessage: BBOJ0011I JVM Build is J2RE 1.4.2 IBM z/OS Persistent Reusable VM
build cm142sr1a-20050209 (JIT enabled: jitc)
Trace: 2005/04/22 07:08:07.464 01 t=7E3E88 c=UNK key=P8 (13007002)
ThreadId: 0000000a
FunctionName: com.ibm.ws390.orb.CommonBridge
SourceId: com.ibm.ws390.orb.CommonBridge
Category: AUDIT
ExtendedMessage: BBOJ0051I PROCESS INFORMATION: STC26724/WS6481S , ASID=103(0x67),
PID=68157916(0x41001dc)
Trace: 2005/04/22 07:08:07.489 01 t=7E3E88 c=UNK key=P8 (13007002)
ThreadId: 0000000a
FunctionName: printProperties
SourceId: com.ibm.ws390.orb.CommonBridge
Category: AUDIT
ExtendedMessage: BBOJ0077I java.vendor = IBM Corporation
Trace: 2005/04/22 07:08:07.492 01 t=7E3E88 c=UNK key=P8 (13007002)
147
© IBM Corporation 2007
IBM Global Services
WebSphere (WAS) 문제분석 Data 수집 절차
(2) Dumping WebSphere Application Server address spaces :
WAS 문제 분석을 위해 필요한 dump는 특정한 WAS address space뿐만 아니라
WAS와 관련된 address space들 (OMVS,TCP/IP,HTTP address space)에 대한
dump도 요구될 수 있다. 다음과 같은 dump command를 이용하여 관련 address
space들과 data space들에 대한 dump를 획득할 수 있다 :
DUMP COMM=(description of problem)
JOBNAME=(OMVS,WAS Serverproc,HTTP server,TCP/IP address space),DSPNAME=('OMVS'.*),
SDATA=(CSA,GRSQ,LPA,NUC,PSA,RGN,SQA,TRT,SUM)
WAS address space의 구조는 하나의 server control region과 daemon region 및
여러 개의 servant region들로 구성될 수 있으므로 정확한 문제 분석을 위해 관련된
address space들에 대한 dump가 요구될 수 있으므로 DUMP MAXSPACE가 적어도
2,500M는 정의가 되어야 한다 : IEACMDxx member
COM='CHNGDUMP SET,SDUMP, MAXSPACE=2500M,ADD'
2-1) WebSphere Application Server CTRACE (SYSBBOSS) :
WAS z/OS Daemon이나 Subcomponent에 대해 사용하며 고객 Application에는
사용할 수 없다. 문제 분석을 위해서 format된 CTRACE를 획득하기 위해서는
몇 개의 단계를 따르면 된다.
1. Component Trace를 위한 절차 :
(a) WAS z/OS Trace를 위해 CTIBBOxx Parmlib member를 만든다.
‘ras_trace_outputLocation-BUFFER’를 지정할 때에만 사용된다.
148
© IBM Corporation 2007
IBM Global Services
WebSphere (WAS) 문제분석 Data 수집 절차
WAS z/OS는 Default CTRACE PARMLIB member를 제공한다 :
TRACEOPTS
/* Start a ctrace writer. Remove comments to start the PROC */
/* during CB Series address space initialization. */
WTRSTART(BBOWTR)
/* Indicate that tracing is active for CB Series: */
ON
/* Connect to ctrace external writer (BBOWTR): */
WTR(BBOWTR)
(*) BBOWTR started task는 WAS가 start시키지 않으므로 직접 start를 시켜줘야
한다.
(b) WAS z/OS Trace를 위해 Buffer개수를 지정한다 :
WAS z/OS는 MVS MODIFY (F) command를 이용하여 Trace Option들을
지정할 수 있다.
MODIFY was_server_name,TRACETOSYSPRINT=YES
MODIFY was_server_name,TRACEALL=n (여기서 n은 Trace Level)
(*) Trace Level은 0 (None), 1 (exceptions), 2 (basic/exception) 및
3 (detail Basic/Exception tracing)로 되어있다. 정상적인 운영상황과
production환경에서는 1(exception)로 사용하다 문제가 발생하여 분석이
필요한 경우 3 (detailed tracing)으로 변경할 것을 권고한다.
149
© IBM Corporation 2007
IBM Global Services
WebSphere (WAS) 문제분석 Data 수집 절차
2. Trace data를 획득하기 위한 절차 :
(a) 먼저 trace data set (DCB ; PS, VB, 32760, 32760)을 Allocate시켜 놓아야
한다.
z/OS parmlib member인 CTIBBO00에 default로 자동적으로 CTRACE Writer
address space를 start시킨다. 만약 CTRACE Writer가 start되어 있지 않다면
command를 이용해서 start시킬 수 있다 : TRACE CT,WTRSTART=BBOWTR
이때 다음과 같은 message가 발생한다 :
ITT110I INITIALIZATION OF TRACE WRITER BBOWTR COMPLETE.
(b) 필요한 trace spec을 가지고 Daemon address space를 start시킨다
(c) WebSphere for z/OS server를 start시킨다
(d) Trace data 수집 :
문제 분석을 위해 Trace data가 필요하면 다음과 같은 절차를 수행하면 된다 :
- Operator command를 이용하여 WAS를 CTRACE로 부터 DISCONNECT시킨다 :
TRACE CT,ON,COMP=SYSBBOSS
REPLY x,WTR=DISCONNECT,END
-
Operator command를 이용하여 CTRACE address space를 STOP시킨다 :
.
TRACE CT,WTRSTOP=BBOWTR
150
© IBM Corporation 2007
IBM Global Services
WebSphere (WAS) 문제분석 Data 수집 절차
(예) WAS CTRACE Syslog output
SY1 TRACE CT,ON,COMP=SYSBBOSS
SY1 *04 ITT006A SPECIFY OPERAND(S) FOR TRACE CT COMMAND.
SY1 REPLY 4,WTR=DISCONNECT,END
SY1 IEE600I REPLY TO 04 IS;WTR=DISCONNECT,END
SY1 ITT038I ALL OF THE TRANSACTIONS REQUESTED VIA THE TRACE CT
COMMAND WERE SUCCESSFULLY EXECUTED.
SY1 IEE839I ST=(ON,0064K,00128K) AS=ON BR=OFF EX=ON MT=(ON,016K)
ISSUE DISPLAY TRACE CMD FOR SYSTEM AND COMPONENT TRACE STATUS
ISSUE DISPLAY TRACE,TT CMD FOR TRANSACTION TRACE STATUS
SY1 TRACE CT,WTRSTOP=BBOWTR
SY1 ITT038I ALL OF THE TRANSACTIONS REQUESTED VIA THE TRACE CT
COMMAND WERE SUCCESSFULLY EXECUTED.
SY1 IEE839I ST=(ON,0064K,00128K) AS=ON BR=OFF EX=ON MT=(ON,016K)
ISSUE DISPLAY TRACE CMD FOR SYSTEM AND COMPONENT TRACE STATUS
ISSUE DISPLAY TRACE,TT CMD FOR TRANSACTION TRACE STATUS
SY1 AHL904I THE FOLLOWING TRACE DATASETS CONTAIN TRACE DATA :
ITSOWAS.BOSS.CTRACE
SY1 ITT111I CTRACE WRITER BBOWTR TERMINATED BECAUSE OF A WTRSTOP
REQUEST
151
© IBM Corporation 2007
IBM Global Services
WebSphere (WAS) 문제분석 Data 수집 절차
(3) LDAP trace :
z/OS Secureway Security Server의 LDAP (Lightweight Directory Access Protocol)
component는 Java Naming and Directory Interface (JNDI),CORBA (MOFW)
naming과 interface repository service 를 위한 directory service를 제공하며 DB2
table에 directory의 내용이 저장된다.
LDAP은 또한 security와 authorization관련 문제의 분석에 매우 유용하게 쓰이는
trace를 가지고 있다.
LDAP server는 STC로 혹은 z/OS Shell로 부터 수행되는데 MVS MODIFY (F)
command를 이용하여 SDSF나 OP Console로 부터 LDAP server로 dynamic하게
debugging facility에 대한 구동과 정지를 시킬 수 있다 :
f ldap,appl=debug=<nnnnn> : nnnn은 Decimal로 정의된 Debug Level내지
Debug Keyword이다.
(Debug Keyword 예) 모든 error condition에 대한 trace를 위해서는 ‘ERROR’를
지정하면 된다.
LDAP server를 start시키기 전에 LDAP_DEBUG 환경변수를 지정해 놓으며 server가
지정된 환경변수를 먼저 사용하게 된다 :
(예) export LDAP_DEBUG=‘ERROR+TRACE’
LDAP server가 start될 때 ‘-d’ parameter를 지정할 수도 있다. 여기에 지정된
Debug Level은 기존에 지정되어 있는 Debug Level을 ‘Replace,Add 혹은
Delete’시킬 수 있다 :
(예) s ldapsrv,parms=‘-d ERROR’ : LDAP Debug Level이 ‘ERROR’로 된다.
Debug Trace를 끝내려면 '0'로 세팅한다
152
© IBM Corporation 2007
IBM Global Services
WebSphere (WAS) 문제분석 Data 수집 절차
(4) IBM HTTP Server Log, Trace :
Server Error Log는 Client에서 발생한 error도 포함되는데 timeout과 access
error등에 대한 정보가 포함되어 있는데 Error log는 httpd.conf에 ErrorLog
directory로 지정되어 있는 HFS File에 저장된다.
(예) ErrorLog /web/logs/errorlog
Server는 Access Log file에 activity를 기록하고 매일 기록을 저장하며 Access log는
httpd.conf에 AccessLog directory로 지정되어 있는 HFS File에 저장된다.
(예) AccessLog /web/logs/accesslog
153
© IBM Corporation 2007
IBM Global Services
WebSphere (WAS) 문제분석 Data 수집 절차
4-1) HTTP –vv Tracing :
Server trace는 여러 level의 Debugging이 있지만 –vv trace가 가장 많이
사용된다.
–vv trace를 기동시키는 방법은 2가지가 있다 :
1) Started Procedure에 –vv parameter를 이용하여 기동시키는 방법 :
//IMWPROC PROC LEPARM=,ICSPARM=’-vv -r /web/httpd.conf’
//*********************************************************************
//WEBSRV EXEC PGM=IMWHTTPD,REGION=0K,TIME=NOLIMIT,
// PARM=(ⓒ&LEPARM/&ICSPARMⓒ)
//*********************************************************************
//SYSIN DD DUMMY
//OUTDSC OUTPUT DEST=HOLD
//SYSPRINT DD SYSOUT=*,OUTPUT=(*.OUTDSC)
//SYSERR DD SYSOUT=*,OUTPUT=(*.OUTDSC)
//STDOUT DD SYSOUT=*,OUTPUT=(*.OUTDSC)
//STDERR DD SYSOUT=*,OUTPUT=(*.OUTDSC)
//SYSOUT DD SYSOUT=*,OUTPUT=(*.OUTDSC)
//CEEDUMP DD SYSOUT=*,OUTPUT=(*.OUTDSC)
2) Console command를 이용하여 server를 기동시키는 방법 :
f imwebsrv,appl=-vv
여기서 imwebsrv는 IBM HTTP Server이름이며 다음의 message가 발생한다 :
IMW3518I Second level tracing (-vv) enabled.
Trace를 중지시키는 command : f imwebsrv,appl=-nodebug
Command에 의해서 Trace가 중지될때 발생하는 message :
MW3508I Debug has been disabled for all modules.
154
© IBM Corporation 2007
IBM Global Services
WebSphere (WAS) 문제분석 Data 수집 절차
(5) JVM Debugging for z/OS
JVM은 WAS의 수행환경에서 핵심부분을 차지하고 있고 대부분의 poduct들은
USS Run-time환경에서 수행되고 있는데 Production WebSphere z/OS환경에서
JVM 문제분석 시 JVM Trace를 이용하여 필요한 분석 data를 획득할 수 있다.
5-1) JVM_DEBUG
JVM Application에서 발생한 event를 detail하게 보려면 current.env에 JVM
Messaging을 이용하면 된다. 이때 JVM_TRACE도 ON되게 된다 :
JVM_DEBUG=1
current.env file
> Each server instance has its own set of environment files.
.......................
> Server region needs current.env and jvm.properties files.
.......................
> Both files live in the same directory: /WebSphere390/CB390/
BBOLANG=ENUS
controlinfo/envfile/<sysplex>/<server_instance>/
CBCONFIG=/Websphere390/CB390
management GUI.
current.env files are managed via the systems
DAEMON_PORT=5555
> jvm.properties are managed by hand.
DAEMON_SSL_PORT=5556
DATASHARING=1
DM_GENERIC_SERVER_NAME=CBDAEMON
DM_SPECIFIC_SERVER_NAME=DAEMON01
ICU_DATA=/usr/lpp/WebSphere/bin
IR_GENERIC_SERVER_NAME=INTFRP01
..........................
JVM_DEBUG=1
RESOLVE _IPNAME=ws11.washington.ibm.com
SM_DEFAULT_ADMIN=CBADMIN
.........................
.........................
SRVIPADDR=None
SYS_DB2_SUB_SYSTEM_NAME=JUDY
TRACEALL=1
TRACEBUFFLOC=BUFFER
TRACEPARM=00
155
© IBM Corporation 2007
IBM Global Services
WebSphere (WAS) 문제분석 Data 수집 절차
5-2) JRas
System management problem에 사용한다.
trace.settings file을 current.env file과 같은 directory에 둔다.
/WebSphere390/CB390/controlinfo/envfile/<sysplex_name>/<sysmgmt_serverinstance>
J2EE server나 Java BOs와 같이하는 server에도 사용한다.
156
© IBM Corporation 2007
IBM Global Technology Services
VTAM
최동준 [email protected]
IBM Global Services
VTAM 문제분석 command
VTAM Dump 및 VTAM Trace 를 받기 전에 아래의
command 를 사용하여 문제를 파악한다.
(1) D NET,PENDING
pending 상태에 있는 resource를 보여준다.
(2) D NET,CDRMS
cross-domain resource를 보여준다.
(3) D NET,ID=name
named device의 상태를 보여준다.
(4) D NET,BFRUSE
VTAM buffer statistics를 보여준다.
(5) D NET,ACT,ID=name
해당 resource를 activate 시킨다.
(6) D NET,INACT,ID=name
해당 resource를 deactivate 시킨다.
158
© IBM Corporation 2007
IBM Global Services
VTAM Trace
(1) VTAM Trace를 받는 절차
VTAM Trace를 받기 위한 운영절차는 다음의 순서를 따라야 한다.
1. 대상 Resource를 준비 상태로 만든다.
2. GTF(Generalized Trace Facility)를 start한다.
3. VTAM Trace를 start한다.
4. Error를 발생시킨다.
5. VTAM Trace를 stop한다.
6. GTF를 stop한다.
7. 획득한 Trace를 IPCS나 ACF/TAP Service Tool을 이용하여 Format한다.
(2) 사전 준비 작업
GTF Trace Option을 지정해 주어야 하며 Option 및 Start/Stop하는 방법은 아래
설명을 참조한다.
(3) VTAM Trace를 위한 GTF Option 및 Start 방법
3-1) GTF trace option - TRACE=USR
- 'user-defined' 모든 event
- VATM trace인 경우 Buffer, Line, SIT, TG, GPT, VIT, SMS 등
3-2) GTF trace option - TRACE=USRP
- ‘user-defined' 선택적 event
- GTF trace option 'USR="에 Event ID를 정의
- USR=(FE1,FE2,FE3,FE4,FEF,FF0,FF1,FF2)
3-3) GTF trace option - TRACE=RNIO
- TYPE=IO VTAM Trace만 trace됨
159
© IBM Corporation 2007
IBM Global Services
VTAM Trace
(4) GTF를 start하는 방법의 예
S GTF
AHL121I SYS1.PARMLIB INPUT INDICATED
AHL103I TRACE OPTION SELECTED -- SYSM,TRC,DSP,PCI,RNIO,USR
*xx
AHL125A RESPECIFY TRACE OPTIONS OR REPLY U
R xx,u or R xx, TRACE=RNIO,USR
*yy
AHL102A CONTINUE TRACE DEFINITIONS OR REPLY END
R yy,END
AHL102I TRACE OPTIONS SELECTED -- XXX,USR,PNIO,YYY,ZZZ,…
*zz
AHL125A RESPECIFY TRACE OPTIONS OR REPLY U
(5) GTF를 stop하는 방법의 예
STOP GTF
(6) VTAM Trace를 start하는 방법
VTAM trace를 start하는 방법은 두가지로 나눌 수 있다 :
(a) VTAM start시 start option에 의해서
(b) VTAM start후 MODIFY TRACE command에 의해서 trace를 start할 수 있다.
(7) VTAM start시 trace하는 방법
7-1) Trace option의 source
- VTAM default는 NOTRACE이고,
- Start option list는 ATCSTRxx 또는 ATCSTR00이다.
7-2) Start trace option format
TRACE|NOTRACE,TYPE=BUF,ID=nodename(,EVERY)
TRACE|NOTRACE,TYPE=IO,ID=nodename(,EVERY)
160
© IBM Corporation 2007
IBM Global Services
VTAM Trace
(8) Trace 시작 및 종료 Command
아래의 VTAM Command를 이용하여 각종 Trace를 GTF Trace에 출력시킬 수 있다.
MODIFY TRACE command를 이용하여 trace를 start 할 수 있고,
MODIFY NOTRACE command를 이용하여 trace를 stop시킨다.
8-1) MODIFY TRACE Command
MODIFY (F) procname, TRACE, TYPE=
- BUF|IO, ID=nodename, SCOPE=all|only
(사용 예)
F NET,TRACE,TYPE=IO,ID=pu/lu name
F NET,TRACE,TYPE=BUF,ID=pu/lu name
8-2) MODIFY NOTRACE command
MODIFY NOTRACE command는 trace를 중단시킨다.
start시 사용된 nodename과 type이 일치하여야 한다.
MODIFY (F) procname, NOTRACE,TYPE=
- BUF|IO, ID=nodename, SCOPE=all|only
161
© IBM Corporation 2007
IBM Global Services
VTAM Trace
(9) Trace의 종류 및 Command 사용법
VTAM의 Procedure 명을 NET이라고 가정하고, Trace의 지정할 수 있는 Node에
대한 내용은 다음과 같다.
9-1) BUFFER Trace
F NET, TRACE, TYPE=BUF, ID=nodename [,SCOPE=ALL|ONLY]
- nodename는 Active 상태의 PU명, NCP명 및 LU명
- SCOPE = ALL은 하위 NODE 전체를 포함
- Trace data 길이는 GTF Header를 포함해서 256 Byte
(주) TSO인 경우 SYS1,PARMLIB의 Member TSOKEY00에 CONFTXT=YES로
지정된 경우 Data를 Trace하지 않는다.
9-2) RNIO Trace
36 Byte 까지의 PIU data를 Trace
F NET, TRACE, TYPE=IO, ID=node name [,SCOPE=ALL|ONLY]
(10) TSO Trace
TSO user address space 내의 VTAM 부분(VTIOC)인 data를 trace한다.
F NET, TRACE, TYPE=TSO, ID=TSO user id
162
© IBM Corporation 2007
IBM Global Services
VTAM Trace
(11) VTAM Internal Trace (VIT)
VTAM 내부의 event를 trace한다.
F NET, TRACE, TYPE=VTAM, OPT=ALL, MODE=EXT
OPTION=( API,
: application program interface
CIO,
: channel input and output
MSG,
: messages
NRM,
: network resource management
PIU,
: path information unit flows
SSCP)
: system service control point
MODE=INT
: trace 내용이 internal trace table에 기록됨.
MODE=EXT
: trace 내용이 SYS1.TRACE 에 기록됨.
(12) Trace를 Format하는 방법
IPCS 나 ACF/TAP 을 이용해서 print 할 수 있다.
163
© IBM Corporation 2007
IBM Global Technology Services
TCP/IP
최동준 [email protected]
IBM Global Services
TCP/IP 문제분석 Data 수집 절차
1. TCP/IP Component 및 Packet Trace
Network 문제가 발생하였을 경우, 문제 해결을 위해서 각종 Trace가
필수적이다.TCP/IP 환경에서도 각종 Trace가 필요한데,주요 Trace가
Component Trace(CTRACE) 와 Packet Trace이다. Component Trace는
VTAM Internal Trace(VIT)와 같은 것으로 TCP/IP의 내부적인 Control 흐름을
Trace하는 것이고, Packet Trace는 VTAM Buffer Trace의 기능과 같은 것으로
TCP/IP로 들어오고 나가는 Data를 trace하는 것이다.
(1) TCP/IP Component Trace를 받는 방법
1-1) SYS1.PARMLIB member (CTIEZB00)를 수정
/******************************************************************
/*
/* TCP/IP for MVS
/* SMP/E Distribution Name: CTIEZB00
/*
/* MEMBER: CTIEZB00
TRACEOPTS
/* --------------------------------------------------------------/*
ON OR OFF: PICK 1
/* --------------------------------------------------------------ON
/*
OFF
/* --------------------------------------------------------------/*
BUFSIZE: A VALUE IN RANGE 128K TO 16M
/* --------------------------------------------------------------BUFSIZE(256K)
165
© IBM Corporation 2007
IBM Global Services
TCP/IP 문제분석 Data 수집 절차
/* --------------------------------------------------------------/* OPTIONS: NAMES OF FUNCTIONS TO BE TRACED, OR "ALL"
/* --------------------------------------------------------------/*
OPTIONS(
/*
'ALL
*/
'
*/
/*
,'MINIMUM ' */
/*
,'ARP
/*
,'CLAW
/*
,'CONFIG '
/*
,'CTC
/*
,'ENGINE '
/*
,'FIREWALL' */
/*
,'ICMP
/*
,'INIT
/*
,'INTERNET' */
/*
,'IOCTL '
/*
,'LCS
/*
,'MESSAGE ' */
/*
,'OPCMDS ' */
/*
,'OPMSGS ' */
/*
,'PASAPI '
*/
/*
,'PFS
*/
/*
,'QUEUE ' */
/*
,'RAW
/*
,'SERIAL '
*/
/*
,'SNMP
*/
/*
,'SOCKET ' */
/*
,'STORAGE ' */
/*
,'SYSCALL ' */
/*
,'TCP
/*
,'TELNET ' */
/*
,'TELNVTAM' */
/*
,'TIMER '
*/
/*
,'UDP
'
*/
/*
,'VTAM
' */
/*
,'VTAMDATA' */
/*
,'WORKUNIT' */
/*
)
'
*/
'
'
*/
*/
*/
'
*/
*/
'
*/
'
*/
*/
'
' */
'
'
*/
*/
**********************************************************************
(주)원하는 trace option을
166
선택하거나, ALL을 선택.
© IBM Corporation 2007
IBM Global Services
TCP/IP 문제분석 Data 수집 절차
1-2) SYS1.PROCLIB(CTTCP)를 수정
**********************************************************************
//CTTCP PROC
//* REFER: SYS1.PROCLIB(CTTCP)
//* COMPID: OPER //* DOC: TH
//* DOC: THIS PROCEDURE IS THE IPCS CTRACE1 EXTERNAL WRITE
//*
PROCEDURE
//* USED BY TCP/IP
//*
//IEFPROC
EXEC PGM=ITTTRCWR
//TRCOUT01 DD DSNAME=MEGA.IPCS.CTRACE1,UNIT=SYSDA,
//
VOL=SER=STORGE,
//
SPACE=(4096,(100,10)),DISP=(NEW,CATLG),DSORG=PS
//
**********************************************************************
(주)충분한 Trace를 받기 위해 Space를 조정한다.
1-3) TCP/IP Start-up시 PARMLIB을 가지고 CTRACE를 Start
CTRACE 를 start 하는 방법은 두 가지 방법이 있다 :
(a) PARMLIB(CTIEZBnn)을 가지고 TCP/IP Start-up 시 start 하는 방법.
(b) Trace command 로 TCP/IP Start-up후 원하는 시점에 start 하는 방법.
(아래 4번째 step).
S tcpip_procedure_name,PARMS=CTRACE(CTIEZB00)
1-4) Trace Command에 의한 CTRACE Start
TRACE CT,ON,COMP=SYSTCPIP,SUB=(tcpip_proc),PARM=CTIEZB00
167
© IBM Corporation 2007
IBM Global Services
TCP/IP 문제분석 Data 수집 절차
1-5) Component Trace Status를 display.
DISPLAY TRACE,COMP=SYSTCPIP,SUB=(tcpip_procedure_name)
1-6) External Writer를 Start
Trace output 을 external writer (proc CTTCP에 지정된 dataset)에
보관하거나 Data Space에 보관할 수 있다.
TRACE CT,WTRSTART=CTTCP
1-7) External Writer를 Connect.
TRACE CT,ON,COMP=SYSTCPIP,SUB=(tcpip_procedure_name)
R nnnn,WTR=CTTCP,END
1-8) Error가 발생할 때까지 Trace를 받는다.
1-9) External Writer를 Disconnect
TRACE CT,ON,COMP=SYSTCPIP,SUB=(tcpip_procedure_name)
R nn,WTR=DISCONNECT,END
1-10) External Writer를 Stop.
TRACE CT,WTRSTOP=CTTCP
1-11) Component Trace를 Stop.
TRACE CT,OFF,COMP=SYSTCPIP,SUB=(tcpip_procedure_name)
168
© IBM Corporation 2007
IBM Global Services
TCP/IP 문제분석 Data 수집 절차
1-12) TRACE DATA를 DUMP안에 받는 방법
MEMBER(CTIEZB00) 안의 BUFSIZE 의 값을 최대한 늘려준다.(MAX 16M)
다음과 같이 COMMAND 로 TCP/IP ADDRESS SPACE 및 DATA SPACE를
DUMP를 받는다.
DUMP COMM=(your dump title here)
R n,JOBNAME=tcpipproc,DSPNAME='TCPIPPROC'.TCPIPDS1,CONT
R n,SDATA=(nuc,rgn,csa,sqa),END
(2) TCP/IP Packet Trace를 받는 방법
2-1) SYS1.PROCLIB를 Update
충분한 packet trace를 받게 space를 조정한다.
//PTTCP PROC
//* CTWDASD PROC
//* REFER: SYS1.PROCLIB(CTWDASD)
//* COMPID: OPER
//* DOC: THIS PROCEDURE IS THE IPCS CTRACE1 EXTERNAL WRITE PROCEDURE
//* USED BY TCP/IP
//*
//IEFPROC
EXEC PGM=ITTTRCWR
//TRCOUT01 DD DSNAME=TCPIP.PTRACE1.PTRACE,UNIT=SYSDA,
//
//
VOL=SER=STORGE,
SPACE=(40960,(1024,100)),DISP=(NEW,CATLG),DSORG=PS
//
169
© IBM Corporation 2007
IBM Global Services
TCP/IP 문제분석 Data 수집 절차
2-2) Packet Ttrace를 Start.
V TCPIP,tcpipproc,PKT
2-3) External Writer를 Start.
TRACE CT,WTRSTART=PTTCP,WRAP
2-4) External Writer를 Connect.
TRACE CT,ON,COMP=SYSTCPDA,SUB=(tcpip_procedure_name)
R nnnn,WTR=PTTCP,END
2-5) Error가 발생할 때까지 Packet Trace를 받는다.
2-6) External Writer를 Disconnect.
TRACE CT,OFF,COMP=SYSTCPDA,SUB=(tcpip_procedure_name)
R nn,WTR=DISCONNECT,END
2-7) External Writer를 stop.
TRACE CT,WTRSTOP=PTTCP
170
© IBM Corporation 2007
IBM Global Services
TCP/IP 문제분석 Data 수집 절차
(3) TCP/IP Component Trace 및 Packet Trace Output을 보는 방법
OS/390 V2.5 이상부터는 IPCS를 이용하여 Component Trace 및 Packet trace를
분석 할 수 있다.
3-1) TRACE DATASET 명을 지정
IPCS PRIMARY OPTION MENU 에서 0(DEFAULTS)을 선택하고,
TRACE DATASET 명을 지정.
3-2) IPCS main panel에서 2 (ANALYSIS)를 선택
--------------------- IPCS PRIMARY OPTION MENU ---------------OPTION ===> 2
0 DEFAULTS
- Specify default dump and options
1 BROWSE
- Browse dump data set
2 ANALYSIS
3 UTILITY
- Analyze dump contents
- Perform utility functions
4 INVENTORY - Inventory of problem data
5 SUBMIT
6 COMMAND
T TUTORIAL
X EXIT
- Submit problem analysis job to batch
- Enter subcommand, CLIST or REXX exec
- Learn how to use the IPCS dialog
- Terminate using log and list defaults
Enter END command to terminate IPCS dialog
171
© IBM Corporation 2007
IBM Global Services
TCP/IP 문제분석 Data 수집 절차
3-3) ANALYSIS panel에서 7 (TRACES)을 선택
------------- IPCS MVS ANALYSIS OF DUMP CONTENTS ----------OPTION ===> 7
To display information, specify the corresponding option number.
1 SYMPTOMS
2 STATUS
- Symptoms
- System environment summary
3 WORKSHEET - System environment worksheet
4 SUMMARY
- Address spaces and tasks
5 CONTENTION - Resource contention
6 COMPONENT - MVS component data
7 TRACES
- Trace formatting
Enter END command to terminate MVS dump analysis.
3-4) 1 (CTRACE)을 선택
------------------- IPCS Trace Processing ----------------OPTION ===> 1
To display trace information, enter the corresponding option number
1 CTRACE
- Component trace
2 GTFTRACE
- Generalized trace facility
3 MTRACE
- Master trace
4 SYSTRACE
- System traces
5 CPUTRACE
- Hardware instruction trace buffer
6 MERGE
- Merge multiple traces
T TUTORIAL
- Details on these traces
Enter END command to terminate IPCS trace processing.
172
© IBM Corporation 2007
IBM Global Services
TCP/IP 문제분석 Data 수집 절차
3-5) D (DISPALY)를 선택
---------------- CTRACE PRIMARY OPTION MENU --------------OPTION ===> d
To display CTRACE information, enter the corresponding option.
Q QUERY
- Specify parameters for QUERY report
D DISPLAY
- Specify parameters to display CTRACE entries
S START
- Start CTRACE subcommand as specified below
R RESET
- Reset the CTRACE parameters
END/PF3 = terminate CTRACE processing.
3-6) TRACE의 PARAMETER 지정
Component trace 인 경우,Component 항에 SYSTCPIP 로 지정
Packet trace 인 경우,Component 항에 SYSTCPDA 로 지정
------------------ CTRACE DISPLAY PARAMETERS ------------------COMMAND ===> S
System
===>
(System name or blank)
Component
===> SYSTCPIP (Component name (required))
Subnames
===>
GMT/LOCAL ===> G
Start time
Stop time
Limit
Report type
User exit
(G or L, GMT is default)
===>
(mm/dd/yy,hh:mm:ss.dddddd
===>
===> 0
mm/dd/yy,hh.mm.ss.dddddd)
Exception ===>
===> FULL
===>
(SHort, SUmmary, Full, Tally)
(Exit program name)
Override source ===>
Options
===>
To enter/verify required values, type any character
Entry IDs ===> Jobnames ===> ASIDs ===> OPTIONS ===>
SUBS ===
CTRACE COMP(SYSTCPIP) FULL
ENTER = update CTRACE definition. END/PF3 = return to previous panel.
173
© IBM Corporation 2007
IBM Global Technology Services
Online Dump 받는 법(DB2 Data Sharing기준)
DUMP COMM=(Your Dump Title)
*XX IEE094D SPECIFY OPERAND(S) FOR DUMP COMMAND
R XX, JOBNAME=(xxxx1,xxxx2,xxxx3,xxxx4),
SDATA=(ALLNUC,ALLPSA,CSA,GRSQ,LPA,LSQA,NUC,PSA,
RGN,SQA,SUM,SWA,TRT,COUPLE,WLM,XESDATA),END
© Copyright IBM Corporation 2007