ims 13 database and dbrc: greater resiliency for your … · 1 ims 13 database and dbrc: greater...

60
1 IMS 13 Database and DBRC: Greater Resiliency for Your Data Deepak Kohli IMS Product Management [email protected]

Upload: doanquynh

Post on 07-Jun-2018

234 views

Category:

Documents


3 download

TRANSCRIPT

1

IMS 13 Database and DBRC: Greater Resiliency for Your Data

Deepak Kohli

IMS Product Management

[email protected]

2

IMS 13 Database and DBRC Enhancements

• HALDB Alter

• Database Versioning

• DEDB Alter

• FP Secondary Index Enhancements

• DBRC Enhancements

3

IMS V13 HALDB Alter

4

HALDB Alter

• Change the structure of an IMS HALDB without a DB outage

– Increase the length of an existing segment

– Add a new field to space at the end of an existing segment

• Built on HALDB Online Reorganization – no unload/reload required

– INIT OLREORG NAME(masterdb) OPTION(ALTER)

– TERM OLREORG

A

B C

A

C B

Benefits:

• Improves IMS HALDB availability by providing structure changes without

taking the database offline

• Provides flexibility in rolling database changes into the system

Improved Availability

5

IMS Integrated HALDB Online Reorganization - Reminder Solution Highlights:

• INIT/TERM/QRY/UPD OLREORG commands

– type-1 and type-2 command support for OLR

• Dual data sets during cursor-based reorganization

– Allows concurrent data sharing updates while OLR is active - nondisruptive

reorg

– Utilities and DBRC support for dual data sets

– Eliminates planned data availability outage

• Pacing of OLR via INIT command RATE parameter

– INIT OLREORG...SET(RATE(100))...

– UPD OLREORG...SET(RATE(50))...

6

Database records that have

been copied to the output

Locked

Database

Records

Database records yet to be

copied to the output

Database records that have

been copied from the input

Output

Data Sets

Cursor Input

Data Sets

OLR Overview - Reminder

Database records are copied from the input

to the output datasets in UORs

UOR : One or more HALDB records (root and

all of its dependent segments) that are

reorged within one commit boundary.

M thru V and Y

A thru J and X

Cursor points to root key or RBA

of last committed reorganized

record

Database records

can be

read, replaced,

inserted

or deleted

7

HALDB Alter Prerequisites

• Software requirements

– CSL

• SCI

• OM

– DBRC RECON MINVERS (‘13.1’)

8

HALDB Alter Overview

• Structural changes can be made to HALDB databases while the

database remains online

– Add a new field to space at the end of an existing segment

– Increase the length of an existing segment

• HALDB Alter is only supported for database types:

– PHDAM

– PHIDAM

Improved Availability

9

HALDB Alter Overview (cont’d)

• After changes are made to the DBD segment definition

– Type-2 Online Reorg command is used to change a database from the

current structure to the new structure

• Type-1 command /INITIATE OLREORG does not support HALDB Alter

– Online Change commands are used to bring the changed ACBLIB member

online

– Application programs can start using the new database structure

Improved Availability

10

FIELD 1

FIELD 1

FIELD 2 Space

FIELD 2 New

FIELD 3

Add a new field to space at the end of a segment

Example 1

Example 2

FIELD 1

FIELD 1 FIELD 2

FIELD 2 Space

New

FIELD 3

11

FIELD 1

FIELD 1

FIELD 2

Space FIELD 2

Increase the length of an existing segment Example 1

Example 2

FIELD 1

FIELD 1 FIELD 2

FIELD 2

Space

12

HALDB Alter Segment Field Fill Values

• For fields added at the end of a segment

– If TYPE ‘X’

• Fill with x’00’

– If TYPE ‘P’

• Fill low order byte with x’0C’ and other bytes with x’00’

– If TYPE ‘C’

• Fill with x’40’

• For space added to a segment without field definition(s)

– Fill with x’00’

13

HALDB Alter Preparation

• Change a DBD

– Define new fields in space at end of segment

• Specify new FIELD statements

– Increase the length of a segment

• Specify new length in the BYTES= parameter of SEGM statement

• Run DBDGEN

– Changed DBD used as input

• Run ACBGEN

– //IMSACB DD pointing to a staging ACBLIB

14

HALDB Alter DBRC Preparation

• CHANGE.PART Command

– Use to set attributes for a HALDB partition before it is altered

• New ALTERSZE keyword

