Presentation is loading. Please wait.

Presentation is loading. Please wait.

SIMPLE SYNCHRONIZATION FLIP BETWEEN PRIMARY AND SHADOW

Similar presentations


Presentation on theme: "SIMPLE SYNCHRONIZATION FLIP BETWEEN PRIMARY AND SHADOW"— Presentation transcript:

1 SIMPLE SYNCHRONIZATION FLIP BETWEEN PRIMARY AND SHADOW
1. SHADOW DATABASES PROBLEMS SOLVED. CONCEPT, THE COST. SETUP. SIMPLE SYNCHRONIZATION FLIP BETWEEN PRIMARY AND SHADOW DOING MAINTENANCE WITHOUT OUTAGES. INTERNALS and GOTCHA’s ONGOING SHADOW DATABASES OTHER CONCEPTS.

2 1. SHADOW DATABASES. A. PROBLEMS SOLVED
AVOID OUTAGES 1. CONVERT FILES TO 4B ISN OR REVERSE. 2. CHANGE BLOCKSIZE OF DATABASE 3. REORDER TO FORWARD INDEX COMPRESSION 4. COMPLETE REORDER (empty Index blocks, extents, cluster, resequ.) 5. HIGH VOLUME TESTING. DBA TESTING 6. DATABASE INTEGRITY CHECKS. INTEGRITY FIX: ULD/LOD 7. CONVERT SPANNED FILES TO UNSPANNED 8. SOME MAJOR APPLICATION CHANGES 9. MERGE/SPLIT DATABASES 10. DISASTER RECOVERY SITE

3 B. CONCEPT, THE COST. ADARES REGEN PRIMARY DB 99 SHADOW GAIN:
PLOG ADARES REGEN PRIMARY DB 99 SHADOW GAIN: MAXIMUM OUTAGE TIME: 5 – 15 MINS. COST: DUPE DASD FOR ASSO/DATA/WORK SETUP TIME MONITOR TIME CPU: < 2% ALTERNATIVE: EVENT REPLICATOR COST: SETUP TIME CPU LICENSE COST

4 C. THE SETUP. PRIMARY DB 99 SHADOW DB 99 DATASETS SVC TASK NAME DDCARD
DB.P.ADA099.ASSO DB.P.ADA099.DATA DB.P.ADA099.WORK PLOGS,CLOGS,ETC. DB.P.SEC099.ASSO DB.P.SEC099.DATA DB.P.SEC099.WORK DATASETS SVC NR = 238 SVC NR = 252 SVC DB099NUC DB099SEC TASK NAME ADARUN99 SECRUN99 DDCARD

5 C. THE SETUP. Cont. PRIMARY DB 99 SHADOW DB 99 ADARUNS DATABASE = 099
SVC = 238 LOCAL = NO PLOGRQ = YES SVC = 252 LOCAL = YES MODE=MULTI CRITICAL LFP=,LWP/LS=,NH=, LI=,LQ=,NQCID=,... DEFAULT / SMALL NT = BIG (20) NAB = 16*NT (320) UTIONLY = YES/NO NU = BIG (20K) LP = BIG (90) LWKP2 = MIN (50) LBP / LFIOP = BIG ? OPENRQ = NO ? ? CT,TT,TNAE ? CACHE,CBUFNO OTHER

6 D. SIMPLE SYNCHRONIZATION
PRIMARY DB 99 SHADOW DB 99 BACKUP ADASAV SAVE: a. NOTE SYN2 info and PLOG info 2. ADASAV RESTORE: a. ! USE ASSO/DATA/WORK names of SHADOW b. ! USE SVC of SHADOW

7 D. SIMPLE SYNCHRONIZATION
PRIMARY DB 99 P1 P2 TASK: $PL COPY PLOG COPIED PLOGS CATLG SHADOW DB 99 JOBS: $RG REGEN PLOG DO STUFF

