IMS 13 DB and DBRC Enhancements - IMS UG Hartford & Boston 10-2013
Upcoming SlideShare
Loading in...5
×
 

IMS 13 DB and DBRC Enhancements - IMS UG Hartford & Boston 10-2013

on

  • 371 views

 

Statistics

Views

Total Views
371
Views on SlideShare
371
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    IMS 13 DB and DBRC Enhancements - IMS UG Hartford & Boston 10-2013 IMS 13 DB and DBRC Enhancements - IMS UG Hartford & Boston 10-2013 Presentation Transcript

    • PREVIEW for IMS User Groups IMS 13 Database and DBRC: Greater Resiliency for Your Data Session Number IMS-2566 Nancy G. Stein IBM / Advanced Technical Skills – IMS ngstein@us.ibm.com © 2013 IBM Corporation
    • IMS 13 Database and DBRC Enhancements • Database Versioning • HALDB Alter • DEDB Alter • FP Secondary Index Enhancements • DBRC Enhancements 2
    • IMS 13 Database Versioning
    • Database Versioning • IMS 13 allows application programs to use different versions of the same physical database o Multiple views of the physical data are maintained in the IMS catalog o Application programs can use different views of the same physical IMS database • Benefit o o 4 Customers can support multiple versions of an IMS database Physical database structure can be changed without having to modify all the exiting application programs using the database
    • Database Versioning Overview • Provides the ability to assign user-defined version identifiers to different versions of an IMS database structure • Enables structural changes to a database while providing multiple views of the physical IMS data to various applications • Applications referencing a new physical database structure can be brought online without affecting applications that use previous database structures • Applications not requiring sensitivity to the new physical database structure can continue to access the database without any modifications or recompilation Can be used in conjunction with IMS 13 Database ALTER function. 5
    • Database Versioning Overview (cont’d) • Database Versioning supports the following database types o o o o o DEDB HDAM HIDAM PHDAM PHIDAM • Database Versioning supports the following structure changes to a database o o 6 For all supported database types • Increasing the length of a segment • Adding a new field to undefined space at the end of a segment For Full-Function and HALDB database types only • Adding a new field that defines an alternative mapping of bytes in a segment
    • Database Versioning Overview (cont’d) • Database Versioning requires IMS catalog enablement o DBD version definitions must be stored in the IMS catalog • Populate catalog with DBD version definitions • All systems in an IMSplex must be running IMS 13 o 7 DBRC MINVERS value of “13.1” required
    • Database Versioning Overview (cont’d) • Before Database Versioning is enabled for a database o IMS continues to only recognize the current active database definition • Version numbers must be maintained in incremental values o Specified on the DBD • Applications programs can specify a desired database version o o o o 8 System default setting PSB setting PCB in the PSB DL/I INIT call
    • Database Versioning Implementation • DFSDFxxx PROCLIB: new keywords in DATABASE section o DBVERSION= new keyword to enable database versioning o DBLEVEL= new keyword to indicate default DB version to be used • Database and Program Generation Statements o DBD: DBVER= database version number o PCB: DBVER= database version number o PSBGEN: DBLEVEL= new parameter used to override the default version specified in DFSDFxxx PROCLIB member • “INIT VERSION” DL/I Call o o Override the version number specified on the PCB statement o 9 Access a specific version of the database Must be issued before issuing a DL/I call to the database
    • Implementation – DFSDFxxx PROCLIB Member • New keywords added to DATABASE section o DBVERSION = Y | N • • o DBLEVEL = CURR | BASE • • • 10 Enables database versioning Database versioning is disabled by default Ignored when DBVERSION=N CURR (default) • IMS returns data from all databases using the current DBD version, which is the current physical level, unless a specific version is specified BASE • IMS returns data from all databases using the lowest DBD version number retrieved from IMS Catalog, unless a specific version is specified
    • Implementation – DBD Generation Statement • New parameter added to DBD Statement DBVER=n o • • • 11 Specifies a DBD version number to be associated with a database structure change Supports ACCESS types DEDB, HDAM, HIDAM, PHDAM & PHIDAM Numeric values from 1 – 2147483647 (2 Gigs)
    • Implementation – PCB in PSB Generation Statement • New parameter added to PCB Statement DBVER=n o • • • • • 12 Specifies the version of the DBD to use when accessing the database Must match a defined DBD version number stored in the IMS catalog If multiple PCBs within a PSB refer to the same database, each PCB must specify the same DBD version number Numeric values from 0 – 2147483647 (2 Gigs) If not specified, the DBD version used depends on DBLEVEL= parm in the PSBGEN statement or the DFSDFxxx PROCLIB member
    • Implementation – PSB Generation Statement • New parameter added to PSBGEN Statement DBLEVEL=CURR | BASE o • • 13 Specifies the default database version level returned to programs using this PSB and not requesting specific database versions • DBLEVEL=CURR • PCBs within the PSB which do not specify a DBVER= parm will access the database using the current physical structure • DBLEVEL=BASE • PCBs within the PSB which do not specify a database version on the DBVER parameter will use the lowest base version from the IMS catalog Overrides the default setting for DBLEVEL specified in DFSDFxxx PROCLIB member
    • Implementation – DL/I INIT Call • New VERSION function added to the INIT call interface o o Specified version number must match a version number defined on a DBD for the named database and stored in the IMS catalog o Takes precedence over all other version number specifications and defaults (ie. PCB statement, PSBGEN statement, DFSDFxxx) o INIT call for versioning database(s) has to be executed prior to the first DL/I database call(s) but not before first “GU” call to IOPCB o 14 Program specifies the database name(s) and the DBD version(s) to use when accessing the database(s) Can only issue one INIT VERSION call for a specific database within an application
    • Implementation – DL/I INIT Call (cont’d) • I/O Area contains the VERSION call function “VERSION(dbnameA=version#,…,dbnameZ=version#,…)” o • • version: specifies a DBD version number to be used when accessing the database • separate sub-parameters with a comma • 15 dbname: specifies a physical database name no duplicates allowed
    • Versioning Example Customer Account Segment Account Number Member Name Balance Credit Limit • BASE version of the customer account segment • Segment is fixed length • No space remaining for new Rewards Points field 16
    • New Segment Version Customer Account Segment Account Number Member Name Balance Credit Limit Reward Points • New version of the customer account segment defined in DBD o Expands the length of the segment o New field called “Reward Points” defined in expanded space • Existing applications are not updated o o 17 Existing applications do not have to know the new field exists Existing applications do not see or update the new field
    • Segment READ/REPLACE Behavior • Application scheduled using the BASE version of the database o Read a Customer Account segment o Update the Balance to 2,000,000 with a REPL call • Only the credit balance field is changed • Reward points field is left unchanged Customer Account segment before replace Account Number 555555 Member Name Balance Vern Watts 100,000 Credit Limit Reward Points 5,000,000 50,000 Customer Account segment after replace Account Number 555555 Member Name Balance Vern Watts 200,000 Credit Limit Reward Points 5,000,000 Design Change - See PM82346 (DEDB) & PM89215 (FF/HALDB) 18 50,000
    • Database Version Determination • If database versioning is enabled, the database version used to return the IMS data to a program is determined as follows:  DFSDFxxx DATABASE Section DBLEVEL= parameter  PSBGEN Statement DBLEVEL= parameter  PCB Statement DBVER= parameter  DL/I “INIT VERSION" call DL/I INIT VERSION call takes precedence over all other database version number specifications and defaults 19
    • IMS V13 HALDB Alter
    • HALDB Alter • IMS 13 provides ability to make structural changes to a HALDB database without a database outage o Structural changes can be made to DB segment definitions o HALDB Online Reorganization is used to apply the structural changes to the online database o Online Change process is used to activate the new ACBLIB member(s) in the online IMS system • Benefit o o 21 Eliminate a database outage when structural changes must be made to segment definitions in a DBD Improved online availability of HALDB databases
    • HALDB Alter Overview • Structural changes can be made to online HALDB databases o PHDAM o PHIDAM • Types of structural changes o Add a new field to space at the end of an existing segment o Define new fields to remap fields and space in an existing segment o Increase the length of an existing segment A A B 22 C B C
    • Add a new field to space at the end of a segment Example 1 BASE V2 FIELD 1 FIELD 2 FIELD 1 FIELD 2 Space New FIELD 3 Example 2 BASE V2 23 FIELD 1 FIELD 2 FIELD 1 FIELD 2 Space Sp. New FIELD 3 Sp.
    • Define new fields to remap fields & space in a segment Example 1 V2 FIELD 1 FIELD 2 V3 FIELD 1 FIELD 2A FIELD 2FIELD 2B FIELD 3 Space FIELD Sp 3A Sp. FLD 4 Example 2 V2 FIELD 2 V3 24 FIELD 1 FIELD 1 FIELD 2A FIELD 2 Sp. FLD 3A Space 3 FIELD FIELD 3B
    • Increase the length of an existing segment Example 1 V3 FIELD 1 FIELD 2 V4 FIELD 1 FIELD 2A FIELD 2FIELD 2B FIELD Sp 3A FLD 4 New FIELD Sp Space 3A FIELD 3 FLD Sp. 4 Space Example 2 V3 FIELD 1 FIELD 2 FLD 3A pace FIELD 3B FIELD 1 FIELD 2A FIELD 2 FLD 3A pace FIELD 3B V4 25 Space
    • HALDB Alter Overview (cont’d) • After changes are made to DBD segment definitions o Online Reorganization (OLR) is used to alter the online database from the current structure to the new structure • DB unload / reload not required • Type-2 INITIATE OLREORG o o 26 Online Change (OLC) is used to activate the changed ACBLIB members in the IMS online system Application programs can start using the new database structure
    • HALDB Alter Preparation • Change the DBD source code o Define new fields in space at the end of segment(s) • o Define new fields to remap existing fields & space in a segment(s) • o Specify new FIELD statements Specify new FIELD statements Increase the length of a segment(s) • Specify new length in the BYTES= parameter of SEGM statement • Run DBDGEN o Modified DBD source used as input • Run PSBGEN(s) (if needed) o Modified PSB source used as input • Run ACBGEN o Create a new member in a staging ACBLIB • Modify or code new application programs to use new fields 27
    • HALDB Alter Online Process • Use Online Reorg to alter the structure of a HALDB database o INITIATE OLREORG NAME(masterdb) OPTION(ALTER) • Reads the new DBD from a staging ACBLIB • Applies structural changes to the online HALDB database o o Type-2 TERM OLREORG or Type-1 /TERM command allowed while the database structure change is in progress o 28 All database partitions are included in the reorg process INIT OLREORG with OPTION(ALTER) command will restart the database structure change where it left off
    • HALDB Alter Online Process (cont’d) • Stop access to the altered HALDB database o Use Type-2 UPDATE or Type-1 /DBR command • Issue Online Change commands to complete the alter process for the changed ACBLIB member(s) For application programs accessing the altered database: Until OLC is completed, IMS reads the database using the unaltered DBD and returns the unaltered segment structure • Start access to the altered HALDB database New HALDB database structure can now be used by modified or new application programs needing the new segment fields • Implement new or modified application programs 29
    • HALDB Alter Operational Considerations • Software Requirements o o All systems in an IMSplex must be running IMS 13 • DBRC MINVERS value of “13.1” required Type-2 Command environment required • Common Service Layer (CSL) • • • Structured Call Interface (SCI) Operations Manager (OM) Type-1 /INITIATE OLREORG command is not supported • OLR processing is done for all partitions in a HALDB database • Member OLC is recommended to bring the new ACBLIB online • Several new DBRC commands & modified LIST outputs 30
    • IMS 13 DEDB Alter
    • DEDB Alter • IMS 13 adds ability to dynamically modify a DEDB Area while the Area remains online Alter the physical attributes of a DEDB Area o • SIZE, UOW, or ROOT specifications Change the randomizer used for a DEDB Area o • Benefits Improved DEDB Area availability o • Make definitional modifications without taking the Area offline Improved management of DEDBs o • • 32 Provide flexibility in implementing Area changes into the system Eliminate system down time for DEDB definition changes
    • DEDB Alter Overview • A new DEDB Alter utility is provided to dynamically modify a DEDB database o Runs as a standard Fast Path IFP utility o DEDB Areas remain online during utility execution • A 2-stage randomizer must be used o Enables areas to be processed individually • DEDB alter does not support DEDB databases in VSO or SVSO mode o Must be unloaded with /VUNLOAD before executing Alter utility • DEDB areas to be altered must be registered to DBRC • DBRC MINVERS value in RECON for all IMS subsystems that share the DEDB area must be "13.1" or later 33
    • Fast Path IFP Utility for DEDB Alter • TYPE ALTER o Invokes the DEDB Alter utility • ALTERAREA area_name | REPLRAND o o ALTERAREA area_name • Modify the active DEDB AREA statement • SIZE, UOW, ROOT, RMNAME REPLRAND • Modify the active DEDB DBD statement • RMNAME • Prep work needed for ALTERAREA and REPLRAND o o o o o 34 Modify the DEDB DBD (ie. AREA or RMNAME parameters) Assemble and bind any new randomizer (if being changed) Run the DBDGEN utility to create new DEDB DBD definitions Run the ACBGEN utility for all PSBs that reference the changed DEDB DBD definitions to the staging ACBLIB Allocate and register to DBRC “Shadow Area” and “Shadow IC” data sets
    • Run DEDB Alter Utility - ALTERAREA Function • ALTERAREA area_name o Change SIZE, UOW and ROOT values to increase the size of DEDB Area while DEDB Area remains online • SIZE - Change the CI size of an Area dataset in a DEDB database • UOW and ROOT - Change the Root Addressable and Independent Overflow parts of an Area in a DEDB database • During DEDB Alter execution • Migrate Active Area to Shadow Area with new space definitions After DEDB Alter completes • • • o Shadow Area data set promoted to Active Area data set Old Active Area data set demoted to Shadow Area data set Only one active DEDB Area can be Altered at a time • • Concurrent DEDB Alter for an Area in same DEDB database is not supported Concurrent DEDB Alter for an Area in another DEDB database is supported o o 35 ALTERAREA does not support DEDB databases with SDEPs ALTERAREA supports randomizer change while altering an Active Area
    • Run DEDB Alter Utility - REPLRAND Function • REPLRAND Change Randomizer in RMNAME of DEDB DBD while DEDB online o • Existing Area randomizer must be a 2-stage randomizer • New Area randomizer must be 2-stage randomizer • New randomizer name must be different from original name for the Area • During DEDB Alter execution • Read the active DEDB Area with the old randomizer • Migrate Active Area to Target Area with new randomizer After DEDB Alter completes • • • o New randomizer replaces old randomizer All Areas in DEDB database use new randomizer Only one active DEDB Area can be changed at a time • • o 36 Concurrent DEDB alter for another Area in same DEDB is not supported Concurrent DEDB Alter for an Area in another DEDB database is supported REPLRAND supports DEDB databases with or without SDEPs
    • Secondary Index Enhancements
    • Fast Path Secondary Index Enhancement • IMS 13 includes the DEDB secondary index support enhancements that were added by several IMS 12 APARs Add ability to use Boolean Operators in SSAs (Segment Search Arguments) o • • AND  * or & OR  + or | Support specific Command Codes with Secondary Index field searches o • • Supported: C, D, F, L, N, P, Q, U, V, - (NULL) Unsupported: A, G,M, O, R, S, W, Z • Benefits New and simplified programming opportunities with DEDBs o • • 38 Allows ability to refine DL/I calls to Fast Path DEDBs Command codes supported when secondary index accessed as a DEDB
    • IMS 12 PTFs Forward Fitted to IMS 13 IMS12 APAR IMS12 PTF PM59166 UK81798 Boolean Operator support for Fast Path Secondary Index DL/I calls PM49031 UK81799 Command Code, Multiple SSA, Qualified Get Call support for FP Secondary Index DL/I calls (Target Segment = Root) PM59181 39 Description UK91477 Command Code, Multiple SSA, Qualified Get Call support for FP Secondary Index DL/I calls (Target Segment ≠ Root)
    • Boolean Support: AND = * or &, OR = + or | HOSPITAL Target & Source Example Statement WARD PATIENT CLERK GU HOSPITAL (IXSAIDX IXSAIDX Result =Elm Street | =Doe Street) Get the Hospital information for the hospital on “Elm Street” or “Doe Street”. SKILL Note: Boolean operators work with FPSI accessed as a database (ACCESS=INDEX) 40
    • Supported Command Codes Command Code Explanation C D Retrieve or insert a sequence of segments in a hierarchic path using only one call, instead of using a separate (path) call for each segment. F Back up to the first occurrence of a segment under its parent when searching for a particular segment occurrence. Disregarded for a root segment. L Retrieve the last occurrence of a segment under its parent. N Designate segments that you do not want replaced when replacing segments after a Get Hold call. P Set parentage at a higher level than what it usually is (the lowest-level SSA of the call). Q Reserve a segment so that other programs cannot update it until you have finished processing and updating it. U Limit the search for a segment to the dependents of the segment occurrence on which position is established. V Use the hierarchic level at the current position and higher as qualification for the segment. - 41 Use the concatenated key of a segment to identify the segment Null. Use an SSA in command code format without specifying the command code.
    • Unsupported Command Codes Command Code Explanation Status Code A AJ G Prevent randomization and search the database sequentially AJ M Move a subset pointer to the next segment occurrence after your current position AJ O Qualify by Position AD R Retrieve the first segment occurrence in a subset AJ S Unconditionally set a subset pointer to the current position AJ W Set a subset pointer to your current position, if the subset pointer is not already set AJ Z 42 Clear positioning and start the call at the beginning of the database Set a subset pointer to 0, so it can be reused AJ
    • IMS 13 DBRC Enhancements
    • DBRC Coexistence with IMS 13 • DBRC Coexistence SPEs o IMS 11 APAR PM53134 / PTF UK80026 o IMS 12 APAR PM53139 / PTF UK80027 • Upgrade RECON data set to the IMS Version 13 o Issue a CHANGE.RECON UPGRADE command • MINVERS value must be set to the lowest level of IMS that uses or shares the RECON data sets o “11.1” o IMS12 “12.1” o 44 IMS 11 IMS 13 “13.1”
    • DBRC Support for HALDB Alter • INIT.PART command enhanced with new functionality for the BLOCKSIZE keyword o Use this keyword to define Control Interval (CI) sizes for VSAM data sets • CHANGE.PART command enhanced with a new keyword, ALTERSZE o Used before HALDB alter to specify new partition block sizes or CI sizes • CHANGE.DB command enhanced with two new keywords (ALTER or NOALTER) o Used to change the HALDB partition status to indicate it is being altered o Status cannot be changed if the partition is authorized • The NOTIFY.REORG command is enhanced with an ALTER keyword o Used to indicate the online reorganization process is altering a HALDB • An "ALTER" indicator is added to the reorganization (REORG) record 45
    • DBRC Support for HALDB Alter (cont’d) • DB (TYPE=HALDB) record is changed o Two counter fields are added to Indicate the number of partitions to be altered and the number of partitions that have been altered • DB (TYPE=PART) record is changed o Two new flags added to indicate the partition is being altered and to indicate the alter process has completed o An array of new OSAM block sizes / VSAM CI sizes added and used during the HALDB alter process o Record size increased by 80 bytes when the HALDB alter process is active and the offset of a new array of OSAM block sizes or VSAM CI sizes is not zero • Several DBRC API requests are enhanced to provide the new information stored in the RECON data sets 46
    • DBRC Support for DEDB Alter • INIT.ADS command is enhanced with new SHADOW and SHADOW IC keywords o Use to register shadow area data sets and shadow image copy data sets to DBRC • DBDS (TYPE=FP) record is enhanced o Two counters are added to show the number of available shadow data sets and the number of shadow data sets that are registered to DBRC o A list of the shadow area data sets is added • DB (TYPE=DEDB) record is enhanced o 47 New counter field indicates DEDB alter is active
    • Communities • On-line communities, User Groups, Technical Forums, Blogs, Social networks, and more o Find the community that interests you … • Information Management bit.ly/InfoMgmtCommunity • Business Analytics bit.ly/AnalyticsCommunity • Enterprise Content Management bit.ly/ECMCommunity • IBM Champions o Recognizing individuals who have made the most outstanding contributions to Information Management, Business Analytics, and Enterprise Content Management communities • ibm.com/champion 48
    • Become Part of Our Community! facebook.com/IMSFans imslistserv.bmc.com www.slideshare.net/ibmims 49 twitter.com/IBM_IMS Twitter.com/IMSTWIT linkd.in/IBM_IMS ibm.co/IMS_dWBlogs imsmadesimple.tumblr.com ibm.com/vrm/newsletter/11069 bit.ly/IMS_YouTube ibm.co/IMS_RUGs
    • Session IMS-2564 Thank You IMS 13 System Enhancements Your feedback is important! • Access the Conference Agenda Builder to complete your session surveys o Any web or mobile browser at http://iod13surveys.com/surveys.html o Any Agenda Builder kiosk onsite 50 Session IMS-2561 IMS 13 TM Enhancements Session IMS-2566 IMS 13 Database & DBRC Enhancements
    • Acknowledgements and Disclaimers Availability. References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are provided for informational purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice to any participant. While efforts were made to verify the completeness and accuracy of the information contained in this presentation, it is provided AS-IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this presentation or any other materials. Nothing contained in this presentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results. © Copyright IBM Corporation 2013. All rights reserved. U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. IBM, the IBM logo, ibm.com, zOS, IMS, DB2, CICS, InfoSphere, WebSphere, RACF, System z, zEC12, zBC12, z196, z10EC, zBX, zIIP, zAAP, ICF, and SoftwareXcel are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at www.ibm.com/legal/copytrade.shtml Other company, product, or service names may be trademarks or service marks of others. 51
    • BONUS SLIDES 52 52
    • IMS 13 Database Versioning 53 53
    • Solution Overview – Current Flow DBD Source DBJK21 DBDGEN DBDLIB ACBLI B DBJK22 DBJK21 DBJK22 DBJK23 DBJK23 PSB=PSBJK Source  ACBGEN  DBJK21 DBJK22 DBJK23 PSBGEN -------------------------PCB -------------------------DBJK21 DBJK22 DBJK23 PSBGEN PSBLIB PSBJK IMS Catalog DBJK21 V0 DBJK22 V0 DBJK23 V0 No Version numbers on DBDs -> Catalog entries have version “V0” IMS Application DBJK21 DBJK22 DBJK23  DLI  Active DBJK21 DBJK22 DBJK23 Database Versioning not enabled -> data returned to app at physical level  DBJK22 DBJK23 54 DBJK21
    • Solution Overview – Database Versioning Flow #1 DBD Source DBJK21 V1 DBDGEN DBDLIB ACBLI B DBJK22 V1 ACBGEN DBJK21 V1 DBJK22 V1 DBJK23 V1 DBJK23 V1   PSB=PSBJK Source  DBJK21 V1 DBJK22 V1 DBJK23 V1 PSBGEN -------------------------PCB -------------------------DBJK21 V0 DBJK22 DBJK23 V1 PSBLIB IMS Catalog PSBJK PSBGEN Version “V1” of DBDs put into ACBLIB & Catalog DBJK21 V0,V1 DBJK22 V0,V1 DBJK23 V0,V1 IMS Retrieve DBJK21 from Catalog Application DBJK21 DBJK22 DBJK23    DLI Active DBJK21 V0 DBJK22 V1 DBJK23 V1 DBJK21 V1 DBJK22 V1 DBJK23 V1 Database Versioning enabled -> data returned to app at V0 & V1 levels  DBJK21 DBJK22 DBJK23 55
    • Solution Overview – Database Versioning Flow #2 DBD Source DBJK21 V2 DBDGEN DBDLIB ACBLI B DBJK22 V2   ACBGEN DBJK21 V2 DBJK22 V2 DBJK23 V2 DBJK23 V2  PSB=PSBJK Source PSBGEN DBLEVEL=BASE -------------------------PCB -------------------------DBJK21 V1 DBJK22 DBJK23 V2 DBJK21 V2 DBJK22 V2 DBJK23 V2 PSBLIB IMS Catalog PSBJK PSBGEN Version “V2” of DBDs put into ACBLIB & Catalog DBJK21 V0,V1,V2 DBJK22 V0,V1,V2 DBJK23 V0,V1,V2 IMS Retrieve DBJK21 & DBJK22 from Catalog Application DBJK21 DBJK22 DBJK23    DLI Active DBJK21 V1 DBJK22 V0 DBJK23 V2 DBJK21 V2 DBJK22 V2 DBJK23 V2 Database Versioning enabled -> data returned to app at V0, V1 & V2 levels  DBJK21 DBJK22 DBJK23 56
    • Solution Overview – Database Versioning Flow #3 DBD Source DBJK21 V3 DBDGEN DBDLIB ACBLI B DBJK22 V3   ACBGEN DBJK21 V3 DBJK22 V3 DBJK23 V3 DBJK23 V3  PSB=PSBJK Source PSBGEN DBLEVL=CURR -------------------------PCB -------------------------DBJK21 V1 DBJK22 DBJK23 V2 PSBGEN DBJK21 V3 DBJK22 V3 DBJK23 V3 Version “V3” of DBDs put into ACBLIB & Catalog IMS Catalog PSBLIB DBJK21 V0,V1,V2,V3 DBJK22 V0,V1,V2,V3 DBJK23 V0,V1,V2,V3 PSBJK IMS Retrieve DBJK22 & DBJK23 from Catalog Application    INIT VERSION(DBJK21=3,DBJK22=2,DBJK23=1) DBJK21 DBJK22 DBJK23 Active DLI DBJK21 V3 DBJK22 V2 DBJK23 V1 DBJK21 V3 DBJK22 V3 DBJK23 V3 Database Versioning enabled -> data returned to app at V1, V2 & V3 levels  DBJK21 DBJK22 DBJK23 57
    • IMS 13 HALDB Alter 58
    • HALDB Alter Example • DBA updates DBD for database MASTER o Increases the size of segment B from 30 bytes to 40 bytes MASTER DB • Run DBDGEN • Run ACBGENs into staging ACB library • Make updates to affected application programs • DBRC CHANGE.PART ALTERSZE() to alter BLK or CI size, if necessary • Issue INIT OLREORG NAME(MASTER) OPTION(ALTER) C o IMS allocates staging ACBLIB and retrieves new DMB o IMS builds old input DMB and new output DMB control blocks • The output DMB blocks are built based on the new DMB in the staging ACBLIB • IMS allocates the output database data sets • Backup active ACBLIB members affected by changes • Stop MASTER DB access • Perform Online Change • Implement updated application programs • Start MASTER DB access 59 A B
    • HALDB Alter Example (cont’d) • As part of building the input and output DMB blocks, IMS compares the segments and fields and creates a delta block for the differences • While ALTER is processing, an application program reads “MASTER” looking for segment “B” with KEY1 When the record is found before the OLR cursor o • IMS reads segment B from the output data set whose size is 40 bytes o IMS checks the delta table before returning the segment to the application o Based on the table, IMS uses old DMB and returns 30 bytes of data to the application MPP: GU “B” KEY1 Delta table Name B Input 30 Output 40 Return 30 bytes for Segment B from the Output data set IMS KEY1 is before the cursor OLR Until ALTER and OLC are complete, IMS reads the segment using the old DMB and returns the unaltered segment structure. Output data sets  MASTER DB Input data sets  OLR CURSOR 60
    • IMS 13 DEDB Alter 61
    • Preparation for DEDB Alter (cont’d) • Allocate Shadow Area data sets o Shadow Area data sets used for migrating existing data from Active Areas o Single Area Data Sets (SADS) • o Multiple Area Data Sets (MADS) • o 2 to 7 Shadow data sets are required SADS can become MADS and MADS can become SADS after DEDB Alter • o Single Shadow data set is required Depends on the number of allocated Shadow Area data sets Shadow data sets are not accessible by the IMS System • Accessible to DEDB Alter utility only • Allocate Shadow IC data sets: o 62 Created while DEDB Alter migrates data to Shadow Area data sets 62
    • Preparation for DEDB Alter (cont’d) • Format Shadow data sets with DEDB Area Init Util (DBFUMIN0) o Shadow Area data sets and Shadow IC data sets formatted o Two new control cards: • ACTIVE = Format Area data sets for DEDB Area • SHADOW = Format Shadow Area and Shadow IC data sets o Formats Active or Shadow data sets in one execution, but not both o When DBRC=Y, formats both Shadow Area and Shadow IC in one execution • Formats Shadow DSs while associated Area DSs are online • After utility completes, flags are set in RECON: o Shadow Area data sets are marked “SHADOW AVAIL” o Shadow IC Area data sets are marked “SHADOW IC AVAIL” • Shadow data sets must be formatted o 63 Before DEDB Alter utility runs 63
    • DEDB Alter Utility Control Statements • TYPE ALTER Invoke DEDB Alter utility o • ALTERAREA area_name | REPLRAND • TARGNAME SHADOW | ACTIVE o SHADOW: The target Area data set is set to the Shadow Area data set o ACTIVE: o Notes: The target Area data set is set to the Active Area data set • With ACTIVE, the Active Area data sets are renamed • Ignored for REPLRAND functions • TIMEOUT timeout_value (1-999) | 15 seconds o 64 # of seconds for DEDB Alter DL/I activity to be quiesced 64
    • DEDB Alter Utility Control Statements (cont’d) • RETRY NO | YES | retry_value (1-99) o NO: Do not retry after TIMEOUT value expires. o YES: Retry after TIMEOUT value until the utility completes successfully o retry_value: Number of utility retries after TIMEOUT value occurs • RETRYWAIT retrywait_value (1-999) | 60 If RETRY YES or RETRY retry_value o • Number of seconds to wait before retrying the commit process • GO o 65 Execute the DEDB Alter utility 65
    • Post-DEDB Alter Utility Execution • If DEDB Alter is Successful o Shadow Area data set is promoted to Active Area data set • o Old active area data set is demoted to SHADOW area data set Shadow IC data set is promoted to user Image Copy • Registered in DBRC as “user image copy” • • Not a standard image copy • • Counted as user image copy in GENMAX value Instead, it is an image of Active Area data set To recover the Area with this image copy • (1) Notify DBRC that Area was restored • • • NOTIFY.RECOV DBD(name) AREA(name) RCVTIME(time_stamp) time_stamp = time when SHADOW IC was created by DEDB Alter utility (2) Issue GENJCL.RECOV with no image copy • 66 GENJCL.RECOV DBD(name) AREA(name) USEAREA 66
    • Post-DEDB Alter Utility Execution • If DEDB Alter is Unsuccessful o o Active Area data sets remain active and accessible to IMS systems If Shadow Area data sets are marked as AVAIL: • • o Shadow Area data sets have not been written to Can be used in subsequent DEDB Alter utility executions If Shadow Area data sets are marked as UNAVAIL: • Shadow Area data sets have been written to • Shadow Area data set must be: • • 67 Re-allocated Re-formatted with DBFUMIN0 67
    • DEDB Alter Utility Execution (REPLRAND) • Complete preparation steps: o o Assemble and bind new randomizer Modify DEDB DBD with new randomizer, run DBDGEN, run ACBGEN • Execute DEDB Alter Utility (REPLRAND) Load new randomizer from IMS SDFSRESL STEPLIB concatenation Load the new ACB from the Staging ACBLIB Commits new randomizer change 1. 2. 3. a. b. 68 Active DEDB database is quiesced causing DL/I calls to be suspended DEDB database is un-quiesced and suspended DL/I calls are resumed 68
    • Post-DEDB Alter Utility Execution • If DEDB Alter is Successful o New Randomizer replaces existing randomizer • If DEDB Alter is Unsuccessful o 69 Existing Randomizer remains in effect 69