– Specify new partition OSAM Block sizes for o/p datasets

– Specify new partition VSAM CI sizes for o/p datasets

– New NOALTRSZ keyword

– Clears the OSAM Block or VSAM CI sizes for the o/p datasets

• Sizes cannot be changed if the HALDB is currently being altered

– After the alter operation is completed and an online change is performed

ÊʬCHANGE.PART¬DBD(name)¬¬PART(name)¬¬¬¬¦¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬

¬¦¬¬¬Ê

ª¬ALTERSZE(nnnnn)¬«

•¬NOALTRSZ¬¬¬¬¬¬¬¬¯

HALDB Alter Online Processing

• Online Reorg is used to alter the structure of a HALDB database

– The input side uses the current DBD version from the active ACBLIB

– The output side uses the new DBD version from a staging ACBLIB

• Delta files are built to represent the changes between the

active/input DMB and the staged/output DMB

• All database partitions are included in the reorg process

Application programs accessing the existing database continue running

using the current DBD version

Max of 10 TCBs will be scheduled concurrently for an ALTER process, if

necessary

16

HALDB Alter Online Processing (cont’d) • Issue Type-2 Online Reorganization command

– Use new ALTER option to apply structural database changes

INITIATE OLREORG NAME(masterdb) OPTION(ALTER)

Only one HALDB master database name can be specified per INITIATE OLR command

– IMS reads the staging ACBLIB and applies the changes to the online HALDB

database

• IMS dynamically allocates the staging ACBLIB

– TERM OLREORG or /TERM command is allowed while database structure

change is in progress

INIT OLR with OPTION(ALTER) will restart the HALDB ALTER process where it left off

17

HALDB Alter Online Processing (cont’d)

• The new database structure will be available for use after the OLR ALTER and

OLC processes have completed successfully

– Make necessary updates to affected application programs

– Take a backup of the active ACBLIB member(s) being changed

– Stop access to the altered HALDB database

• Use /DBR or UPDATE command

• Do OLC to complete the alter process for changed ACBLIB member(s)

• Member Online Change is recommended

– Reads directly from the staging ACBLIB

– Can process specific ACBLIB members requiring activation

INITIATE OLC TYPE(ACBMBR) NAME(acbmember)

– Start access to the altered HALDB database

– Until OLC process is complete, application programs accessing the database

receive the unaltered format of the segment

18

HALDB Alter Example

• DBA updates DBD for database MASTER

– Increases the size of segment B from 30 bytes to 40 bytes

• Run DBDGEN

• Run ACBGENs into staging ACB library

• DBRC CHANGE.PART ALTERSZE() to alter BLK or CI size, if necessary

• Issue INIT OLREORG NAME(MASTER) OPTION(ALTER)

– IMS allocates staging ACBLIB and retrieves new DMB

– IMS builds old input DMB and new output DMB control blocks

• The output DMB blocks are built based on the DMB from the staging ACBLIB

• IMS allocates the output database data set(s)

• Make updates to affected application programs

• Backup active ACBLIB members affected by changes

• Stop MASTER DB access

• Perform Online Change

• Start MASTER DB access

A

B

C

New DMB IMS

Staging

ACBLIB

Old DMB Active

ACBLIB

Input data sets

A – J, X

Output data sets

M – V, Y

MASTER DB

OLR

19

Return 30 bytes

for Segment B

from the Output

data set IMS

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

• Application program reads segment B looking for KEY1

– When the record is found before the OLR cursor

– IMS reads segment B from the output data set whose size is 40 bytes

– IMS checks the delta table before returning the segment to the application

– Based on the table, IMS uses old DMB and returns 30 bytes of data to the

application

Name Input Output

B 30 40

Delta table

Input data sets

Output data sets

OLR

MPP: GU

KEY 1

OLR CURSOR

KEY 1 is

before the

cursor

Until ALTER and OLC are complete, IMS

reads the segment using the old DMB and

returns the unaltered segment structure.

20

HALDB Alter DBRC LIST Command Output

DB DBD=DBOHIDK5 DMB#=3 CHANGE#=3 TYPE=HALDB SHARE LEVEL=3 GSGNAME=**NULL** DBRCVGRP=**NULL** PSNAME=**NULL** DBORG=PHIDAM DSORG=OSAM CURRENT PARTITION ID=00001 FLAGS: COUNTERS: RECOVERABLE =YES PARTITIONS =4 ONLINE REORG CAPABLE =YES DATA SET GROUP MEMBERS =2 ALTER COUNT =4 ALTER COMPLETE COUNT =2