8 D. SIMPLE SYNCHRONIZATION
ADARES DDKARTE: ADARES REGENERATE ADARES MTR=YES * FOR PERFORMANCE ADARUN PARALLELREAD * FOR FLEXIBILITY ADARES PLOGDBID= * ADARES PLOGNUM= * FROM PLOG COPY DDDRUCK ADARES FILE=001,002, * FOR FLEXIBILITY ADARES FILE=016,017, : : : * ADARES CONTINUE * FOR DATABASE SYNCHRONIZATION ADARES DDKARTE (FIRST RUN): FROMCP=SYN2 FROMBLK= * FROM ADASAV SAVE DDDRUCK

9 E. FLIP BETWEEN PRIMARY AND SHADOW
ADAEND / HALT PRIMARY NUCLEUS WAIT TILL FINAL PLOG-COPY & REGENS COMPLETE HALT SHADOW NUCLEUS RENAME DATASETS, eg IDCAMS START PRIMARY NUC START SHADOW NUC ALTER 'DB.P.ADA099.ASSO' NEWNAME('DB.P.TMP099.ASSO') ALTER 'DB.P.ADA099.DATA' NEWNAME('DB.P.TMP099.DATA') ALTER 'DB.P.ADA099.WORK' NEWNAME('DB.P.TMP099.WORK') ALTER 'DB.P.SEC099.ASSO' NEWNAME('DB.P.ADA099.ASSO') ALTER 'DB.P.SEC099.DATA' NEWNAME('DB.P.ADA099.DATA') ALTER 'DB.P.SEC099.WORK' NEWNAME('DB.P.ADA099.WORK') ALTER 'DB.P.TMP099.ASSO' NEWNAME('DB.P.SEC099.ASSO') ALTER 'DB.P.TMP099.DATA' NEWNAME('DB.P.SEC099.DATA') ALTER 'DB.P.TMP099.WORK' NEWNAME('DB.P.SEC099.WORK')

10 F. DOING MAINTENANCE WITHOUT OUTAGES.
KEY QUESTION: IS MAINTENANCE BEING DONE AT ET BOUNDARY OR NOT? AGAIN, IS MAINTENANCE BEING DONE AFTER ADASAV RESTORE? AGAIN, IS MAINTENANCE BEING BETWEEN PLOG REGENS? AGAIN, IS MAINTENANCE BEING DONE AFTER PLOG REGEN OF A PLOG FROM DATABASE BEING TERMINATED?

11 F. DOING MAINTENANCE WITHOUT OUTAGES.
BEFORE DS REC AFTER DS REC BEFORE DE/VALUE AFTER DE/VALUE PLOG: ET PLOG END: AT THE END OF A REGEN, THE SHADOW DB MAY NOT BE AT: - ET BOUNDARY - COMMAND-LEVEL BOUNDARY EG. ADAVAL AFTER REGEN IS LIKELY TO SHOW ERRORS ! THE DATABASE IS ONLY SYNCHRONIZED AT 4 TIMES: 1. SYN AT THE END OF AN ONLINE ADASAV 2. SYNC FROM THE HALT/ADAEND OF DATABASE 3. SYNC FROM THE OPERATOR COMMAND: SYNCC 4. SYNC-73 DBS TRANSACTIONS SUSPEND/RESUME

12 F. DOING MAINTENANCE WITHOUT OUTAGES.
TO SYNC-UP THE SHADOW: SYN2. RESTORE PRIMARY TO SHADOW AND DO NOT REGEN SYNC FROM HALT/ADAEND. REGEN LAST PLOG FROM SESSION. SYNC FROM OPERATOR COMMAND: SYNCC. 1. ISSUE SYNCC TO PRIMARY DATABASE (MAY CAUSE DELAY). 2. FEOFPL PRIMARY DATABASE. 3. BUILD REGEN JCL TO REGEN TOCP=SYNC FOR SYNCC.

