1
ADABAS V8 AND
MISCELLANEOUS TOPICS
Jim Poole
2
ADABAS V8
1. SPANNED RECORDS
2. LOB SUPPORT
3. MUPEX, BEYOND 191
4. ACBX
5. LINK / SVC / NUC
6. MULTIPLE EXTENTS
7. FDT
8. MISCELLANEOUS
3
V8 SPANNED RECORDS.WHY
RECORD SIZE LIMITED BY COMPRESSED RECORD SIZE (RSP.CD 49) :
1 PRIMARY RECORD + UP TO 4 SECONDARY RECORDS
COMPRESSED RECORDDS BLOCKSIZE:
3390: 5,064
8391: 10,796
8393: 27,644
PRIOR V8:COMPRESSED RECORDDS BLOCKSIZE:
3390: 5,064 X 5 = 25,320
8391: 10,796 X 5 = 53,980
8393: 27,644 X 5 = 138,220
V8:
NOTE: ACTUAL DATA LIMITED BY BLOCK HEADER, RECORD HEADER, SPAN HEADER
4
V8 SPANNED RECORDS. LAYOUT
FCB: TOPISN,MAXISN,MINISN MINSEC,MAXSEC
AC:
AC2:
DS2:SPAN-HDR
DS1: SPAN-HDR
DS3:SPAN-HDR
ASSO DATA
1. RECORDS SEGMENTED ON FIELD BOUNDARY (LA FIELDS BY CHAR)2. INDEX CONTAINS ONLY PRIMARY ISN3. TOPISN,MAXISN,MINISN FOR PRIMARY4. MINSEC,MAXSEC FOR SECONDARY
5
V8 SPANNED RECORDS. SET UP
ADADBS RECORDSPANNING FILE=fnr,MODE=ON !! REQUIRES EXCLUSIVE FILE USE !! orADACMP COMPRESS SPAN or? AOS ?
File section:SPANNED REC SUPP YES
CPEXLIST:SYNS 77 ET 2006-08-19 13:14:15 300 22 AD168DBS ENABLE SPANNED RECORD SUPPORT 241
ADAREP:
NOTE: AC2 NOT ALLOCATED UNTIL SPANNING OCCURS
6
V8 SPANNED RECORDS. ADAREP SPANNED RECS EXIST
TOP-ISN = 1,000 MAX-ISN EXPECTED = 20,669 RECORDS LOADED = 1,000 MIN-ISN = 1 TOP AC2 ISN = 1,000 MAX AC2 ISN EXP. = 1,378 LIST I DEV BLOCK I SPACE ALLOC.I FROM TO ITYPE I TYPE LNGTH I BLOCKS CYL I RABN RABN I-----I------------I--------------I--------------I AC I 8391 4136 I 15 0I 12696 12710I AC2 I 8391 4136 I 1 0I 13761 13761I NI I 8391 4136 I 1000 5I 12711 13710I UI I 8391 4136 I 50 0I 13711 13760I FDT I 8391 4136 I 4 0I 1515 1518IDSST I 8391 4136 I 1 0I 2595 2595I I I I I DS I 8391 10796 I 2000 26I 18037 20036I
7
V8 SPANNED RECORDS. REMOVAL
ADADBS RECORDSPANNING FILE=fnr,MODE=OFF TIMELIMIT= (DFLT=60) !! REQUIRES EXCLUSIVE FILE USE !!
1. SCAN ALL DS TO ENSURE NO SPANNED RECORDS EXIST
2. IF TIMELIMIT EXCEEDED, ADADBS ABORTS
NOTE: SAME CHECKPOINT AS MODE=ON
? CE ? : CHECK AC2 VERSUS DS ??
8
V8 SPANNED RECORDS. INTERNALS
BH RH fields RH fields
RH fields
RH fields FREE SPACE
fields
DS RABN:
BLOCK HEADER 4b
2b – INCLUSIVE USED BLOCK LENGTH
2b – x’0004’
BH
RECORD HEADER 6b
2b – INCLUSIVE RECORD LENGTH
4b – ISN
RH
FIELDS:
LENGTHSMU/PE COUNTERSEMPTY FLD COUNTSVALUES
fields
NO SPANNED RECORDS
9
V8 SPANNED RECORDS. INTERNALS
ONE SPANNED RECORD
BH RH fields RH fields
fields
fields FS
fields
DS RABN:
RH
SPANNED RECORD HEADER 20b:
2b – INCLUSIVE RECORD LENGTH4b – UNKNOWN4b – ISN OF THIS RECORD2b – INDICATOR: x’0081’ Primary Record x’0041’ Secondary Record4b – ISN OF NEXT SECONDARY (x’00’s IF LAST)4b – ISN OF PRIMARY RECORD
RH
10
V8 SPANNED RECORDS. Eg. 1 INTERNALS MODE=ON
0000 0E820004 0E7E0000 00049999 9FF4E7F40010 F0F7F9F8 F1404040 40000F00 414FD540: : :
DS RABN X-IBL -IRL
UPDATE A FEW 100 MORE BYTES:
---ISN----
0000 2A050004 2A010000 00000000 000400810010 00000001 00000004 99999FF4 E7F4F0F7: : :
DS RABN X---ISN----
INDICATOR-IRL
PRI. ISNNEXT ISN
0000 07AA0004 07A60000 00000000 000100410010 00000000 00000004 80FCC1C1 C1C1C1C1: : :
DS RABN Y
INDICATOR---ISN-----IRL
NEXT ISNPRI. ISN
11
V8 SPANNED RECORDS. Eg. 2 INTERNALS
ISN IND NEXT PRI
7 x81 7 7
7 x41 21 7
21 x41 22 7
22 x41 0 7
PRI
SEC
DATA (hdrs)
SEC
SEC
ASSO
(7)AC
(7)
(21)(22)
AC2
1. PRI ISN IN AC2. SEC ISN’s IN AC23. SEC ISN MAY EQUAL PRI ISN
NOTES:
12
V8 SPANNED RECORDS. UPDATE to 1st SPAN
…DS EXTENT: 1ST UNUSED
…
REC-5, REC6
REC-6, REC5
REC5
OR
OR
A1 OR N1/N212K BYTES
REC5-PRI REC5-SEC
“ POP – N – SPAN “
FOR 1ST SPANNED RECORD:
13
V8 SPANNED RECORDS. UPDATES
REGARDLESS OF REUSEDS OR RECORD POSITION: WHEN 1ST SPAN CREATED, IT MOVES TO END OF FILE ( POP – N – SPAN )
EG. WHAT IF ALL RECORDS IN FILE UPDATED TO SPAN ONCE ????
PROVIDES FASTER UTILITIES, USER READS, ETC.
AFTER 1ST SPAN NEXT SPAN MAY BE ANYWHERE (PRI + SEC1 + . . . SECn)
IF LRECL UPDATED TO < ONE BLOCKLENGTH: SPANNED HEADER CHANGED BACK TO UNSPANNED HEADER
14
V8 SPANNED RECORDS. UPDATES PLOG
PLOG ALWAYS CONTAINSPRIMARY RECORD (BI / AI)
PLOG ONLY CONTAINS SECONDARY RECS IF UPDATED
PLOG
PRIMARY SECONDARY-1 SECONDARY-2UPD:BI/AI PRI
BI/AI SEC2
PRIMARY SECONDARY-1 SECONDARY-2UPD:BI/AI PRI
BI/AI SEC1
UPD: PRIMARY SECONDARY-1 SECONDARY-2 BI/AI PRI
15
V8 SPANNED RECORDS. PROGRAM PERFORMANCE
FILE 241 / 19,968 RECORDS / SPANNED PRI + SECFDT: AA . . . . . ZZ
CREATE FILE
USED UNUSEDDS BEFORE
1064 BLKS
UDPATE EACH REC TO PRI + SEC
EMPTY UNUSEDDS AFTER
1064 BLKS
USED
39,936 BLKS
“ POP-N-SPAN”
16
V8 SPANNED RECORDS. PROGRAM PERFORMANCEFILE 241 / 19,968 RECORDS / SPANNED PRI + SECFDT: AA . . . . . ZZ
L3,FB=AA.
CPU 3.65 SEC
ASSO IO104
DATA IO19968
DB
L3,FB=ZZ.
CPU 5.79 SEC
ASSO IO129
DATA IO39934
DB
L2,FB=AA.
CPU 5.18 SEC
ASSO IO87
DATA IO40998
DB
L2,FB=ZZ.
CPU 5.65 SEC
ASSO IO107
DATA IO40998
DB
NUC UP, RUN PGM, NUC DOWN
17
V8 SPANNED RECORDS. UTILITY OPTIONS
ADACMP COMPRESS / DECOMPRESS SPAN - enable span HEADER - Header in input or Add Header (DECOMP) DATADEVICE - Split records based on device type MAXLOGRECLEN - Assemble input records into larger recs
ADADBS SPANCOUNT FILE=nnn CAN BE UPD OR ACC USERS
SPECIFYING AC2RABN, MAXISN2:
ADALOD ADAORD ADASAV FMOVE
NOTE: ADAORD KEEPS PRI+SEC PAIRS
18
V8 SPANNED RECORDS. ISSUES / CONCERNS
1. INCREASE BLOCKSIZE OR GO SPANNED? - DB LEVEL vs FILE LEVEL - CONVERSION vs ADADBS SWITCH - LIMIT = TRACKSIZE vs LIMIT = 5 x BLOCKSIZE - PROVEN vs NEW - GUARANTEED PERFORMANCE vs
19
V8 SPANNED RECORDS. ISSUES / CONCERNS. UNDO
2. BACKWARD CONVERSION OF SPANNED FILE:
a. UPDATE / ENSURE ALL RECORDS BACK TO PRIMARY. ( ADADBS SPANCOUNT FILE=nnn)
b. ADADBS RECORDSPANNING FILE=fnr,MODE=OFF NOTE: READ OF ALL DATA STORAGE (VS AC2) NOTE: REQUIRES EXCLUSIVE FILE USE
CONSIDER USE OF DUPLICATE FILES, ADARES REGENERATE
20
V8 SPANNED RECORDS. ISSUES / CONCERNS
3. INCREASE ADARUNs:
NISNHQ / NH
LWP (FOR LARGER DVT)
LP, DUALPLS and RESULTANT SIZE OF WORK AND PLOGs
21
V8 SPANNED RECORDS. ISSUES / CONCERNS
4. RECORD READ PERFORMANCE MORE AFFECTED IF FIELDs AT END OF RECORD.
L2 READS ALL RECORDS L3,L1 READ SPANNED RECORD ONLY IF FIELDS REQUESTED
L3 MAY BE MUCH FASTER THAN L2
5. DIRTY READS. EG. READ DA-FILE BY ZZ-FIELD DISPLAY AA-FIELD
KEEP DESCRIPTORS IN FIRST OF RECORD.
6. GREATER RISK OF RSP.CD. 53 (UNTIL SUPPORT OF ACBX)
22
V8 SPANNED RECORDS. ISSUES / CONCERNS
7. PRI + SPAN OR PRI + SPAN n.
PERFORMANCE AND IO OF ADAULD ADAORD ADAINV
23
END OF SPANNEDON TO
LOB
24
LOB SUPPORT.
FCB FNR 10 EMPLOYEES FILE
FCB FNR 11 LOB FIELD DATA
PICTURES.JPG .TIF
WORD DOC
PPT PDS MEMBERS
ETC,ETC< 2G
25
LOB SUPPORT: STRUCTUREFLD1, FLD2 . . . LOB FIELD . .BASEFILE: DS.REC.
LOBFILE:
Flags, leng
LOB. EG 200K
DS Blksize=10,796
EG. 19 SEGMENTS
IL SEG 1SEG 2
SEG 19
19-SLOTSAC
IBL-IRL-ISN-HDR-DATADS
IBL-IRL-ISN-HDR-DATADS
IBL-IRL-ISN-HDR-DATADS
IBL-IRL-ISN-HDR-DATADS
19 RECS
26
LOB’s CREATING. ADACMP
ADACMP COMPRESS ADACMP FILE=10 : : : ADACMP FNDEF='01,AA,8,A,NU,DE‘: : : ADACMP FNDEF='01,L1,0,A,LB,NU‘: : :
ADACMP:
CHAR. LOB
ADACMP FNDEF='01,L2,0,A,LB,NV,NB‘ BINARY LOB
X'00000004'
DDEBANDLOB DATA MUST BE ADDED LATER VIA PROGRAM
27
LOB’s CREATING. ADALOD 1
ADALOD LOAD FILE=010 ADALOD LOBFILE=11: : :
ADALOD “ BASE FILE “
SIZE FILE (DS,NI,UI,AC) MINUS LOB SPACE
28
LOB’s CREATING. ADALOD 2
ADALOD LOAD FILE=11,LOB ADALOD BASEFILE=10 ADALOD DSSIZE= ADALOD MAXISN=ADALOD NISIZE=,UISIZE= ADALOD rest of parms: very small
ADALOD “ LOB FILE “
AVLOBS = AVERAGE LOB SIZE PER RECORD ER = ESTIMATED NUMBER OF RECORDSBPL = DS BLOCKS PER LOB = AVLOBS / DS.BLOCKSIZE
DSSIZE = BPL * ER
MAXISN = BPL * ER
NISIZE = BPL * ER * ?20? / ASSO.BLOCKSIZE
29
LOB’s CREATING. ADALOD 2 EG.
BPL = DS BLOCKS PER LOB = AVLOBS / DS.BLOCKSIZE = 600,000 / 10,796 = 56
DSSIZE = BPL * ER = 56 * 100,000 = 5,600,000
MAXISN = 5,600,000
NISIZE = BPL * ER * ?20? / ASSO.BLOCKSIZE = 5,600,000 * 20 / 4,136 = 27,000
FOR EXAMPLE AVLOBS= 600KE.R. = 100,000D.BLOCKSIZE = 10,796A.BLOCKSIZE = 4,136
30
LOB’s CREATING. EXISTING FILES
1. ADADBS NEWFIELD FNDEF=. . .
2. ADALOD LOBFILE
NOTE: MUST DO ADADBS FIRST !
31
LOB’s CREATING. ADAREP
**************** * FILE OPTIONS * **************** . CONTAINS LOB FIELDS . . PRIVILEGED USE . . . LOB FILE FILE NAME ------------------ -------------------: : : 10 LOBFILE-BASE . L . . 11 LOBFILE-LOB . . . L
PART 1
32
LOB’s CREATING. ADAREP
************* * * * LOB FILES * * * ************* FILE WITH I ASSOCIATED ILOB FIELDS I LOB FILE I------------------------- 10 I 11 I-----------I------------I
PART 2
33
LOB’s CREATING. ADAREP
: : :LOB file No Contain LOB fields Yes : : : 1 I L1 I 0 I A I LB,NU
PART 3 FILE DETAIL. BASE FILE
: : :LOB file Yes Contain LOB fields No : : :FDT not printed - this file is a LOB file
PART 4 FILE DETAIL. LOB FILE
34
LOB’s CREATING. DDM
L DB Name F Leng S D Remark --- ----------------- - ---- - - ---------------------: : :1 L1 L@L1-FIELD I 4 LEN. IND. OF L1-FIELD1 L1 L1-FIELD A N LOB LE=1073741821 OPTIONS=LB
VIA SYSDDM
35
LOB’s TESTING
0. NATURAL 4.2.1
1. USE SMALL LOB’S (? SLOB’s ?) UNDER 32K
2. FTP TO MAINFRAME, A SMALL JPG PIC
3. STORE IN ADABAS
4. READ FROM ADABAS
5. FTP FROM MAINFRAME BACK TO PC TO VERIFY
RULES OF ENGAGEMENT:
SEE SERVLINE24 TECH DOC 542357 FOR NATURAL ZAPS
36
LOB’s TESTING
0010 DEFINE DATA LOCAL 0030 1 DFILE VIEW OF FILE-10 0040 2 AA-FIELD 0050 /* 2 L@L1-FIELD 0060 2 L1-FIELD (A) DYNAMIC 0080 01 A (A) DYNAMIC 0090 01 LENG (I4) 0100 * 0110 END-DEFINE 0120 DEFINE WORK FILE 1 TYPE 'UNFORMATTED'0130 READ WORK FILE 1 A 0140 GIVING LENGTH LENG 0150 DISPLAY LENG 0160 AA-FIELD := 'BATFSH' 0170 L1-FIELD := A 0180 STORE IN DFILE 0190 END TRANSACTION 0200 END-WORK 0210 END
STORE IN ADABAS:
37
LOB’s TESTING
0010 DEFINE DATA LOCAL 0020 * 0030 1 DFILE VIEW OF FILE-10 0040 2 AA-FIELD 0050 2 L@L1-FIELD 0060 2 L1-FIELD0070 * 0080 01 A (A) DYNAMIC 0090 01 LENG (I4) 0100 END-DEFINE 0110 * 0120 DEFINE WORK FILE 2 TYPE 'UNFORMATTED' 0130 FIND (1) DFILE WITH AA-FIELD = 'BATFSH'0140 A := L1-FIELD 0150 * 0160 * 0170 WRITE WORK 2 VARIABLE A 0180 END-FIND 0190 END
READ FROM ADABAS:
38
LOB’s TESTING
DEFINE DATA LOCAL 1 DFILE VIEW OF FILE-10 2 AA-FIELD 2 L@L1-FIELD 2 L1-FIELD (A040) END-DEFINE READ DFILE DISPLAY *ISN AA-FIELD L@L1-FIELD L1-FIELDEND
A NICE NATURAL PGM
39
LOB’s ADARUN PARMS
LBP/LFIOPLU > MAX LOB/SIZE (RSP.CD. 152)NAB > LU (RSP.CD. 254) NH/NISNHQ > BPL * ? (RSP.CD. 46)LP/WORKSIZE > ? (RSP.CD. 9-15) DUALPLS > ?LDEUQP > (RSP.CD. 197)
INCREASE:
40
LOB’s FINAL THOUGHTS
1. DSREUSE / ISNREUSE OFF ?
2. REORDER, KEEP LOB SEGMENTS TOGETHER
3. RSP.CD. 132 (GET UPDATE MANUAL FROM SERVLINE)
4. PC NATURAL 6.2.2. , ENTIRE NETWORK, etc.
5. HOW TO REMOVE LOB? DELETE LOBFILE / ADACMP DECOMPRESS/CMP/LOD BASEFILE Or ZAP SOMETHING (FDT,FCB)?
41
MUPEX BEYOND 191
1. SET AT THE FCB LEVEL, NOT FDT
2. MAX OF 65,534 OCCURANCES (SEE DS RECORD LIMITS)
3. SET FOR BOTH MU AND PE
TECH REVIEW: MU DE DO NOT HAVE OCCURANCE NUMBER IN INV. LIST PE DE HAVE THE OCCURANCE NUMBER IN INV. LIST
42
MUPEX. DEFINING
ADACMP COMPRESS MUPEX MUPECOUNT=1|2
LOADING NEW FILE:
X’0B’OR
X’000B’
DDEBAND
EXISTING FILE (NO PE DE’s):
ADADBS MUPEX FILE=nnn MUPECOUNT=2
EXISTING FILE (PE DE’s):
1. RELEASE PE DE’S2. ADADBS MUPEX3. ADAINV PE DE’SEg. OCC.CNT=11
43
MUPEX. ADAREP
**************** * FILE OPTIONS * **************** . 2-BYTE MU/PE INDEX . . REPLICATED . . . PRIV USE FILE NAME ------------------ -------------------: : : 16 EMPLOYEES . T . .
PART 1
PART 2
* FILE 241 (TESTFILE ) *: : : TWO BYTE MU/PE YES
44
MUPEX. DS INTERNALS
. . . 01 L-VALUE . . . DS RECORD:
OCC CNTR
UPDATE TO 191 OCC: BF
UPDATE TO 192 OCC: C0 02 00C0C0 – 2B FLAG02 – LENGTH00C0 - COUNT
UPDATE TO 193 OCC: C0 02 00C1
UPDATE TO 200 OCC: C0 02 00C8
UPDATE TO 1 OCC: C0 02 0001
NOTE: COUNT NEVER RETURNS TO PRE-2B CONDITION !
45
MUPEX. INVERTED LIST
PE DE ONLY
01,PZ,PE. 02,PA,03,A,DE. 02,PB,01,1.SUPDE=S1=AA(1,3),PB(1,1),ZZ(1,3)
FDT
Eg. NI ELEMENT:
EXCLUSIVE LENGTHCOMPRESSED VALUEPE OCCURANCE CNTISN QTYISN’s
KEY:
04 F1F1F1 09 05PA:
08 C1C1C1F1E9E9E9 09 05S1:
RELEASE S1 / MUPEX / ADAINV S1
09 C1C1C1F1E9E9E9 0009 05S1:
05 F1F1F1 0009 05PA:
46
MUPEX.
1. IN DATA STORAGE, EXTRA BYTE NOT ADDED UNTIL OCC > 191
2. FOR PE-DE, EXTRA BYTE ADDED VIA ADAINV.
(MU DE DO NOT HAVE OCCURANCES IN INVERTED LIST)
3. WORST CASE: DE LENGTH (+ OCC) MUST BE LESS THAN 253
4. ONCE EXTRA BYTE ADDED IN DATA STORAGE IT IS
NEVER REMOVED
47
MUPEX CONVERTING BACK.
1. UPDATE ALL RECORDS TO LESS THAN 192 OCCURANCES.
2. ADACMP DECOMPRESS
3. ? MASSAGE FILE TO REMOVE EXTRA BYTE ?
4. ADACMP COMPRESS
5. ADALOD
IF CHANGE ENHANCEMENTS EXISTED:
? UPDATE BACK TO 1 BYTE ?
? ADADBS MUPEX FILE=nnn,MUPECOUNT=1 ?
48
MUPEX PE DE ISSUES2700 FILES1000 CONTAIN MU/PE 170 CONTAIN PE-DE
DISCUSSION / SOLUTIONS:
1. TIME TO ADAINV PE-DE, IS IT A PROBLEM?
2. ENHANCE ADAORD OR ADAINV TO UPDATE JUST PE-DE ?
3. SEPARATE MUPEX MUX, PEX ?
CONTINUED
49
MUPEX PE DE ISSUES continued
4. IF LESS THAN 191 USE 1 BYTE COUNT. IF MORE THAN 191 USE 2 BYTE COUNT. MAINTAIN DS AND INVERTED LIST WITH THIS CONSTRUCT
NI-ELEMENT VALUE C1C1C1C101 AAAA OCC = 1C1C1C1C102 AAAA OCC = 2C1C1C1C1C00200C0 AAAA OCC = 192C1C1C1C1C101 AAAAA OCC = 1C1C1C1C1C102 AAAAA OCC = 2C1C1C1C1C1C00200C0 AAAAA OCC = 192
FOR EXAMPLE:
?? MORE DE BYTES ???? 1 / 2 BYTE MESS LATER ON ??
50
DIRECT CALL CHANGES
THE OLDETHE OLDE
80 BYTES of dataFBL,RBL,SBL,VBL,IBL (2b = 32K limit)
UP TO 1 EACH:FB,RB,SB,VB,IB
ACB:
BUFFERS:
ADARUN RSP.CD LU= 152NAB= 254,253
ADABAS
51
“ANY SEQUENCE, MULTIPLES”
ACBX THE NEWTHE NEW
192 BYTES
CALL ‘ADABAS’ USING ACBX, . . . , ABD1,ABD2,ABD3,ABD4, . . .
!! SEE COMMAND REFERENCE MANUAL !!
ACBX:Eg. FB =>
48 BYTES
Eg. RB =>
48 BYTESEg. SB =>
48 BYTES
Eg. VB =>
48 BYTES
Eg. IB =>
48 BYTES
Eg. MB =>
48 BYTES
Eg. FB2 =>
48 BYTES
Eg. RB2 =>
48 BYTES
ABD’ s:
NOTE: V8 ADALINK REQUIRED, ELSE RSP.CODE 253-11
52
ACBX
1. 4 BYTE DBID AND 4 BYTE FNR
2. 4 BYTE ISN AND 8 BYTE ISN OPTIONS
3. 8 COMMAND OPTIONS (FROM 2)
4. 6 ADDITIONS (FROM 5)
5. ENHANCE ERROR FIELDS
6. 8 BYTE COMPRESSED/DECOMPRESSEC REC LENGTH
7. MORE ACCURATE CMDTIME
FEATURES:
53
ABD’s ADBAS BUFFER DESCRIPTIONS
FORMAT BUFFER
8 BUFFER TYPES (FROM 5 IN V7)
RECORD BUFFER
SEARCH BUFFER
VALUE BUFFER
ISN BUFFER
MULTIFETCH BUFFER MLF HDR’S (PRF NOT SUPPORTED)
USER BUFFER
PERFORMANCE BUFFER FOR REVIEW
54
ABD’s
TYPE ( F,R,S,V,I,M,U)
LOCATION (PTR OR AT END)
SIZE OF DATA (xBL)SIZE TO SEND (xBL) SIZE RECEIVED
CONTENTS:
|
4
8 B
YT
ES
|
BUFFER DATA (IF LOCAL)
|
x
BL
|
55
ACBX STATUS AS OF 10/1/2006
1. NATURAL 4.2.1 LOB SUPPORT ACBX CALLS
2. NATURAL 4.2.1 MLF ACB CALLS
3. ADAMLF ACB CALLS
SAMPLE COBOL PROGRAM ON NEXT PAGES
56
WORKING-STORAGE SECTION. 01 ACBX. 05 FILLER PIC S9(4) COMP VALUE +0. 05 CBXVER PIC X(2) VALUE 'F2'. 05 CBXLEN PIC S9(4) COMP VALUE +192. 05 CMD-CODE PIC X(2) VALUE SPACES. 05 FILLER PIC S9(4) COMP VALUE +0. 05 RESP-CODE PIC S9(4) COMP VALUE +0. 05 CID PIC X(4) VALUE SPACES. 05 DBID PIC S9(8) COMP VALUE +0. 05 FNR PIC S9(8) COMP VALUE +0. 05 FILLER PIC S9(8) COMP VALUE +0. 05 ISN PIC S9(8) COMP VALUE +0. 05 FILLER PIC S9(8) COMP VALUE +0. 05 ISL PIC S9(8) COMP VALUE +0. 05 FILLER PIC S9(8) COMP VALUE +0. 05 ISQ PIC S9(8) COMP VALUE +0. 05 COPT1 PIC X(1) VALUE SPACE. 05 COPT2 PIC X(1) VALUE SPACE. 05 COPT3 PIC X(1) VALUE SPACE. 05 COPT4 PIC X(1) VALUE SPACE. 05 COPT5 PIC X(1) VALUE SPACE. 05 COPT6 PIC X(1) VALUE SPACE.
ACBX
57
05 COPT7 PIC X(1) VALUE SPACE. 05 COPT8 PIC X(1) VALUE SPACE. 05 ADD1 PIC X(8) VALUE SPACES. 05 ADD2 PIC S9(8) COMP VALUE +0. 05 ADD3 PIC X(8) VALUE SPACES. 05 ADD4 PIC X(8) VALUE SPACES. 05 ADD5 PIC X(8) VALUE SPACES. 05 ADD6 PIC X(8) VALUE SPACES. 05 FILLER PIC S9(8) COMP VALUE +0. 05 FILLER PIC S9(8) COMP VALUE +0. 05 ERR-OFFSET PIC S9(8) COMP VALUE +0. 05 ERR-CHAR PIC S9(4) COMP VALUE +0. 05 RESP-SUB PIC X(2) VALUE SPACES. 05 ERR-BUFFID PIC X(1) VALUE SPACE. 05 ERR-BUFFSEQ PIC X(3) VALUE SPACES. 05 SUB-RESP PIC S9(4) COMP VALUE +0. 05 SUB-RESP-SUB PIC S9(4) COMP VALUE +0. 05 SUB-RESP-TXT PIC X(4) VALUE SPACES. 05 LCOMPR PIC S9(16) COMP VALUE +0. 05 LDECMP PIC S9(16) COMP VALUE +0. 05 CMDTIME PIC S9(16) COMP VALUE +0. 05 USER-AREA PIC X(16) VALUE SPACES. 05 FILLER PIC X(24) VALUE SPACES.
ACBX
Cont.
58
01 ABDFB. 05 FBLEN PIC S9(4) COMP VALUE +48. 05 FBVER PIC X(2) VALUE 'G2'. 05 FBID PIC X(1) VALUE 'F'. 05 FBRSV1 PIC X(1) . 05 FBLOC PIC X(1) VALUE SPACE. 05 FBRSV2 PIC X(1) . 05 FILLER PIC S9(8) COMP VALUE +0. 05 FILLER PIC S9(8) COMP VALUE +0. 05 FBSIZE PIC S9(16) COMP VALUE +0. 05 FBSEND PIC S9(16) COMP VALUE +0. 05 FBRECV PIC S9(16) COMP VALUE +0. 05 FILLER PIC S9(8) COMP VALUE +0. 05 FBADDR PIC S9(8) COMP VALUE +0. 05 FBCONT PIC X(20) VALUE SPACES.
ABD BLOCK FOR FB
59
01 ABDRB. 05 RBLEN PIC S9(4) COMP VALUE +48. 05 RBVER PIC X(2) VALUE 'G2'. 05 RBID PIC X(1) VALUE 'R'. 05 RBRSV1 PIC X(1) . 05 RBLOC PIC X(1) VALUE SPACE. 05 RBRSV2 PIC X(1) . 05 FILLER PIC S9(8) COMP VALUE +0. 05 FILLER PIC S9(8) COMP VALUE +0. 05 RBSIZE PIC S9(16) COMP VALUE +0. 05 RBSEND PIC S9(16) COMP VALUE +0. 05 RBRECV PIC S9(16) COMP VALUE +0. 05 FILLER PIC S9(8) COMP VALUE +0. 05 RBADDR PIC S9(8) COMP VALUE +0. 05 RBCONT PIC X(50) VALUE SPACES.* 01 CB-RES PIC S9(8) COMP VALUE +0. 01 CB-REE PIC S9(8) COMP VALUE +0.
ABD BLOCK FOR RB
60
PROCEDURE DIVISION. MAIN-PARAGRAPH. MOVE X'00' TO FBRSV1. MOVE X'00' TO RBRSV1. MOVE X'00' TO FBRSV2. MOVE X'00' TO RBRSV2. * MOVE 168 TO DBID. MOVE 'OP' TO CMD-CODE. PERFORM CALLACBX. * MOVE 168 TO DBID. MOVE 16 TO FNR. MOVE 'L3' TO CMD-CODE. MOVE 'L3XX' TO CID. MOVE 'AE' TO ADD1. MOVE 10 TO FBSIZE. MOVE 10 TO FBSEND. MOVE 'AC.' TO FBCONT. MOVE 50 TO RBSIZE. MOVE 50 TO RBSEND. PERFORM CALLACBXD 2000 TIMES.
ENSURE FIELDS SET TO BINARY ZEROES
61
CLOSE-ER-UP. MOVE 168 TO DBID. MOVE 'CL' TO CMD-CODE. PERFORM CALLACBX. STOP RUN. CALLACBX. CALL 'ADABAS' USING ACBX. IF RESP-CODE NOT EQUAL TO 0 PERFORM ERR-RTN. DISPLAY 'CMD ' CMD-CODE ' RSP.CD ' RESP-CODE. CALLACBXD. CALL 'ADABAS' USING ACBX, CB-RES, CB-REE, ABDFB, ABDRB. IF RESP-CODE = 3 THEN GO TO CLOSE-ER-UP. IF RESP-CODE NOT EQUAL TO 0 GO TO ERR-RTN. DISPLAY 'ISN=' ISN ' RB=' RBCONT. ERR-RTN. DISPLAY '------ERROR FOR ACBX ---------'. DISPLAY 'CMD: ' CMD-CODE. DISPLAY 'FNR: ' FNR. DISPLAY 'ISN: ' ISN. DISPLAY 'RSP: ' RESP-CODE. DISPLAY 'SUB: ' RESP-SUB.
62
ACBX EXAMPLE FILE CONTAINS 20,000 RECORDS1062 DS RABNSREAD IN 20b PER RECORDUSE MLF
MLF LIMIT 32K32K RB / RECORD.SIZE = 160032K IB / 16b HDR = 2048
13 CALLS
V7:
1 CALL RB LEN = 400,000 MB LEN = 320,000ILL = 20,000
V8 ACBX:
63
COMPATIBILITY V7/8 NUC/SVC/LNK
SVC – V8
NUC – V8NUC – V7
PGMLINK
V7
LINKV8
PGM
REQUIRED
ACB CALLS
!! ACBX CALLS REQUIRE ALL V8 COMPONENTS !!
64
EXTENTS NEW LIMITS
EXTENT TYPE LIMIT DDDATARnn 99DDASSORnn 99
DSST > 5
FILE EXTENTS FCB SPACE(AC,NI,UI,DS,AC2)
Free space available for file extents: At least 233 extents
EG. ADAREP FILE nnn (ASSO.BLKSIZE = 4136)
65
V8 QUICK NOTES. FDT INCREASE
I. FIELD NAME’s
II. SEARCH INDEX
III. SPECIAL NAMES
ASSO BLOCK
1
ASSO BLOCK
2
ASSO BLOCK
3
ASSO BLOCK
4
10b / FIELD
Eg. SUPER,SUB DE SUPER,SUB FIELDS
V7
V8: 20b / FIELD
4B / FDT
V8: x Blocks / FDT
66
V8 QUICK NOTES. FDT INCREASE Eg.
I.(many fields)
II.
III.(many specials)
1
V7
4B / FDT
2
3
4
ADACNVTOVERS=81
1
2
3
4
5
I.(many fields)
II.
III.(many specials)
6
V8
67
V8 QUICK NOTES. FDT INCREASE Eg. V7
FROM TO DEV TABLE VOLSER BLK BLK BLKS TYPE TYPE FILE NUMBER1306 - 1337 32 3390 PPT 0 ADA0801338 - 1338 1 3390 DSST 0 ADA0801339 - 1341 3 3390 AC 1 ADA0801342 - 1346 5 3390 UI 1 ADA0801347 - 1371 25 3390 NI 1 ADA0801372 - 1373 2 3390 AC 16 ADA0801374 - 1413 40 3390 NI 16 ADA080: : : 1507 - 1507 1 3390 AC 10 ADA0801508 - 1512 5 3390 NI 10 ADA0801513 - 1517 5 3390 UI 10 ADA0801518 - 2682 1165 3390 UNUSED 0 ADA080
ADAREP PHYSICAL LAYOUT:
BEFORE
1-30: CONTROL BLOCKS31-285: FCB’s286-1305: FDT’s
68
V8 QUICK NOTES. FDT INCREASE Eg. V8
FROM TO DEV TABLE VOLSER BLK BLK BLKS TYPE TYPE FILE NUMBER 286 - 289 4 3390 FDT 1 ADA080 346 - 349 4 3390 FDT 16 ADA080 354 - 357 4 3390 FDT 18 ADA0801306 - 1337 32 3390 PPT 0 ADA0801338 - 1338 1 3390 DSST 0 ADA0801339 - 1341 3 3390 AC 1 ADA0801342 - 1346 5 3390 UI 1 ADA0801347 - 1371 25 3390 NI 1 ADA0801372 - 1373 2 3390 AC 16 ADA0801374 - 1413 40 3390 NI 16 ADA080: : : 1507 - 1507 1 3390 AC 10 ADA0801508 - 1512 5 3390 NI 10 ADA0801513 - 1517 5 3390 UI 10 ADA0801518 - 1522 5 3390 FDT 10 ADA0801523 - 2682 1160 3390 UNUSED 0 ADA080
ADAREP PHYSICAL LAYOUT:
AFTER
1-30: CONTROL BLOCKS31-285: FCB’s
5 BLOCKS
69
V8 MISCELLANEOUS
1. GCB IS 2 BLOCKS (RABN 1 AND 2)
2. FDT FIELD OPTION: NB (NO BLANK COMPRESSION)
3. z/OS SVC IMPROVEMENTS. - PERFORMANCE IMPROVMENTS - SHIFT FROM SRB TO TCB USAGE (NOTE IN MEASUREMENTS) - ALL SERVERS MUST BE APF-AUTHORIZED: MPM’s ENTIRE NETWORK NATURAL GLOBAL BUFFER POOL ETC. ELSE: U0253 ABEND ADAS33 APF Authorization is required
70
BACK TO JUST ADABAS
71
LITTLE KNOWN FEATURES: SYNS AND 7X24
WHAT ARE SYNS FUNCTIONS?
1. SIMPLE /FAST2. FILE / DATABASE CHANGES3. LITTLE IO4. TYPICALLY FCB CHANGES5. VIA ADADBS OR AOS6. ADARES REGENERATES TO TARGET
REQUIRE:NO ACC USENO UPD USE
72
LITTLE KNOWN FEATURES: SYNS AND 7X24
ALLOCATE DEALLOCATE ASSOPFAC DATAPFACCHANGE DSREUSE ISNREUSE MAXLRECL MAXDS,NI,UI,ACNEWFIELD PGMREFRESH RELEASE RENAME USERISN ON/OFF
DECREASE DBINCREASE DBDELETE RECOVER REFRESH RENUMBER
MUPEX RECORD- SPANNING ON
WHAT ARE SYNS FUNCTIONS?
GROUP 1
GROUP 2
GROUP 3 (V8)
73
LITTLE KNOWN FEATURES: SYNS AND 7X24
ALLOCATE DEALLOCATE ASSOPFAC DATAPFACCHANGE DSREUSE ISNREUSE MAXLRECL MAXDS,NI,UI,ACNEWFIELD PGMREFRESH RELEASE RENAME USERISN ON/OFF
WHAT ARE SYNS FUNCTIONS?
GROUP 1
REQUIRE:NO ACC USENO UPD USE
ELSE RSP.CD. 48
NEW / IMPROVED : RELEASE DSREUSE ISNREUSE NEWFIELD
AOS ONLY
74
LITTLE KNOWN FEATURES: SYNS AND 7X24: RELEASE
Descriptor Name .. BA File Number ...... 18 File Name ........ VEHICLES Password ......... In Parallel ...... YES Enter 'RELEASE' to confirm ..
AOSF File maintenance D Release descriptor
75
LITTLE KNOWN FEATURES: SYNS AND 7X24: xxREUSE
FILE NO. ... 18 FILE NAME .. VEHICLES ASSO PFAC .......... 3 MAX. ALLOCATION DATA PFAC .......... 3 UI BLKS PER EXTENT .. 0 MAX. RECL .......... 10792 NI BLKS PER EXTENT .. 0 DS BLKS PER EXTENT .. 0 NEW FILE NAME ...... VEHICLES NEW FILE NO. ....... 18 ISN REUSE ............. ON_ WITH RESET ..... ___USER ISN ........... OFF IN PARALLEL .... YES DS REUSE .............. ON_FILE PASSWORD ...... WITH RESET ..... ___ IN PARALLEL .... YESALPHANUM ENCODING .. 0 MIXED DS DEVICE ....... OFFWIDECHAR ENCODING .. 0 PROGRAM REFRESH ....... OFF
AOSF File maintenance M Modify file parameters
76
LITTLE KNOWN FEATURES: SYNS AND 7X24: NEWFIELD
File = 18 (VEHICLES) In Parallel .. YES Enter Password if file is security protected ... Level I Name I Length I Format I Options I ------------------------------------------------------ 01 I ZZ I 10_ I A I NU __ __ __ __ __ I __ I __ I ___ I _ I __ __ __ __ __ __ I: : :
AOSF File maintenance C Define/modify FDTA Add new field(s)
77
ADARES REGENERATE. REVISIT
RESTOREDDB / FILE(s)
ORIGINAL DB
PLOG(s)PLOG(s)
PLOG(s)
AD
AR
ES
1. DB RECOVERY (AFTER RESTORE)2. FILE(s) RECOVERY (AFTER RESTORE) NO OUTAGE: 3. RE-BLOCK DATABASE4. CONVERT FILE TO 4b ISN5. CONVERT FILE TO FRWRD INDEX COMPR6. REORDER / MOVE FILES7. INTEGRITY CHECKS / REPAIR8. TESTING / APPLICATIONS CONVERSIONS
9. DISASTER RECOVERY / MIRRORING
RECORD LEVEL
WHY?
“EVENT REPLICATOR”: REBUILD FILES FOR PERFORMANCE
78
ADARES REGENERATE. OPTIONS
DB LEVELor
FILE LEVEL
EOF PLOGor
TOCP
VS.
DSN=PLOG.ADSN=PLOG.B : : :
//DDSIIN DD
ADARES REGENERATEADARES PLOGNUM=nnnn
ADARES REGENERATEADARES PLOGNUM=nnnnADARES TOCP=ccccADARES TOBLK=bbbbb
ADARES REGENERATEADARES FILE=fff,fffADARES PLOGNUM=nnnnADARES TOCP=ccccADARES TOBLK=bbbbb
ADARES REGENERATEADARES FILE=fff,fffADARES PLOGNUM=nnnn
DB / EOF DB / TOCP
FILE / EOF FILE / TOCP
79
ADARES REGENERATE. EOF PLOGDB LEVEL
orFILE LEVEL
EOF PLOGor
TOCP VS.
DSN=PLOG.ADSN=PLOG.B : : :
//DDSIIN DD
DB LEVEL IMPLIES AUTOBACKOUT REGENERATE NOAUTOBACKOUT(OPTION)
FILE LEVEL IMPLIES NO AUTOBACKOUT REGENERATE CONTINUE(OPTION)
“DB LEVEL REGENERATE” = “FILE LEVEL CONTINUE”
“DB LEVEL NOAUTOBACKOUT = “FILE LEVEL REGENERATE
THEREFORE / IPSO FACTO:
80
BA
CK
ALL UPDATES BACKOUT’ED OUT TO LAST ET
ADARES REGENERATE. EOF PLOG
ADARES REGENERATEADARES PLOGNUM=nnnn
//DDKARTE *
ADARES REGENERATEADARES FILE=1,2,3,4ADARES PLOGNUM=nnnnADARES CONTINUE
//DDKARTE *
DB LEVEL
FILE LEVELOR
UPD F1
UPD F2
ET
UPD F1
UPD F2
C1-HERE
UPD F1
UPD F2
ET
UPD F1
UPD F2
//DDSIIN1
2
3
4
5
6
7
8
9
10
11EOF
AP
PL
Y
81
ADARES REGENERATE. EOF PLOG
ADARES REGENERATEADARES PLOGNUM=nnnnADARES NOAUTOBACKOUT
//DDKARTE *
ADARES REGENERATEADARES FILE=1,2,3,4ADARES PLOGNUM=nnnn
//DDKARTE *
DB LEVEL
FILE LEVELOR
UPD F1
UPD F2
ET
UPD F1
UPD F2
C1-HERE
UPD F1
UPD F2
ET
UPD F1
UPD F2
//DDSIIN1
2
3
4
5
6
7
8
9
10
11EOF
AP
PL
Y
ALL UPDATES APPLIED TO EOF
? DATA INTEGRITY ? BI/AI/DVT/SPANNED ?
82
Note: TOCP has precedence over DB or FILE level
ADARES REGENERATE. TOCP=
EOF PLOGor
TOCP VS.
DSN=PLOG.ADSN=PLOG.B : : :
//DDSIIN DD
TOCP= IMPLIES NO AUTOBACKOUT REGENERATE AUTOBACKOUT(OPTION, TOCP ONLY)
DB LEVELor
FILE LEVEL
DB LEVEL
FILE=or
FILE=,CONTINUE
TOCP=,TOBLK=or
TOCP=,TOBLK=,AUTOBACKOUT
ORVS.
83
ADARES REGENERATE. TOCP=,DB LEVEL
UPD F1
UPD F2
ET
UPD F1
UPD F2
C1-HERE
UPD F1
UPD F2
ET
UPD F1
UPD F2
//DDSIIN1
2
3
4
5
6
7
8
9
10
11EOF
ADARES REGENERATEADARES PLOGNUM=nnnnADARES TOCP=HERE,TOBLK=bb
//DDKARTE * DB LEVEL
AP
PL
Y
ALL UPDATES APPLIED UP TO CHECKPOINT ‘HERE’
84
ADARES REGENERATE. TOCP=,DB LEVEL
UPD F1
UPD F2
ET
UPD F1
UPD F2
C1-HERE
UPD F1
UPD F2
ET
UPD F1
UPD F2
//DDSIIN1
2
3
4
5
6
7
8
9
10
11EOF
ADARES REGENERATEADARES PLOGNUM=nnnnADARES TOCP=HERE,TOBLK=bbADARES AUTOBACKOUT
//DDKARTE * DB LEVEL
AP
PL
Y
ALL UPDATES BACKED OUT TO LAST ET BEFORE CKPT
BA
CK
85
ADARES REGENERATE. TOCP=,FILE LEVEL
UPD F1
UPD F2
ET
UPD F1
UPD F2
C1-HERE
UPD F1
UPD F2
ET
UPD F1
UPD F2
//DDSIIN1
2
3
4
5
6
7
8
9
10
11EOF
ADARES REGENERATEADARES FILE=1ADARES PLOGNUM=nnnnADARES TOCP=HERE,TOBLK=bb
//DDKARTE * FILE LEVEL
AP
PL
Y
ALL UPDATES FOR FILE 1 APPLIED UP TO CHECKPOINT ‘HERE’
ADARES REGENERATEADARES FILE=1,CONTINUEADARES PLOGNUM=nnnnADARES TOCP=HERE,TOBLK=bb
//DDKARTE * FILE LEVEL
ADARES REGENERATEADARES FILE=1ADARES PLOGNUM=nnnnADARES TOCP=HERE,TOBLK=bbADARES AUTOBACKOUT
//DDKARTE * FILE LEVEL
86
ADARES REGENERATE. TOCP=,FILE LEVEL
UPD F1
UPD F2
ET
UPD F1
UPD F2
C1-HERE
UPD F1
UPD F2
ET
UPD F1
UPD F2
//DDSIIN1
2
3
4
5
6
7
8
9
10
11EOF
AP
PL
Y
ALL UPDATES FOR FILE 1 BACKED OUT TO LAST ET BEFORE CHECKPOINT
ADARES REGENERATEADARES FILE=1,CONTINUEADARES PLOGNUM=nnnnADARES TOCP=HERE,TOBLK=bbADARES AUTOBACKOUT
//DDKARTE * FILE LEVEL
BA
CK
87
ADARES REGENERATE. FILE vs DB LEVEL
RE
GE
N #
1R
EG
EN
#2
PAUSE WORK
ADARES REGENERATEADARES PLOGNUM=nnnnADARES NOAUTOBACKOUT
ADARES REGENERATEADARES FILE=1,2,3,4ADARES PLOGNUM=nnnn
DB LEVEL FILE LEVEL
OR
DB LEVEL: LOCKS DB NO ACCESS NO ADAEND/HALT
FILE LEVEL: NO LOCKS FULL ACCESS ADAEND/HALT
PAUSE: DATA INTEGRITY, BI/AI/DVT/SPANNED
88
ADARES REGENERATE. FILE vs DB LEVEL
USE FILE or DB LEVEL REGENERATE ?
PERFORMANCE: THE SAME
FILE LEVEL MUCH MORE FLEXIBLE TO STOP/START REGENS
FILE LEVEL ALLOWS TO REMOVE/ADD FILES FROM REGEN LIST
89
ADARES REGENERATE. FILE LEVEL JCL
//DDKARTE DD *ADARES REGENERATEADARES PLOGNUM=nnnn// DD DSN=ADABAS.CNTL(FILES)
ADABAS.CNTL(FILES):
ADARES FILE=001ADARES FILE=002ADARES FILE=003: : :ADARES FILE=255
ADARES FILE=001,002,003,004ADARES FILE=005,006,007,008ADARES FILE=009,010,011,012: : :ADARES FILE=252,253,254,255
OR
90
ADARES REGENERATE. TOCP=,CHOICES
CMD = C1CID = THIS
CPNAME=THIS
PROGRAM
AOS TOGGLE REUSE(IN PARALLEL)
CPNAME=SYNS
UTILITIES
ADARUN INTNAS=secsDflt=3600
CPNAME=SYNS
TIME BASED
91
ADARES REGENERATE. CHECKPT REPORT
* CPTYPE=4F - REUSE DS=ON FOR FILE 241 * CPNAME=SYNS, CPBLK=3, SESSION=22, JOBNAME=MYUSER
* CPTYPE=4F - REUSE DS=OFF FOR FILE 241 * CPNAME=SYNS, CPBLK=4, SESSION=22, JOBNAME=MYUSER
ADARES COPY UTICPLIST
CP CP USER DATE TIME PLOG BLOCK VOLSER JOBNAMENAME TYP TYP NR NR NR SYNS 60 2006-08-04 10:37:06 21 1232 DUAL ADABASSYNS 5B EXU 2006-08-04 02:42:49 21 1233 DUAL ADAENDSYNC 01 2006-08-04 10:34:46 22 1 DUAL AD168NUCTHIS 00 ET 2006-08-04 11:45:22 22 2 DUAL MYUSERSYNS 4F ET 2006-08-04 11:48:54 22 3 DUAL MYUSERSYNS 4F ET 2006-08-04 11:49:06 22 4 DUAL MYUSER
ADARES ADAREP CPLIST
NOTE: SYNP,SYNV and UTILITY SYNS
92
ADARES REGENERATE. NOTES
ADARES CAN BE RERUN IF PARMS DO NOT CHANGE !Eg. NOAUTOBACKOUT to No NOAUTOBACKOUT
SYNS CHECKPOINTS ARE APPLIED BY ADARESSYNP CHECKPOINTS ARE NOT (COND.CODE 4)
ADARES SHOULD ONLY BE RUN MPM, NOT SINGLE USER MODE
ADARES SHOULD USE MTR=YESNOTE: ENSURE ADARUN NAB >= 16 X NT
93
ADARES REGENERATE. MTR=YES
0
5
10
15
20
25
30
1
14 27 40 53 66 79 92
105
118
131
144
157
170
183
196
209
222
235
248
261
274
287
300
313
326
339
352
365
378
391
404
417
430
443
456
469
482
495
508
521
534
RUNS
TIM
E (M
INU
TES
)
MTR=NO ->
MTR=YES ->
94
ADARES REGENERATE. BACKOUT
UP
DA
TE
S . . .
GOAL
CHKPTEOF.PLOG
ADASAVRESTORE
ADARESREGNERATE
ADARESBACKOUT
95
ADARES REGENERATE. BACKOUT
STEP-1 COPY TO TAPE
STEP-2 ADARES BACKOUT
JCL:
BACKWARD READABLE TAPEIBM APAR’s
TAPE COMPRESSION
BACKOUT THE BACKOUT ??BACKS OUT TO ??
96
UNIQUE DESCRIPTORS (UQ DE).
B311 / 1 / 23B344 / 1 / 1C111 / 1 / 34: : : Z323 / 1 / 33
VALUE CNTISN’s
ASSO INVERTED LIST
1,AA,04,A,DE,UQ
ADAINVADACMP
CMD=A1 / N1 / N2FB=AA.RB=C11
RSP.CD.198
NOTE: VALUE CHECK MADE AGAINST NI VALUE
97
UQ DE. OLDE PROBLEM, IN THEORY
C11 / 1 / 1
VALUE CNTISN’sASSO INVERTED LIST1,AA,04,A,DE,UQ
USER 1 USER 2
A1 FB=AA. RB=D11 D11 / 1 / 1
N1 FB=AA. RB=C11C11 / 1 / 6D11 / 1 / 1
C11 / 2 / 1,6TIMEOUT / BT
NOTUQ !
SOLUTION
98
UQ DE. LDEUQPPRACTICAL RANGE
Unique Descriptor Pool
5K - 100K
SAG MANUAL
Range: 0 – 16MDefault: 5000
ONE ENTRY PER A1,E1 UQ.DE FOR EACH OPEN TRANSACTION.ONLY BEFORE IMAGE REQUIRED (IN CASE OF BACKOUT).
TOO BIG ? ??
TOO SMALL ? RSP.CODE 197
ALL A1/N1/N2 CHECK INVERTED LIST AND LDEUQP
99
UQ DE. LDEUQP
FORMULA= 1. 2 * HI-WATER MARK
2. FOR UQ.DE’S:
(AVG. CONCURRENT TRANSACTIONS) * (AVG. DELETE/UPDATES PER TRANSACTION) * (15 + AVG.UQ.DE.LENGTH)
UQ.DE. HEADER: RESERVED POINTER TO U.Q.E. FILE NUMBER UQ.DE. NAME UQ.DE. FORMAT UQ.DE.LENGTH
100
UQ DE. LDEUQP
HI-WATER MARK
NOTE: ADADBS REFRESHSTAT DOES NOT RESET
OP. CONS.CMD DRES DOES NOT DISPLAYSHUTDOWN DDPRINT DOES DISPLAYADADBS DRES DOES DISPLAYAOS DOES DISPLAY
Pool / Queue I Size I Used I %Used I-------------------------------------------------: : : Unique DE Pool(DUQ) I 50000 I 4300 I 8.6 I
101
UQ DE. LDEUQP PERFORMANCE ISSUES
1.FILL LDEUQP WITH 1000 ENTRIES 2000 ENTRIES 4000 ENTRIES
2.EACH ENTRY FOR FILE X, UQ.DE=AA
RUN PGM UPDATE BB (NON UQ DE)
RUN PGM UPDATE DD (UQ DE)
RUN PGM UPDATE AA (UQ DE)
MEASURE RELATIVE ADABAS CPU
102
UQ DE. LDEUQP PERFORMANCE ISSUES
0
0.5
1
1.5
2
2.5
3
BB DD,UQ AA,UQ
RE
LA
TIV
E
AD
AB
AS
CP
U T
IME
BB DD,UQ AA,UQ
4000 ENTRIES
2000 ENTRIES
1000 ENTRIES
3x
6x5x
10x
7x
17x
103
UQ DE. REMOVAL
1,AA,04,A,DE,UQ
(UQ BIT SET)
FDT
1. AOS RELEASE (PARALLEL)
2. ADAINV FILE OUTAGE
OR
ZAP FDT
SAG CE / EP / ER
OR
104
UQ DE. REMOVAL
1,ND,09,A,DE,UQ
(UQ BIT SET)
FDT FNR 191. DETERMINE FDT BLOCKS
2. DETERMINE OFFSET INTO FDT
3. LOCK FILE (IF DATABASE UP)
4. ENSURE BLOCK NOT IN LBP (IF DATABASE UP)
5. ADAZAP FDT (USE DIFFERENT SVC IF DB UP)
6. UNLOCK FILE
7. (OPT) VERIFY WITH ADAREP
105
UQ DE. REMOVAL 1. DETERMINE FDT BLOCKS
FROM TO DEV TABLE BLK BLK BLKS TYPE TYPE FILE: : : 1518 - 1522 5 3390 FDT 10
ADAREP PHYSICAL LAYOUT:
ADABAS V8
ADABAS V7:
FDT1 = 31 + MAXFILES + ( FNR – 1 ) x 4
FDTN = FDT1 + 3
Eg. V7 FNR = 19 MAXFILES = 255 FDT1 = 31 + 255 + (19 – 1 ) x 4 = 358FDTN = 358 + 3 = 361
106
2. ADARPRI ASSO RABN 358 - 361 DDDRUCK (RABN 358): FIND ‘ND’
0000 01AE0174 22C1C640 01010000 000C26C2 *.Þ.È.AF .. ..B*0010 E7230100 00000016 22D3C14B 01010000 *X.. ..LA... *: : : 0140 00000142 22D5C409 01090000 014C22D5 * .â.ND... .<.N*
V7 10b elements
DE FLAG 6TH BYTE, OFFSET 0149
0000 0000033E 000002E8 22C1C600 00000040 * .. .Y.AF *: : : 0280 02840000 00000000 22D5C400 00000009 *.D .ND .*0290 01090000 02980000 00000000 22D5D700 *.. .Q .NP *
V8 20b elements
DE FLAG 10TH BYTE, OFFSET 0291
107
UQ DE. REMOVAL 5. ADAZAP
DE FLAG = X’09’ 0000 1001UQ BIT = X’08’ 0000 1000
//DDCARD DD * ADARUN SVC=XXXADARUN PROGRAM=ADAZAP : : : //DDKARTE DD * ADAZAP MC=******** ADAZAP ASSO RABN=358,OFFSET=X'0149'ADAZAP VER=X'09' ADAZAP REP=X'01'
OR = X’0291’
108
UQ DE. PROGRAM ISSUES
1. FOR UQ UPDATES, KEEP TRANSACTIONS SMALL
2. IF COMPRESSION DEFINED AS NU, BLANKS ARE NOT CHECKED
3. BEWARE OF FIELDS AT END OF RECORD TREATED AS NU
4. REALLY, REALLY JUSTIFY
109
EXCP vs EXCPVR
TO USE:ALL ADABAS LOADLIBS (STEPLIB) ARE APF-AUTHORIZED
“VR” Page frames containing the IO control blocks are page-fixed
TO VERIFY, DDPRINT
ADAI65 msg:
EXCPVR IS BEING USED FOR THIS RUNOrEXCPVR IS NOT BEING USED FOR THIS RUN
PGFIX = NO / YES ? RELEASE PAGES AFTER IO COMPLETE?
IF EXCPVR, THEN ADARUN
110
EXCP vs EXCPVR
TO TEST: 1. START NUC WITH APF-LIBS OR NOT 2. RUN PROGRAM (64K IO’S, 1.1M COMMANDS) 3. END NUC 4. MEASURE (SECONDS): TCB SRB CMDTIME DURATION
ALTERNATE EXCP/EXCPVRRUN EACH 5 TIMES (VERSION 7.4.4)
111
EXCP vs EXCPVR RESULTS
36
36.5
37
37.5
38
38.5
39
39.5
40
40.5
1 2 3 4 5
3.65
3.7
3.75
3.8
3.85
3.9
3.95
4
4.05
4.1
1 2 3 4 5
13.5
14
14.5
15
15.5
16
16.5
1 2 3 4 5
130
132
134
136
138
140
142
144
146
148
150
1 2 3 4 5
TCB SRB
DURATIONCMDTIME
ABOUT 2% BETTER WITH EXCPVR