LIST output for a HALDB Master Database contains new info

– “ALTER COUNT” indicates number of partitions that are to be altered

– “ALTER COMPLETE COUNT” indicates number of partitions for which the

alter process has completed

-Number of partitions to be altered

-Number of partitions altered

21

HALDB Alter DBRC LIST Command Output (cont’d)

LIST output for a HALDB Database Partition contains new info

– “ALTER BLOCK SIZE” lists new block sizes to be used by the alter process

– “ALTER IN PROGRESS” indicates whether the alter process has started

– “ALTER COMPLETE” indicates whether the alter process has completed

OSAM BLOCK SIZE: A = 4096 B = 4096 ALTER BLOCK SIZE: A = 0 B = 8192

FLAGS: COUNTERS: BACKOUT NEEDED =OFF RECOVERY NEEDED COUNT =0 READ ONLY =OFF IMAGE COPY NEEDED COUNT =0 PROHIBIT AUTHORIZATION=OFF AUTHORIZED SUBSYSTEMS =1 HELD AUTHORIZATION STATE=3 EEQE COUNT =0 TRACKING SUSPENDED =NO RECEIVE REQUIRED COUNT =0 OFR REQUIRED =NO OLR ACTIVE HARD COUNT =0 PARTITION INIT NEEDED =NO OLR INACTIVE HARD COUNT =0 OLREORG CURSOR ACTIVE =NO PARTITION DISABLED =NO ONLINE REORG CAPABLE =YES REORG INTENT =NO QUIESCE IN PROGRESS =NO QUIESCE HELD =NO ALTER IN PROGRESS =NO PARTITION ALTERED =NO

only for OSAM

‘0’ indicates no

BLKSIZE change

Partition values

22

REORG RUN = 12.063 12:19:55.476258 * USID = 0000000002 REORG# = 00005 ALTER STOP = 12.063 12:20:13.210119 ONLINE RECOV = NO

HALDB Alter DBRC LIST Command Output (cont’d)

LIST output for a REORG record contains new info

– REORG record indicates whether the HALDB partition DBDS was

altered during the online reorganization

Partition was altered

23

HALDB Alter Operational Considerations

• Operational Considerations

– Type-2 OLREORG command is used to initiate the database

structural ALTER process

– OLR processing done for all partitions in a HALDB database

– OLC command is used to bring the new ACBLIB online

– Recommend using Member Online Change

– New DFS and DSP messages

– DFS1849E DFS3197I DFS3198I DFS3436E DFS3547E

– DSP0174E DSP0175E DSP1097E

– Changed DFS messages

– DFS047A DFS2991E

– New U1143 abend code

24

IMS 13 Database Versioning

25

Database Versioning Overview

• Allows programs to use different versions of the same physical

database

– Multiple views of the physical data maintained in the IMS Catalog

– Existing applications can remain unchanged when the physical structure of

the database changes

– Recompile just those programs referencing changed fields/segment

– Applies to Full Function DB, HALDB, Fast Path DEDB

– Supports database types: HDAM, HIDAM, PHDAM, PHIDAM, DEDB

Benefits:

• Provides greater flexibility in rolling out new versions of programs and

databases

• Allows new programs to get out faster without waiting for all programs to be

updated to the new database structure

Usability

26

Database Versioning Overview (cont’d)

• Database Versioning supports the following database types

– DEDB

– HDAM

– HIDAM

– PHDAM

– PHIDAM

• Database Versioning supports the following database structure changes

– For all supported database types

• Increasing the length of a segment

• Adding a new field to space at the end of a segment

27

• Database Versioning must be enabled

• Versioning is at the DBD level

– Users define the version of a database definition on the DBD

– Version numbers must be maintained in incremented values

• Database Versioning requires enablement of the IMS catalog

– DBD definitions for versioned databases must be in the IMS catalog

• Application programs can select the desired database version

– Specifying the version number on the PCB of the PSB

– Specifying the version number on a DL/I INIT VERSION call

Database Versioning Overview (cont’d)

28

• DFSDFxxx PROCLIB: new DATABASE section keywords

– Specify whether database versioning is enabled and default version

• DBVERSION=

• DBLEVEL=

• Database and Program Generation Statements

– Specify the database version number

• DBD: DBVER=