13 F. DOING MAINTENANCE WITHOUT OUTAGES.
RULES 1. DO NOT CHANGE ISNs ! DO NOT MAKE DS CHANGES BASED ON DE ! (IF NOT SYNC’D) 3. RESPECT DE-VALUES AND FDT OPTIONS IN PLOG ! CAUTION: MAKE SURE ALL SHADOW MAINTENANCE USE THE SHADOW ADARUN SVC= ! MAKE SURE MAINTENANCE RUNS ON SAME LPAR !

14 F. DOING MAINTENANCE WITHOUT OUTAGES.
GOOD MAINT. EXAMPLES 1.IMPLEMENTING FORWARD INDEX COMPRESSION. 2.MOVING FILE X TO DASD PACK Y FOR PERFORMANCE. 3.USERS RECEIVING RESPONSE CODE 177, RUN ADAVAL. 4.FIX INTEGRITY ERROR VIA ADAULD/ADALOD. 5.CONVERTING FILE TO 4-BYTE ISNS. 6.CONVERTING FROM EXPANDED FILES TO 4-BYTE ISNS. 7.IMPLEMENTING LARGER BLOCKSIZE FOR PERFORMANCE. 8.TESTING RUN TIME OF ADACMP DECOMPRESS. 9.TESTING RUN TIME OF MAJOR APPLICATION CONVERSION.

15 F. DOING MAINTENANCE WITHOUT OUTAGES.
BAD MAINT. EXAMPLES ! 1.ULD/LOAD FILE (USERISN=NO) ! ! 2.REORDER FILE BY DE ! ! 3.ADAINV ! (SEE ONLINE INV) ! 4.CHANGE COMPRESSION OPTIONS ! ! 5. CONVERT MUPEX TO 1 OR 2 (DATA, PE DE)

16 G. INTERNALS and GOTCHA’s
SYNS UTILITIES ON PRIMARY. EXAMPLE. ADADBS NEWFIELD ADADBS ALLOCATE ADADBS RELEASE SYNS CHECKPTS APPLIED PLOG, REGEN SYNP UTILITIES ON PRIMARY. EXAMPLE. ADAINV ADALOD CC=4 ON REGEN JOB FILE EXCLUDED FROM REGEN PROCESS PLOG, REGEN

17 G. INTERNALS and GOTCHA’s
IF YOU MUST SYNP ON YOUR PRIMARY 1.STOP THE 7X24 PROCESS. 2. DO SYNP FUNCTION ON PRIMARY. 3. BACKUP PRIMARY AND RESTORE TO SHADOW. 4. START REGEN FROM NEW SYN2 CHECKPOINT OPTION A: 1.LOCK THE FILE FROM USE ON. 2.FEOFPL AND WAIT ON CORRESPONDING REGEN. 3.REMOVE THE FILE FROM THE REGEN FILE LIST. 4.PERFORM THE SYNP UTILITY ON BOTH PRIMARY AND SHADOW DB. 5.FEOFPL AND WAIT ON CORRESPONDING REGEN. 6.ADD THE FILE BACK TO THE REGEN FILE LIST. 8.UNLOCK THE FILE SO UPDATES CAN OCCUR. OPTION B:

