Professional Documents
Culture Documents
IMS DB PRESENTATION Ver 1.1
IMS DB PRESENTATION Ver 1.1
1
SESSION 1 IMS GENERAL CONCEPTS
SESSION 2 DL/I CONTROL BLOCKS
SESSION 3 SEGMENT SEARCH ARGUMENTS (SSAs)
SESSION 4 COBOL BASICS FOR IMS
SESSION 5 DL/I CALLS
SESSION 6 COMMAND CODES
SESSION 7 DL/I CALLS EXERCISE
SESSION 8 DATABASE ACCESS METHODS
SESSION 9 MULTIPLE PROCESSING
SESSION 10 SECONDARY INDEXING
SESSION 11 LOGICAL RELATIONSHIP
SESSION 12 DB RECOVERY/RESTART
SESSION 13 EFFICIENT PROGRAMMING TIPS
SESSION 14 COMMON IMS ABENDS
2
SESSION 1
3
IMS GENERAL CONCEPTS
4
IMS GENERAL CONCEPTS Continued ...
HIERARCHICAL STRUCTURE
SEGMENT OCCURRNCES
ROOT SEGMENT WILL BE ON TOP
B1
B2
C1 D1 SEGMENT
-- Level 2
DEPENDENT SEGMENTS
TWIN SEGMENTS
5
IMS GENERAL CONCEPTS Continued ...
6
IMS GENERAL CONCEPTS Continued ...
KEY FIELDS
SEARCH FIELDS
CHANGED
7
IMS GENERAL CONCEPTS Continued ...
TYPES OF SEGMENTS
8
IMS GENERAL CONCEPTS Continued ...
EXERCISE - 1
1
2 3 4
5 6 7 8 9
9
IMS GENERAL CONCEPTS Continued ...
DATABASE RECORD
10
IMS GENERAL CONCEPTS Continued ...
EXERCISE-2
11
IMS GENERAL CONCEPTS Continued ...
IMS SUPPORTS
15 LEVELS
255 SEGMENTS
1000 FIELDS
12
IMS GENERAL CONCEPTS Continued ...
IMS ENVIRONMENT
13
IMS GENERAL CONCEPTS Continued ...
IMS ENVIRONMENT
MODES OF PROCESSING
BATCH DL/I MODE
MPP MODE
BMP MODE
ONLINE BATCH
14
IMS GENERAL CONCEPTS Continued ...
IMS ENVIRONMENT
BATCH DL/I
TRUE BATCH PROCESSING
NO DATA COMMUNICATION SERVICES ARE USED
DATABASES ACCESSED MUST BE OFFLINE
15
IMS GENERAL CONCEPTS Continued ...
IMS ENVIRONMENT
BMP (BATCH MESSAGE PROCESSING)
TWO TYPES
1. TRANSACTION ORIENTED:
CAN READ & WRITE TO ONLINE MESSAGE QUEUES
CAN PROCESS ONLINE FILES AND DATABASES
2. BATCH ORIENTED:
CAN ONLY READ MESSAGE QUEUES
ACCESS ONLINE DATABASES IN BATCH MODE
16
SESSION 2
17
DL/I CONTROL BLOCKS
18
DL/I CONTROL BLOCKS Continued ...
STATEMENT DESCRIPTION
DBD SPECIFIES DATABASE NAME, ACCESS METHOD
DATASET SPECIFIES DD NAME TO BE USED IN JCL, DISK TYPE
SEGM SPECIFIES SEGMENT NAME,SEGMENT LENGTH, PARENT
FIELD SPECIFIES FIELD NAME, LENGTH, STARTING POSITION
IDENTIFIES A FIELD AS KEY OR SEARCH FIELD
19
DL/I CONTROL BLOCKS Continued ...
SAMPLE DBDGEN
PRINT NOGEN
DBD NAME=VENDOR,ACCESS=HDAM
DATASET DD1=VEND,DEVICE=3380
SEGM NAME=VENSEG,PARENT=0,BYTES=10
FIELD NAME=(VENCODE,SEQ,U),BYTES=10,START=1,TYPE=C
SEGM NAME=ITEMSEG,PARENT=VENSEG,BYTES=5
FIELD NAME=(ITEMCODE,SEQ,U),BYTES=5,START=1,TYPE=C
SEGM NAME=LOCNSEG,PARENT=ITEMSEG,BYTES=9
FIELD NAME=(LOCNCODE,SEQ),BYTES=3,START=1,TYPE=C
FIELD NAME=ORDDATE,BYTES=6,START=4,TYPE=C
DBDGEN
FINISH
END
20
DL/I CONTROL BLOCKS Continued ...
21
DL/I CONTROL BLOCKS Continued ...
22
DL/I CONTROL BLOCKS Continued ...
23
DL/I CONTROL BLOCKS Continued ...
A A
B C C
D E E
24
DL/I CONTROL BLOCKS Continued ...
SAMPLE PSBGEN
PRINT NOGEN
PCB TYPE=DB,DBDNAME=VENDOR,KEYLEN=15,PROCOPT=LS
SENSEG NAME=VENSEG
SENSEG NAME=ITEMSEG,PARENT=VENSEG
PSBGEN
END
25
DL/I CONTROL BLOCKS Continued ...
PROCOPT DESCRIPTION
G Get or Read
I Insert
R Replace
D Delete
A All Options (G, I, R, D)
L Initial Load
LS Sequential Initial Load
K Access only Key of segment
O Used with G to Indicate that Hold is not allowed
P Path Calls
26
DL/I CONTROL BLOCKS Continued ...
PSB
PCB1 PCB2
PCB3 PCB4
27
DL/I CONTROL BLOCKS Continued ...
PRINT NOGEN
PCB TYPE=DB,DBDNAME=VENDOR,KEYLEN=15
SENSEG NAME=VENSEG,PROCOPT=G
SENSEG NAME=ITEMSEG,PARENT=VENSEG,PROCOPT=R
SENSEG NAME=LOCNSEG,PARENT=ITEMSEG,PROCOPT=A
PSBGEN
END
28
DL/I CONTROL BLOCKS Continued ...
EMPDATA
29
SESSION 3
30
SEGMENT SEARCH ARGUMENT
31
SEGMENT SEARCH ARGUMENT Continued ...
32
SEGMENT SEARCH ARGUMENT Continued ...
TYPES OF SSAS
UNQUALIFIED
SEARCHES FOR A SPECIFIC SEGMENT TYPE
QUALIFIED
SEARCHES FOR A SPECIFIC SEGMENT OCCURRENCE
MORE EFFICIENT THAN UNQUALIFIED SSA
33
SEGMENT SEARCH ARGUMENT Continued ...
UNQUALIFIED SSA
WORKING-STORAGE-SECTION.
WORKING-STORAGE-SECTION
…………..
01 HISTORY-SSA.
05 SEGMENT-NAME PIC X(8) VALUE ‘HISTORY ‘.
05 FILLER PIC X(1) VALUE SPACE.
Blank in 9th position or ‘*’ in 9th position ‘-‘ in position 10 and a blank in position 11
H I S T O R Y
H I S T O R Y * -
34
SEGMENT SEARCH ARGUMENT Continued ...
QUALIFIED SSA
WORKING-STORAGE-SECTION.
WORKING-STORAGE-SECTION
…………..
01 SSA-EMPLOYEE.
03 SEGMENT-NAME PIC X(8) VALUE ‘EMPLOYEE’
03 COMMAND-CODE PIC X(2) VALUE ‘*-’.
03 BEGIN-QUALIFY PIC X(1) VALUE ‘(‘.
03 KEY-NAME PIC X(8) VALUE ‘EMPKEY ‘.
03 OPERATOR PIC X(2) VALUE ‘ =‘.
03 KEY-VALUE PIC X(12) .
03 END-QUALIFY PIC X(1) VALUE ‘)‘.
PROCEDURE DIVISION.
…..
MOVE ‘123456789000’ TO KEY-VALUE.
CALL ‘CBLTDLI’ USING FUNC-CODE, PCB-MASK-1, IO-AREA, SSA-EMPLOYEE.
35
SEGMENT SEARCH ARGUMENT Continued ...
OPERATOR SYMBOLS
Equal to ‘EQ’, ‘= ‘, ‘ =‘
36
SEGMENT SEARCH ARGUMENT Continued ...
COMMAND CODES
37
SESSION 4
38
COBOL BASICS FOR IMS
DATA DIVISION
IN A COBOL-IMS PROGRAM. THE FIRST SECTION TO CONTAIN ANY IMS RELATED
COMPONENTS IS THE WORKING STORAGE SECTION
PROCEDURE DIVISION
39
COBOL BASICS FOR IMS Continued ...
FUNCTION CODES
A FUNCTION CODE IS A 4 BYTE CODE TO TELL DL/I WHAT KIND OF CALL THE
PROGRAM IS MAKING
SOME VALID FUNCTION CODES ARE
GU - GET UNIQUE
GN - GET NEXT
GNP - GET NEXT WITHIN PARENT
GHU - GET HOLD UNIQUE
GHN - GET HOLD NEXT
GHNP - GET HOLD NEXT WITHIN PARENT
DLET - DELETE
REPL - REPLACE
ISRT - INSERT
XRST - EXTENDED RESTART
CHKP - CHECKPOINT
40
COBOL BASICS FOR IMS Continued ...
INPUT/OUTPUT AREA
41
COBOL BASICS FOR IMS Continued ...
LINKAGE SECTION
01 DB-PCB-1.
03 DBD-NAME PIC X(8).
03 SEG-LEVEL PIC X(2).
03 STATUS-CODE PIC X(2).
03 PROC-OPTIONS PIC X(4).
03 IMS-RESERVED PIC S9(5) COMP.
03 SEG-NAME PIC X(8).
03 KEY-LEN PIC S9(5) COMP.
03 NUM-SENS-SEGS PIC S9(5) COMP.
03 KEY-FEEDBACK PIC X(??). <= length depends on segment key
42
COBOL BASICS FOR IMS Continued ...
43
COBOL BASICS FOR IMS Continued ...
PROCEDURE DIVISION
PROCEDURE DIVISION.
DIVISION
ENTRY ‘DLITCBL’ USING DB-PCB-1, DB-PCB-2. <= Sequence should match that of
:::::::::::: PSB Macro
::::::::::::
CALL ‘CBLTDLI’ USING WS-PARM-COUNT, <= Optional
WS-FUNCTION-CODE,
DB-PCB-MASK,
IO-AREA,
SSA-1, SSA-2, SSA-3, ….
::::::::::
::::::::::
GOBACK.
44
COBOL BASICS FOR IMS Continued ...
CBLTDLI
45
SESSION 5
DL/I CALLS
46
DL/I CALLS
47
DL/I CALLS Continued ...
GET UNIQUE
CALL ‘CBLTDLI’ USING ‘GU ‘, PCB-MASK,
SEGMENT-IO-AREA
SEGMENTA*-(AKEY=1)
SEGMENTB*-(BKEY=2)
SEGMENTD*-(DKEY=6)
AFTER THE CALL SEGMENTD WITH DKEY=6 WILL BE IN SEGMENT-IO-AREA
1 AKEY
EKEY
11
7
BKEY
2 8
6
4 10
3 5 9
CKEY DKEY FKEY
EXERCISE: WRITE A GU TO RETRIEVE FKEY=10
48
DL/I CALLS Continued ...
49
DL/I CALLS Continued ...
GET NEXT
RETREIVAL SEQUENCE
TOP TO BOTTOM
AKEY
FRONT TO BACK 1
LEFT TO RIGHT
7 11 EKEY
2 BKEY 8
GA
6
4 10
3 5 9
GK
DKEY FKEY
CKEY
50
DL/I CALLS Continued ...
1 AKEY
7 11 EKEY
2 BKEY 8
6
4 10
3 5 9 FKEY
DKEY
CKEY
EXERCISE: WHAT WILL BE THE RESULTS OF FOUR CONSEQUETIVE GNs AFTER EKEY=8 IS RETRIEVED
51
DL/I CALLS Continued ...
7 11 EKEY
2 BKEY 8
6
4 10
3 5 9
DKEY
CKEY FKEY
52
DL/I CALLS Continued ...
53
DL/I CALLS Continued ...
7 11 EKEY
2 BKEY 8
6
4 10
3 5 9
DKEY
CKEY FKEY
54
DL/I CALLS Continued ...
55
DL/I CALLS Continued ...
DELETE/REPLACE CALLS
MUST HAVE BEEN OBTAINED WITH A GET HOLD CALL (GHU, GHN, GHNP)
56
DL/I CALLS Continued ...
DELETE CALL
CALL ‘CBLTDLI’ USING ‘GHU ‘, LS-PCB-MASK, WS-SEGMENT-IO-AREA
SEGMENTA*-(AKEY=1)
SEGMENTB*-(BKEY=2)
CALL ‘CBLTDLI’ USING ‘DLET’, LS-PCB-MASK
1
7 11 EKEY
2 BKEY 8
6
4 10
3 5 9
DKEY
CKEY
WHAT WILL BE THE RESULT IF THE FIRST GHU CALL IS SEGMENTA*D(AKEY=1)?
57
DL/I CALLS Continued ...
REPLACE (REPL)
UPDATE CONTENTS OF A SEGMENT
KEY FIELD MAY NOT BE ALTERED
SSAs ARE NOT USED NORMALLY
COMMAND CODES
D - TO REPLACE PATH OF SEGMENTS
N - TO EXCLUDE SEGMENTS FROM PATH
STATUS CODES
DA - TRYING TO CHANGE KEY
DJ - NO PRECEDING GET HOLD CALL
RX - REPLACE RULE VIOLATION
58
DL/I CALLS Continued ...
11 EKEY
7
2 BKEY 8
6
4 10
3 5 9
DKEY
CKEY FKEY
59
DL/I CALLS Continued ...
INSERT (ISRT)
60
DL/I CALLS Continued ...
INSERT (ISRT)
UPDATE MODE:
MODE
FOR UPDATE MODE PROCOPT=I or IS MUST BE SPECIFIED IN PSB
PROCOPT=I INSERTS SEGMENTS IN SEQ OR RANDOM ORDER
PROCOPT=IS ADDS NEW SEGMENTS ONLY IN ASCENDING ORDER
COMMAND CODES
“F” OR “L” - OVERRIDES INSERT RULE
“D” - INSERT PATH OF SEGMENTS
61
DL/I CALLS Continued ...
99
11 EKEY
7
2 BKEY 8
6
4 10
3 5 9
DKEY
CKEY FKEY
62
DL/I CALLS Continued ...
63
DL/I CALLS Continued ...
64
SESSION 6
COMMAND CODES
65
COMMAND CODES
H I S T O R Y * -
66
COMMAND CODES Continued ...
67
COMMAND CODES Continued ...
FOR PROGRAMS USING PATH CALLS PROCOPT IN PSB SHOULD HAVE “P” AS
ONE OF THE VALUES
68
COMMAND CODES Continued ...
SEGMENT IN THE LAST SSA WILL ALWAYS BE RETRIEVED EVEN IF SSA DOES
NOT HAVE COMMAND CODE “D”
FOR ISRT CALLS COMMAND CODE “D” DESIGNATES THE FIRST SEGMENT TO
BE INSERTED
FOR ISRT CALLS SSAS FOR LOWER LEVEL SEGMENTS NEED NOT HAVE “D”
COMMAND CODE, “D” COMMAND CODE IS PROPAGATED TO ALL SPECIFIED
SEGMENTS AUTOMATICALLY
69
COMMAND CODES Continued ...
7 11 EKEY
2 BKEY 8
6
4 10
3 5 9
DKEY
CKEY FKEY
70
COMMAND CODES Continued ...
•EXAMPLE:
SEGMENTB*F
1 SEGMENTA
2 3
SEGMENTC
SEGMENTB
71
COMMAND CODES Continued ...
•EXAMPLE:
SEGMENTC*L
1 SEGMENTA
2 3
SEGMENTC
SEGMENTB
72
COMMAND CODES Continued ...
73
COMMAND CODES Continued ...
EXAMPLE:
CALL ‘CBLTDLI’ USING ‘GU ‘ LS-PCB-MASK, WS-IO-AREA
SEGMENTA*P
SEGMENTC
WILL RETRIEVE SEGMENTC TO I/O AREA BUT PARENTAGE WILL BE SET TO
SEGMENTA
1 SEGMENTA
2 3
SEGMENTC
SEGMENTB
74
SESSION 7
75
DL/I CALL EXERCISE Continued ...
COURSE
COURSE# TITLE DESCRIPN
PREREQ OFFERING
COURSE# TITLE DATE LOCATION FORMAT
TEACHER STUDENT
EMPNUM NAME EMPNUM NAME GRADE
76
DL/I CALL EXERCISE Continued ...
77
DL/I CALL EXERCISE Continued ...
78
DL/I CALL EXERCISE Continued ...
11. GET THE TEACHER OF THE FIRST OFFERING ATTENDED BY STUDENT 222222
79
SESSION 8
80
IMS DATABASE ACCESS METHODS
81
IMS DATABASE ACCESS METHODS Continued ...
HSAM / SHSAM
SEGMENTS OF A DATABASE RECORD ARE STORED IN SEQUENTIAL
ORDER
VERY EFFICIENT FOR SEQUENTIAL PROCESSING
NEW SEGMENTS CAN NOT BE INSERTED. DATABASE HAS TO BE
UNLOADED AND LOADED AGAIN.
ONCE DATABASE IS LOADED ONLY GET OPERATIONS ARE VALID (GU,
GN , GNP, NOT “GET HOLD”)
ISRT CALL IS VALID ONLY WHILE LOADING NEW DATABASE
REPL AND DLET ARE NOT ALLOWED
SHSAM IS A SUBSET OF HSAM AND CONTAINS ONLY ROOT SEGMENTS
ONLY HSAM/SHSAM DATABASES CAN BE STORED ON A TAPE
SEGMENTS CAN NOT SPAN OVER RECORDS
82
IMS DATABASE ACCESS METHODS Continued ...
Delete byte
Segment
Identifier
HSAM DBDGEN
DBD NAME=EXHSAM,ACCESS=HSAM
DATASET DD1=EXHSAMI,DD2=EXHSAMO,DEVICE=3380,RECORD=(512,512)
SEGM FIELD=…………….
83
IMS DATABASE ACCESS METHODS Continued ...
HISAM / SHISAM
SIMILAR TO HSAM AND IN ADDITION INDEX IS ADDED FOR DIRECT
ACCESS TO ROOT SEGMENT
VERY EFFICIENT FOR SEQUENTIAL AND FAIRLY GOOD FOR RANDOM
PROCESSING
HISAM DATABASE REQUIRES TWO SEPARATE DATASETS
PRIMARY DATASET
OVERFLOW DATASET
OVERFLOW DATASET IS NOT REQUIRED FOR SHISAM
SEGMENTS CAN BE DELETED
PREFERABLE IF DATABASE HAS ROOT SEGMENTS ONLY
84
IMS DATABASE ACCESS METHODS Continued ...
Segment
Identifier
HISAM DBDGEN
DBD NAME=EXHISAM,ACCESS=(HISAM,VSAM)
DATASET DD1=HISAMPR,OVFLW=HISAMOV,DEVICE=3380,RECORD=(512,512)
SEGM FIELD=…………….
85
IMS DATABASE ACCESS METHODS Continued ...
HDAM
DIRECT ADDRESS POINTERS TO RELATED SEGMENTS ARE STORED
ALONG WITH SEGMENTS
VERY EFFICIENT FOR RANDOM PROCESSING BUT NOT FOR
SEQUENTIAL PROCESSING
ROOT SEGMENTS ARE STORED ACCORDING TO SOME RANDOMIZING
SCHEME
Segment
Identifier
86
IMS DATABASE ACCESS METHODS Continued ...
HDAM DBDGEN
DBD NAME=EXHDAM,ACCESS=(HDAM,VSAM),RMNAME=(DFSHDC10,,10)
DATASET DD1=EXHDAM,DEVICE=3380
SEGM NAME=SEG1,BYTES=48,POINTER=TWIN
FIELD …………….
SEGM NAME=SEG2,PARENT=((SEG1,SNGL)),BYTES=32,POINTER=TWIN
…….
87
IMS DATABASE ACCESS METHODS Continued ...
HIDAM
SIMILAR TO HDAM AND IN ADDITION INDEX TO ROOT SEGMENTS WILL
BE STORED
EFFICIENT FOR BOTH SEQUENTIAL AND RANDOM PROCESSING
MOST COMMON TYPE OF DATABASE ORGANIZATION
HIDAM DBDGEN
DBD NAME=EXHIDAM,ACCESS=(HIDAM,VSAM),RMNAME=(DFSHDC10,,10)
DATASET DD1=EXHIDAM,DEVICE=3380
SEGM NAME=SEG1,BYTES=48,POINTER=TWIN
FIELD …………….
SEGM NAME=SEG2,PARENT=((SEG1,SNGL)),BYTES=32,POINTER=TWIN
…….
88
IMS DATABASE ACCESS METHODS Continued ...
GSAM
COMPATIBLE WITH MVS DATASETS
NO HIERARCHY
CAN HAVE FIXED OR VARIABLE LENGTH RECORDS
NO DELETE OR REPLACE
INSERT ONLY AT THE END OF DATASET
GETS RECORDS SEQUENTIALLY
USUALLY USED WHEN CHECK/POINT RESTART IS USED
89
SESSION 9
MULTIPLE PROCESSING
90
MULTIPLE PROCESSING
ESTABLISHED BY
MULTIPLE PCBS
MULTIPLE POSITIONING
91
MULTIPLE PROCESSING Continued ...
92
MULTIPLE PROCESSING Continued ...
EXAMPLE
CALLS GN SEGMENTB, GN SEGMENTC, GN SEGMENTB, GN SEGMENTC
A1 A2
C13
B13
B12 C12
B11 C11
C22
B22
B21 C21
93
SESSION 10
SECONDARY INDEXING
94
SECONDARY INDEXING
95
SECONDARY INDEXING
96
SECONDARY INDEXING Continued ...
Index
Source Segment
Buyer Receivable
97
SECONDARY INDEXING Continued ...
Receivable
Customer Buyer
98
SECONDARY INDEXING Continued ...
Ship-to
Index
Source Segment
Buyer Receivable
99
SECONDARY INDEXING Continued ...
COURSE
COURSE# TITLE DESCRIPN
PREREQ OFFERING
COURSE# TITLE DATE LOCATION FORMAT
TEACHER STUDENT
EMPNUM NAME EMPNUM NAME GRADE
100
SECONDARY INDEXING Continued ...
PSB MACRO
PCB TYPE=DB,DBDNAME=EDUCPDBD,KEYLEN=15
PROCOPT=G,PROCSEQ=TXDBD
SENSEG NAME=COURSE
SENSEG NAME=OFFERING,PARENT=COURSE
SENSEG NAME=STUDENT,PARENT=OFFERING
101
SECONDARY INDEXING Continued ...
102
SECONDARY INDEXING Continued ...
103
SESSION 11
LOGICAL RELATIONSHIPS
104
LOGICAL RELATIONSHIPS
105
LOGICAL RELATIONSHIPS Continued ...
Logical Relationship
106
LOGICAL RELATIONSHIPS Continued ...
PART ORDER
SHIPMENT STOCK
107
SESSION 12
DB RECOVERY / RESTART
108
DATABASE RECOVERY
WHY?
TO RESTORE A DATABASE AFTER ITS PARTIAL DESTRUCTION
WHEN?
A DLI BATCH UPDATE JOB FAILS AFTER MAKING AT LEAST ONE DATABASE
UPDATE
A FAILURE HAS OCCURRED ON A PHYSICAL DASD DEVICE
A FAILURE HAS OCCURRED IN A DATABASE RECOVERY UTILITY
A FAILURE OF DYNAMIC BACKOUT OR BATCH BACKOUT UTILITY HAS
OCCURRED
AN IMS ONLINE SYSTEM FAILURE AND EMERGENCY RESTART HAS NOT BEEN
COMPLETED
109
DATABASE RECOVERY Continued ...
HOW?
110
DATABASE RECOVERY Continued ...
DFSUDMP0:
DFSUDMP0
DATABASE IMAGE COPY UTILITY FOR CREATION OF IMAGE COPIES OF
DATABASES
DFSUCUM0:
DFSUCUM0
DATABASE CHANGE ACCUMULATION UTILITY FOR ACCUMULATION OF
DATABASE CHANGES FROM DL/I LOG TAPES SINCE THE LAST COMPLETE
IMAGE COPY
DFSURDB0:
DFSURDB0
DATABASE RECOVERY UTILITY FOR RESTORATION OF THE DATABASE,
USING A PRIOR DATABASE IMAGE COPY AND THE ACCUMULATED
CHANGES FROM DL/I LOG TAPES
DFSBBO00:
DFSBBO00
DATABASE BACK OUT UTILITY FOR REMOVAL OF CHANGES MADE TO
DATABASES BY A SPECIFIC APPLICATION PROGRAM
111
DATABASE RECOVERY Continued ...
DBRC INCLUDES THE IMS FUNCTIONS WHICH PROVIDE IMS SYSTEM AND
DATABASE INTEGRITY AND RESTART CAPABILITY.
FORWARD RECOVERY
CHANGES MADE TO DATABASE SINCE THE LAST IMAGE COPY ARE APPLIED
ON THE RESTORED DATABASE BY USING
CHANGE ACCUMULATION DATASETS
LOG DATASETS
113
DATABASE RECOVERY Continued ...
BACKWARD RECOVERY
INPUTS
LOG DATASETS
DATABASES WHOSE UPDATES ARE TO BACKED OUT
CHECKPOINT ID
WARNING: DO NOT USE CHECKPOINT ID WHILE BACKING OUT BMP. IT
TAKES BY DEFAULT THE LAST CHECKPOINT ISSUED.
OUTPUTS
BACKED OUT DATABASES
LOG DATASETS
114
DATABASE RECOVERY Continued ...
115
DATABASE RECOVERY Continued ...
RESTART CALL(XRST)
USED TO RESTART A PROGRAM AFTER ABNORMAL TERMINATION
RESTART FROM
SPECIFIC CHECKPOINT ID
TIME/DATESTAMP
LAST CHECKPOINT (‘LAST’) - BMPs ONLY
MUST BE THE FIRST CALL IN THE PROGRAM
SYNTAX: CALL ‘CBLTDLI’ USING WS-XRST,
IO-PCB, IO-AREA-LEN, IO-AREA,
IO-AREA-LEN1, IO-AREA1…
117
DATABASE RECOVERY Continued ...
118
SESSION 13
119
PROGRAMMING TIPS
INSTEAD OF USING GET CALL PRECEDING A ISRT CALL USE ISRT WITH
APPROPRIATE SSA
120
PROGRAMMING TIPS Continued ...
USE CHECKPOINT/RESTART
121
SESSION 14
122
COMMON IMS ABENDS
U0047
DESCRIPTION
ONE OF THE DBPCBS IN THE PSB FAILED TO OBTAIN THE DATABASE
AUTHORIZATION THROUGH DBRC. USUALLY OCCURS WHEN DATABASE IS UP
IN ONLINE OR DATABASE IS USED IN UPDATE MODE BY ANOTHER PROGRAM.
SOLUTION
•BRING DOWN THE DATABASE USING /DBR DB DATABASE NAME
•WAIT TILL CONTENDING JOB COMPLETES AND RESTART THE JOB
123
COMMON IMS ABENDS
U0456
DESCRIPTION
A DL/I BATCH REGION, BMP PROGRAM COULD NOT BE INITIATED BECAUSE THE
PSB HAS BEEN STOPPED OR LOCKED BY A COMMAND OR A PRIOR PROGRAM
FAILURE
SOLUTION
•ANALYZE WHY THE PSB IS LOCKED OR STOPPED. RESTART THE JOB AFTER
THE PSB HAS BEEN UNLOCKED
124
COMMON IMS ABENDS
U0476
DESCRIPTION
A DL/I CALL DOES NOT INCLUDE A VALID PCB ADDRESS
PROBABLE CAUSES
• PSB LANGUAGE TYPE SPECIFIED IS NOT SAME AS THAT OF APPLICATION
PROGRAM
• COBOL MAIN PROGRAM ENTERED AT PROCEDURE DIVISION INSTEAD OF
DLITCBL BECAUSE ENTRY DLITCBL NOT INCLUDED IN LKED
• WRONG PCB WITH FEWER PCBS THAN EXPECTED IS USED
125
COMMON IMS ABENDS
U0852
DESCRIPTION
THE SEGMENT CODE RETURNED IS NOT VALID FOR THE DATABASE
SOLUTION
ANALYZE THE DATABASE. IF THERE IS AN INVALID POINTER, RECOVER THE
DATABASE.
126
COMMON IMS ABENDS
U3303
DESCRIPTION
APPLICATION PROGRAM TRIED TO USE A DATABASE THAT WAS NOT
AVAILABLE FOR ACCESS AND/OR UPDATE. DFS3303I MESSAGE ACCOMPANIES
THIS ABEND
SOLUTION
CHECK THE STATUS OF DATABASE GIVEN IN DFS3303I MESSAGE USING
/DISPLAY DB database name
IF DATABASE IS DOWN START THE DATABASE USING THE COMMAND
/START DB database name
127