• PCB: DBVER=

– Override the default versioning specified in DFSDFxxx

• PSBGEN: DBLEVEL=

• “INIT VERSION” DL/I Call

– Overrides the version number that is specified on the PCB statement

– Must be issued before issuing a DL/I DB call to the database

Database Versioning Implementation

29

Solution Overview – DFSDFxxx PROCLIB Member

• New keywords added to DATABASE section

– DBVERSION = Y | N

• Enables database versioning

• Database versioning is disabled by default

– DBLEVEL = CURR | BASE

• 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

30

Solution Overview – Database Generation Statement

• New parameter added to DBD Statement

– DBVER=n

• 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)

.-,VSAM-. >>-DBD--NAME=(dbname1)--,ACCESS=-(--+--+-HDAM---+--+-,OSAM-+--+--)--+----------+------> ' '-HIDAM--' ' '-,DBVER=n-' ' '-PHDAM--' ' ' '-PHIDAM-' ' ' ' '-----DEDB----------------' ...

DBVER= parameter on the DBD statement for specific ACCESS types

31

Solution Overview – Program Generation Statement

• New parameter added to PCB Statement

– DBVER=n

• 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

>>-+-----------+--PCB--TYPE=DB--+-,DBDNAME=-+--name-----------------+----------+------> '-label-----' '-,NAME=----' '-,DBVER=n-' ...

DBVER= parameter on the PCB statement

32

Solution Overview – Program Generation Statement

• New parameter added to PSBGEN Statement

– DBLEVEL=CURR | BASE

• 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

>>-PSBGEN--PSBNAME=-name--+--------------------+-------------------------------------> ' ' '-,DBLEVEL=-+-CURR-+-‘ '-BASE-' ...

DBLEVEL= parameter on the PSBGEN statement

33

Solution Overview – DL/I INIT Call

• New VERSION function added to INIT call interface

– Program specifies the database name(s) and the DBD version(s) to use when accessing the database(s)

– Specified version number must match a version number defined on the DBD for the named database and stored in the IMS catalog

– Takes precedence over all other version number specifications and defaults (ie. PCB statement, PSBGEN statement, DFSDFxx)

– INIT call for a versioned database has to be executed prior to the first DL/I call for the database but not before first “GU” call to IOPCB

– Can only issue one INIT VERSION call for a specific database within an application

34

Solution Overview – DL/I INIT Call (cont’d)

DLI Call: >>-INIT--+-i/o_pcb-+--i/o_area--------------------------------->< '-aib-----' i/o area: .-,--------------. V | >>-VERSION(---dbname=version-+-)-------------------------------><

INIT VERSION call and i/o area

I/O Area contains the VERSION call function