18 G. INTERNALS and GOTCHA’s
TO DO INTEGRITY CHECKS (eg. ADAVAL 1. RUN ADAVAL, NOTE ANY ERRORS. 2. FLIP PLOG ON PRIMARY AND DOING REGEN TO SHADOW. 3. RUN ADAVAL AND SEE IF ERRORS ARE THE SAME. OPTION A: 1.PUT THE DATABASE AT A SYNCHRONIZED POINT (SEE ABOVE) OPTION B:

19 USING THE SHADOW AS A RECOVERY DATABASE. WHY HOW
JUST DO IT. RISK: INTEGRITY ERRORS. 1 IF STILL ONE PLOG TO BE REGENNED. 1.PUT /STOP/ IN 7X24 PROCESS. 2.MODIFY REGEN JOB TO RUN WITH ‘CONTINUE’ 3.REMOVE STOP, RUN LAST REGEN JOB. 2 ALL PLOGS HAVE BEEN REGENNED. 1.COPY PLOG TO TAPE. 2.RUN ADARES BACKOUT OF PLOG ON TAPE. 3.RERUN LAST REGEN WITH ‘CONTINUE’. 3

20 H. ONGOING SHADOW CATLG P1 COPIED PRIMARY PLOGS JOB: $RG DB 99 REGEN
TASK: $PL COPY PLOG COPIED PLOGS CATLG SECNDRY DB 99 JOB: $RG REGEN PLOG RUNS 7 X 24 (OR NEARLY)

21 H. ONGOING SHADOW CONTROL DATASETS NEEDED
FROM PLOG COPY (DDKARTE/CATLG) CONTROL STOPGO=STOP/GO LASTPLOG= CURRENTPLOG= (Special) CHECKPOINT NAME CHECKPOINT BLOCK PLOGNAME PLOGNUM (DBID) : : :

22 H. ONGOING SHADOW PLOG COPY PHILOSOPHY: QUICK AVOID DB LOCKUP
PLOGSIZE (DUALPLS=): SHADOW FOR RECOVERY OR MAINTENANCE? WHEN ADASAV RUNS. FLIP PLOGs BY FEOFPLs OR SIZE? EXTRACT/WRITE DDDRUCK INFO TO DATASET EXTRACT/WRITE PLOGNAME TO DATASET SUBMIT REGEN JOB: IF NO “STOP” IF NO REGEN RUNNING IF PLOG NOT EMPTY

23 H. ONGOING SHADOW ADARES REGENERATE JOB PHILOSOPHY:
KEEP SEPARATE FROM PLOG COPY PROCESS. RUN AS NEEDED. DO FILE REGEN VS. DB REGEN: a. SPEED IS THE SAME. b. NO DATABASE-LEVEL LOCKING. c. FLEXIBILITY TO EXCLUDE FILES FROM REGENS. 2. MTR=YES ( 50% FASTER )

24 H. ONGOING SHADOW ADARES REGENERATE JOB (3 STEP PROCESS) STEP CONTROL1
1.IF /STOP/ END CC=2 2.READ DSN CONTROL 3.BUILD DDKARTE DSN (EG. CHKPT START) 4.UPDATE CONTROL LAST / CURRENT PLOG 5.END CC=0 STEP CONTROL1 ADARES REGENERATE FILE LEVEL MTR=YES INPUT PLOG DSN INPUT DDKARTE DSN STEP REGEN 1.UPDATE CONTROL: LAST PLOG 2.IF /STOP/ END CC=0 3.IF PLOGCPY RUNNING END CC=0 4.READ FOR NEXT PLOG: a.IF NONE, END CC=0 b.IF PLOG NULL,DELETE 5.SUBMIT REGEN JOB STEP CONTROL2

25 H. ONGOING SHADOW DOING MAINTENANCE 1.PUT /STOP/ IN 7X24 PROCESS.
2.WAIT TILL ANY RUNNING REGEN COMPLETES. 3.DO MAINT ON SHADOW DB. 4.UNSTOP /STOP/ IN 7X24 PROCESS.

26 H. ONGOING SHADOW RESTORING FROM PRIMARY TO SHADOW
1.PUT /STOP/ IN 7X24 PROCESS. 2.WAIT TILL ANY RUNNING REGEN COMPLETES. 3.RESTORE SPECIFYING SHADOW DATASETS. 4.UPDATE CONTROL TO START AT SYN2 CHECKPT. 5.UNSTOP /STOP/ IN 7X24 PROCESS. 6.SUBMIT REGEN JOB.

27 I. OTHER CONCEPTS CONTINUOUS PLOG COPIES ALL AS STARTED TASKS
REXX AS A TOOL


Download ppt "SIMPLE SYNCHRONIZATION FLIP BETWEEN PRIMARY AND SHADOW"

Similar presentations


Ads by Google