ims 13 database and dbrc: greater resiliency for your … · 1 ims 13 database and dbrc: greater...
Post on 07-Jun-2018
234 Views
Preview:
TRANSCRIPT
1
IMS 13 Database and DBRC: Greater Resiliency for Your Data
Deepak Kohli
IMS Product Management
deepakk@us.ibm.com
2
IMS 13 Database and DBRC Enhancements
• HALDB Alter
• Database Versioning
• DEDB Alter
• FP Secondary Index Enhancements
• DBRC Enhancements
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
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
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
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
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
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
Become Part of Our Community!
bit.ly/IMS_YouTube
twitter.com/IBM_IMS
Twitter.com/IMSTWIT imsmadesimple.tumblr.com facebook.com/IMSFans
imslistserv.bmc.com ibm.co/IMS_dWBlogs
linkd.in/IBM_IMS
www.slideshare.net/ibmims
ibm.com/vrm/newsletter/11069
ibm.co/IMS_RUGs
58
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
top related