– “VERSION(dbnameA=version#,…,dbnameZ=version#,…)”

• dbname: specifies a physical database name

– no duplicates allowed

• Version: specifies a DBD version number to be used when accessing the

database

35

Solution Overview – DBD Version Number

• If database versioning is enabled, the database version used to return the IMS data is determined by the following hierarchy:

1. DL/I INIT VERSION call

2. PCB Statement DBVER= parameter

3. PSBGEN Statement DBLEVEL= parameter

4. DFSDFxxx DATABASE Section DBLEVEL= parameter

DL/I INIT VERSION call takes precedence over all other database version number specifications and defaults

36

Solution Overview – Current Flow

DBJK21

DBJK22

DBJK23

Application

DBJK21

DBJK22

DBJK23

IMS

DBJK21 DBJK22 DBJK23

ACBLI B

DBJK21 V0 DBJK22 V0 DBJK23 V0

IMS Catalog

DBJK21 DBJK22 DBJK23

DBDLIB

PSBJK

PSBLIB

PSBGEN

--------------------------

PCB

--------------------------

DBJK21

DBJK22

DBJK23

PSB=PSBJK Source

DBJK21

DBD Source

DBJK22

DBJK23

DBDGEN

PSBGEN

DBJK21

DBJK22

DBJK23

DLI Active

ACBGEN

No Version numbers on DBDs

->

Catalog entries have version “V0”

Database Versioning not enabled ->

data returned to app

at physical level

37

Solution Overview – Database Versioning Flow #1

DBJK21

DBJK22

DBJK23

Application

IMS

DBJK21 V1 DBJK22 V1 DBJK23 V1

ACBLI B

DBJK21 V0,V1 DBJK22 V0,V1 DBJK23 V0,V1

IMS Catalog

DBJK21 V1 DBJK22 V1 DBJK23 V1

DBDLIB

PSBJK

PSBLIB

PSBGEN

--------------------------

PCB

--------------------------

DBJK21 V0

DBJK22

DBJK23 V1

PSB=PSBJK Source

DBJK21 V1

DBD Source

DBJK22 V1

DBJK23 V1

DBDGEN

PSBGEN

DBJK21 V0

DBJK22 V1

DBJK23 V1

DLI

Retrieve DBJK21 from Catalog

DBJK21 V1

DBJK22 V1

DBJK23 V1

Active

ACBGEN

Version “V1” of DBDs put into

ACBLIB & Catalog

Database Versioning enabled -> data

returned to app at V0

& V1 levels

DBJK21

DBJK22

DBJK23

38

Solution Overview – Database Versioning Flow #2

DBJK21

DBJK22

DBJK23

Application

IMS

DBJK21 V2 DBJK22 V2 DBJK23 V2

ACBLI B

DBJK21 V0,V1,V2 DBJK22 V0,V1,V2 DBJK23 V0,V1,V2

IMS Catalog

DBJK21 V2 DBJK22 V2 DBJK23 V2

DBDLIB

PSBJK

PSBLIB

PSBGEN

DBLEVEL=BASE

--------------------------

PCB

--------------------------

DBJK21 V1

DBJK22

DBJK23 V2

PSB=PSBJK Source

DBJK21 V2

DBD Source

DBJK22 V2

DBJK23 V2

DBDGEN

PSBGEN

DBJK21 V2

DBJK22 V2

DBJK23 V2

DBJK21 V1

DBJK22 V0

DBJK23 V2

DLI

Retrieve DBJK21 & DBJK22 from Catalog

Active

ACBGEN

DBJK21

DBJK22

DBJK23

Version “V2” of DBDs put into

ACBLIB & Catalog

Database Versioning enabled -> data

returned to app at V0,

V1 & V2 levels

39

Solution Overview – Database Versioning Flow #3

DBJK21

DBJK22

DBJK23

Application

IMS

DBJK21 V3 DBJK22 V3 DBJK23 V3

ACBLI B

DBJK21 V0,V1,V2,V3 DBJK22 V0,V1,V2,V3 DBJK23 V0,V1,V2,V3

IMS Catalog

DBJK21 V3 DBJK22 V3 DBJK23 V3

DBDLIB

PSBJK

PSBLIB

PSBGEN

DBLEVL=CURR

--------------------------

PCB

--------------------------

DBJK21 V1

DBJK22

DBJK23 V2

PSB=PSBJK Source

DBJK21 V3

DBD Source

DBJK22 V3

DBJK23 V3

DBDGEN

PSBGEN

DBJK21 V3

DBJK22 V3

DBJK23 V3

DBJK21 V3

DBJK22 V2

DBJK23 V1

DLI

Retrieve DBJK22 & DBJK23 from Catalog

Active

ACBGEN

Version “V3” of DBDs put into

ACBLIB & Catalog

Database Versioning enabled -> data

returned to app at V1,

V2 & V3 levels

DBJK21

DBJK22

DBJK23

INIT

VERSION(DBJK21=3,DBJK22=2,DBJK23=1)

40

Database Versioning Operational Considerations

• When an application program requires a database version not currently the

active version:

– IMS will go to the Catalog to get the DBD information for the requested

version

– IMS will compare the Catalog info for the DBD to the currently active DBD

information to determine the differences

– If the IMS Catalog is not enabled, an “NA” status code is returned

because the catalog database is not available

• When Database Versioning is enabled and the application program does not

request a version, by default IMS will retrieve the database data at the

current physical level

– Unless the default behavior is overridden by the DBLEVEL parameter

• QUERY DB

– New SHOW(VERSION) option

– Returns the version number of a database that is currently active in the online

IMS system

• For HALDB Master – response shows master and each partition

• For HALDB Partition – response shows only the requested partition

• For FP DEDB – response show only the DEDB

– Cannot specify the VERSION filter with other SHOW filters

~¬NAME(*)¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®

Êʬ¬¦¬QUERY¬¦¬DB¬¬¦¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¦¬¬¬¬¦¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¦¬¬¬¬¬¬¬¬¬¬

¬¬¬¬¬ÍÍ

•¬QRY¬¬¬¯ | ~¬,¬¬¬¬¬¬¬¬¬® | •¬SHOW(¬VERSION¬)¬¯ | ø | |

•¬NAME(¬¦¬¦¬name¬¬¦¬¦¬)¬¯ •¬name*¬¯

QUERY Command with SHOW(VERSION) option

Enhanced Type-2 QUERY Command

42

• U3303 Pseudoabend

– A DL/I call to access a specific version of the database data failed

• Database Versioning enabled

– Invalid database version number was specified

– Requested database version cannot be found in the IMS catalog

– Current database structure contains a change that is not supported by versioning

– Storage error occurred while building the internal blocks required to satisfy a request for a

version of a database other than the current version

• Database Versioning not enabled

– DFS3303I message issued to console before the abend

– If INIT STATUS GROUPA was issued prior to DL/I call

U3303 pseudoabend is suppressed and a “BA” status code is returned

Database Versioning Errors

Benefits:

• Provides greater flexibility in rolling out new versions of programs and

databases

• Allows new programs to get out faster without waiting for all programs to be

updated to the new database structure

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

43

DL/I INIT VERSION call takes precedence over all other database version number specifications and defaults

44

IMS 13 DEDB Alter

DEDB Alter

• IMS 13 adds ability to dynamically modify a DEDB Area while the

Area remains online

o Alter the physical attributes of a DEDB Area

• SIZE, UOW, or ROOT specifications

o Change the randomizer used for a DEDB Area

• Benefits

o Improved DEDB Area availability

• Make definitional modifications without taking the Area offline

o Improved management of DEDBs

• Provide flexibility in implementing Area changes into the system

• Eliminate system down time for DEDB definition changes

45

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

46

Fast Path IFP Utility for DEDB Alter

• TYPE ALTER o Invokes the DEDB Alter utility

• ALTERAREA area_name | REPLRAND o ALTERAREA area_name

• Modify the active DEDB AREA statement

• SIZE, UOW, ROOT, RMNAME

o REPLRAND

• Modify the active DEDB DBD statement

• RMNAME

• Prep work needed for ALTERAREA and REPLRAND o Modify the DEDB DBD (ie. AREA or RMNAME parameters)

o Assemble and bind any new randomizer (if being changed)

o Run the DBDGEN utility to create new DEDB DBD definitions

o Run the ACBGEN utility for all PSBs that reference the changed DEDB DBD

definitions to the staging ACBLIB

o Allocate and register to DBRC “Shadow Area” and “Shadow IC” data sets

47

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

• Shadow Area data set promoted to Active Area data set

• Old Active Area data set demoted to Shadow Area data set

o 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 ALTERAREA does not support DEDB databases with SDEPs

o ALTERAREA supports randomizer change while altering an Active Area

48

Run DEDB Alter Utility - REPLRAND Function

• REPLRAND

o Change Randomizer in RMNAME of DEDB DBD while DEDB online

• 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

• New randomizer replaces old randomizer

• All Areas in DEDB database use new randomizer

o Only one active DEDB Area can be changed at a time

• Concurrent DEDB alter for another Area in same DEDB is not supported

• Concurrent DEDB Alter for an Area in another DEDB database is supported

o REPLRAND supports DEDB databases with or without SDEPs

49

50

Fast Path Secondary Index (FPSI) Enhancements

Fast Path Secondary Index Enhancement

• IMS 13 includes the DEDB secondary index support

enhancements that were added by several IMS 12 APARs

o Add ability to use Boolean Operators in SSAs (Segment Search

Arguments)

• AND * or &

• OR + or |

o Support specific Command Codes with Secondary Index field

searches

• Supported: C, D, F, L, N, P, Q, U, V, - (NULL)

• Unsupported: A, G,M, O, R, S, W, Z

• Benefits

o New and simplified programming opportunities with DEDBs

• Allows ability to refine DL/I calls to Fast Path DEDBs

• Command codes supported when secondary index accessed as a DEDB

51

IMS 12 PTFs Forward Fitted to IMS 13

IMS12 APAR IMS12 PTF Description

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 UK91477 Command Code, Multiple SSA, Qualified Get

Call support for FP Secondary Index DL/I calls

(Target Segment ≠ Root)

52

53

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 IMS 11 “11.1”

o IMS 12 “12.1”

o IMS 13 “13.1”

54

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

55

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

56

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 New counter field indicates DEDB alter is active

57

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.

59

Thank You!

60