1 / 98

Philadelphia IMS User Group HALDB Administration April 14, 2011 Steve Nathan snathanus.ibm

Agenda. Backup and RecoverySelf-Healing PointersReorganizationAdding, deleting, and modifying partitionsTest databasesSecondary indexesPerformanceSummary and Other Information. HALDB Image Copy. Image Copy for HALDB is supported by all current IMS Image Copy productsImage Copy utility (DFSUD

dyani
Télécharger la présentation

Philadelphia IMS User Group HALDB Administration April 14, 2011 Steve Nathan snathanus.ibm

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    2. Agenda Backup and Recovery Self-Healing Pointers Reorganization Adding, deleting, and modifying partitions Test databases Secondary indexes Performance Summary and Other Information

    3. HALDB Image Copy Image Copy for HALDB is supported by all current IMS Image Copy products Image Copy utility (DFSUDMP0) Including CIC option Image Copy 2 utility (DFSUDMT0) Including the share option Online Image Copy (DFSUICP0) IMS High Performance Image Copy Vendor Image Copy Used only for the HALDB A-J (M-V) data sets Not the ILDS or PHIDAM index Maybe ... See Page 9

    4. HALDB Image Copy Image Copy is by partition data set (DSG) Database DD cards were generated by GENJCL.IC They are not generated in IMS V9 and above because of HALDB Online Reorg GENJCL.IC DBD(masterdb) generates JCL for all data set groups for all HALDB partitions GENJCL.IC DBD(partname) generates JCL for all data set groups for one HALDB partition GENJCL.IC DBD(partname) DDN(dsname) generates JCL for one data set group for one HALDB partition

    5. HALDB Recovery Change Accumulation Updates are logged Change Accum may be used GENJCL.CA DFSUCUM0 IMS High Performance Change Accumulation Utility Vendor Change Accumulation tools

    6. HALDB Recovery Recovery for HALDB is supported by all current IMS Recovery products Database Recovery utility (DFSURDB0) Database Recovery Facility (DRF) tool Vendor recovery tools Recovery is by partition data set (DSG) DD cards must be included in the JCL DBRC GENJCL support is the same as for Image Copy

    7. HALDB Recovery HALDB ILDS (L) and PHIDAM Index (X) data sets Backup No image copies Updates are not logged ILDS is only updated by reorganization reload PHIDAM Index is treated like a non-recoverable database Recovery Primary Index/ILDS Rebuild utility (DFSPREC0) Rebuilds the data set(s) from the database Vendor Index Builder DBRC GENJCL.USER MEMBER(DSPUPJCL) May be used to generate DFSPREC0 JCL to rebuild an ILDS and/or PHIDAM index

    8. HALDB Timestamp Recoveries All data sets of a partition must be recovered to the same time PHIDAM index must be rebuilt The A data set must be recovered first Rebuild with Index/ILDS Rebuild utility (DFSPREC0) or IB tool ILDS may need to be rebuilt If secondary indexes or logical relationships are used and If recovery is to a time before last reorganization ILDS is only changed by reorganizations May be rebuilt with Index/ILDS Rebuild utility (DFSPREC0) Alternative for ILDS After reorganization Copy ILDS with REPRO If ILDS needs to be restored Use copy produced by REPRO If no logical relationships and Secondary Index Builder is used to rebuild secondary indexes ILDS is not used to heal pointers ILDS may be empty and minimum size but must exist

    9. HALDB Timestamp Recoveries Alternative for PHIDAM Primary Index and ILDS One customer had a test HALDB PHIDAM database which they wanted to be able to restore to any Image Copy GDG generation Doing a time stamp recovery of the data partitions was easy Rebuilding the Primary Index and ILDS with DFSPREC0 was time consuming The customer created two SHISAM databases per partition and defined them to DBRC with the data set names of the Primary Index and ILDS These databases were Image Copied to the same GDG levels as the partition data Generating the JCL for recovery of the Primary Index and ILDS then followed the same path as the data partitions These databases can only be recovered back to the Image Copy There are no log record updates for these databases

    10. HALDB Timestamp Recoveries Must all partitions of a database be recovered to the same time? Almost always User must understand when this is not required For example, offending program updated only one partition Secondary index implications Usually, database with secondary index forces recovery of all partitions to the same time All partitions of the indexed database All partitions of its secondary indexes Logical relationship implications Usually, database with logical relationships forces recovery of all partitions to the same time All partitions in the logically related databases

    11. Agenda Image Copy and Recovery Self-Healing Pointers Reorganization Adding, deleting, and modifying partitions Test databases Secondary indexes Performance Summary and Other Information

    12. Self-Healing Pointers Each partition has an ID number The number is assigned by IMS when the partition is created Assigned in creation order Not in key sequence Not related to key string Not reused if the partition is deleted Is preserved if the partition is disabled Partition ID number is used in data set names Dynamic allocation reduces the importance of the data set name to users Partition ID number is physically stored in partition data set A (M) for PHDAM and PHIDAM partitions This is important to know if you are copying partitions

    13. Self-Healing Pointers Each partition has a reorganization number Incremented for each reorganization Stored in the partition Also stored in the RECON Reorganization Verification can be implemented Verifies the reorganization number in the partition For a technical write-up on HALDB reorganization numbers see http://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/WP100733

    14. Self-Healing Pointers Each partition has a reorganization number When a partition is initialized If Reorganization Verification is not activated OR Reorganization Verification is active but the Reorganization Number in the RECON is 0 THEN The reorganization number in the partition is initialized to 1 OTHERWISE It is initialized to the RECON Reorganization Number +1 The Reorganization Number in the RECON will be incremented when the first update is made to the partition

    15. Self-Healing Pointers Each partition has a reorganization number When a partition is reloaded If Reorganization Verification is activated THEN The reorganization number in the partition is set to the RECON Reorganization Number + 1 OTHERWISE Check the Partition ID (PID) of the first segment being loaded If it matches the Partiton ID of the partition being loaded Use the Reorganization Number in the unload prefix +1 OTHERWISE If the PID does not match and the data set has not been scratched Use the Reorganization Number in the data set +1 OTHERWISE Use the Reorganization Number in the unload prefix +1 and issue message DFS3286I as a warning

    16. Self-Healing Pointers Each segment has a unique ID when it is created Indirect List Entry Key (ILK) 8 bytes 4-byte RBA 2-byte Partition ID 2-byte Reorganization Number Stored in the segment prefix Never changes for the life of the segment This ID is unique within the entire HALDB database

    17. Self-Healing Pointers Secondary Indexes and logical relationships use an Extended Pointer Set (EPS) for finding the target segment The EPS is 28 bytes Important fields include: Partition ID of the target segment when the pointer segment was created Reorganization Number of the target segment when the pointer segment was created RBA Pointer to the target segment when the pointer segment was created RBA pointer to paired logical child when the pointer segment was created ILK of the target segment This pointer is NOT updated during reorganizations

    18. Self-Healing Pointers Secondary Indexes and logical relationships use the Extended Pointer Set (EPS) for finding the target segment

    19. Self-Healing Pointers Each partition has an Indirect List Data Set (ILDS) associated with it This is a VSAM KSDS There are no records in the ILDS after Initial Load There are no records until the first reorganization There are never any records if the database has no secondary indexes and no logical relationships Requires SHR(3,3)

    20. Self-Healing Pointers For each target segment (Secondary Index or Logical Relationship) a record called an Indirect List Entry (ILE) is stored in the ILDS during reorganization reload The key of the ILE in the ILDS is the ILK + the segment code of the target segment The data is the new location of the target segment The insert is for the target segment The source segment may not be the target and may be far away in the hierarchy This is done without regard for NULLVAL or Secondary Index Maintenance Routines For some database types this may result in MANY unneeded ILDS records

    21. Self-Healing Pointers

    22. Self-Healing Pointers The Primary Index is rebuilt every time the partition is reorganized There is no need for self-healing pointers The RBA pointer is always accurate

    23. Self-Healing Pointers

    24. Self-Healing Pointers

    25. Self-Healing Pointers

    26. Self-Healing Pointers If a database has no Secondary Indexes and no Logical Relationships then it NEVER needs to use the ILDS but IMS still requires it It still needs to be defined to VSAM It will still be allocated by batch jobs Customers have requested that it be totally eliminated if it is not needed

    27. Self-Healing Pointers When using the HD reload utility during database migration (MIGRATE=YES or MIGRATX=YES during HD Unload) be sure to specify the ILDSMULTI keyword This will write the ILDS records to a dataspace during reload They are then sorted and inserted using VSAM load mode

    28. Self-Healing Pointers The HD reload also has a NOILDS statement This can be used by both migration unload/reload and normal unload/reload No ILDS records are created or updated during HD reload The ILDS must be rebuilt using the DFSPREC0 utility after the HD reload and before the database is used This will scan the source data base partition NOILDS can also be used if there are no logical relationships and the Secondary Indexes are always rebuilt after the reorganization using an index builder tool

    29. Self-Healing Pointers After a reorganization secondary index and logical relationship pointers are "broken" Normal processing heals them efficiently Only heals pointers that are used Reads of pointers are "free" They are being read for normal processing ILDS reads are efficient ILDS CIs hold many entries ILDS CIs are maintained in the buffer pools Optionally, you can heal them Extends the reorganization process Typically, uses more resources Heals all pointers More total I/Os HALDB Toolkit includes a pointer healing utility Recommendation: Let the normal processing heal the pointers

    30. Self-Healing Pointers There is an alternative process for healing Secondary Index pointers Secondary indexes do not have to be rebuilt after a reorganization of a HALDB database BUT secondary indexes MAY be rebuilt Secondary indexes may be rebuilt with a tool such as the IBM IMS Index Builder The rebuilt indexes are organized Avoids the possible need to reorganize secondary indexes The pointers in the rebuilt secondary indexes are healed The ILDS will not be used for secondary indexes when they are rebuilt by Index Builder Pointers are accurate when rebuilt This eliminates the need to heal the pointers

    31. Self-Healing Pointers Rebuilding Secondary Indexes with IBM IMS Index Builder If you plan to rebuild secondary indexes with Index Builder and the database has no logical relationships The ILDS will never be used Reload using the NOILDS option of HD Reload or ILDSBLD=NO option of High Performance Load Does not update the ILDS Makes the reload more efficient Marks the ILDS as Recovery Needed in the RECON Use the DBRC command to turn off the flag CHANGE.DBDS DBD(partname) DDNAME(xxxxxxxL) NORECOV

    32. Agenda Image Copy and Recovery Self-Healing Pointers Reorganization Adding, deleting, and modifying partitions Test databases Secondary indexes Performance Summary and Other Information

    33. Non-HALDB Reorganizations

    34. HALDB Reorganizations Shorten the reorganization time to your window Reorganize partitions in parallel Create enough partitions to meet your requirement Eliminate rebuilds of secondary indexes Prefix Resolution, HISAM Unload, and HISAM Reload, or Index Builder are not required Eliminate updates to logical relationships Database Scan, Prefix Resolution, and Prefix Update are not required

    35. HALDB Reorganization Reorganization is by partition DD cards are not included in the JCL The PHIDAM Primary Index is rebuilt The ILDS is updated Secondary indexes and logically related databases DO NOT have to be reorganized No work data set No Prefix Resolution No HISAM unload/reload No Prefix Update The Self-healing pointers take care of this

    36. HALDB Reorganization HALDB data sets do not have to be deleted and redefined for reorganization The VSAM REUSE attribute is required for HALDB VSAM databases and is honored by HD reload Delete/define is required for non-HALDB databases OSAM allows reuse for both HALDB and non-HALDB databases Delete and define are required to move data sets The VSAM REUSE Parameter is allowed but not honored for the ILDS REUSE parameter is allowed but not honored for ILDS rebuilds ILDS will not be reused by Index/ILDS Rebuild utility DFSPREC0 REUSE parameter is required for BLDILDS=YES option of the HP Load tool Builds ILDS with load mode after sorting entries More efficient Eliminates unused entries

    37. Partition Initialization During Reorganizations Partition initialization is not required during reorganizations Data sets may be deleted and redefined without partition initialization Exception: A partition which contains no data must be initialized Offline reorganization steps: Unload partition Delete partition data sets (optional) Define partition data sets (optional) Reload partition

    38. Reorganizations and Secondary Indexes Reorganization of a HALDB database does not require rebuild of its secondary indexes Self-healing pointer scheme eliminates this requirement Many installations never reorganize non-HALDB secondary indexes They are rebuilt (and organized) with every reorganization of the indexed databases HALDB secondary indexes may become disorganized They may require reorganization Or rebuilds with an Index Builder

    39. Reorganizations and Secondary Indexes HALDB Secondary Index databases (PSINDEX) are reorganized using the HD unload/reload utilities DFSURGU0 HD Unload DFSURGL0 HD Reload The HP Unload/Reload utilities DO NOT support PSINDEX The HISAM unload/reload utilities do not support PSINDEX DFSURUL0 HISAM Unload DFSURRL0 HISAM Reload VSAM REPRO may also be used to reorganize HALDB Secondary Index databases

    40. Reorganization Alternatives HD Unload and HD Reload Utilities provided with IMS PHDAM, PHIDAM, and PSINDEX Also non-HALDB support Partitions must be off-line High Performance Unload and High Performance Load Tools from IBM High performance options PHDAM, PHIDAM Also non-HALDB support Does not support PSINDEX Partitions must be off-line

    41. Reorganization Alternatives IMS Parallel Reorganization (IPR) Tool from IBM Single job step reorganization Uses HP Unload and HP Load Partitions are offline to IMS Unload and load are done in parallel Segment is read for unload and immediately passed to load Reorganization time is about equal to the slower process

    42. Reorganization Alternatives IMS Online Reorganization Facility (ORF) Not the same as IMS V9 HALDB Online Reorganization Single job step reorganization Allows full-function databases to be reorganized while still accessible from online systems Reduces database downtime from hours to seconds Eliminates the need for operator intervention after reorganization finishes Available for HISAM, SHISAM, HIDAM, HDAM, PHIDAM and PHDAM

    43. Reorganization Warning If a database is unloaded and then completely redefined there is the HIGH probability that there will be problems (duplicate ILKs) Unload DELETE.DB INIT.DB INIT.PART Reload All of the REORG IDs in the database are reset to 1 But the REORG numbers in the ILKs in the unload file are probably NOT all 1 ILK=RBA|PARTID|REORG# This reorganization is NOT supported You need to write a user reload program if you want to do this It could read the UNLOAD file to get the input

    44. Reorganization Warning Customer used the following sequence to repartition (add partitions) a HALDB while IMS was active /DBR DB master Unload CHANGE.PART old partitions INIT.PART new partitions Initialize new partitions Reload /STA DB master Online IMS did not see the new partitions because the HALDB structure was not rebuild The final command in the sequence should be /STA DB master OPEN The OPEN keyword forces the structure to be rebuilt

    45. Reorganization Warning If you convert a non-HALDB database to HALDB and use the same name for a HALDB partition database as the non-HALDB database it requires a COLD start of IMS after the reorganization This is also true if you convert HALDB to non-HALDB A cold start is required if the non-HALDB is a name that used to be a partition name Fixed in IMS 12

    46. HALDB Reorganization IMS has Online Reorganization for HALDB Absolutely no outage Data is available throughout the reorganization process Reorganizations can be run at any time Schedule it when you have resources (CPU and I/O) available Reorganizes PHDAM and PHIDAM Duplicate sets of database data sets are required But reorganization can be done one partition at a time Supports: data sharing, XRF, logical relationships, secondary indexes Uses more resources than offline reorganization CPI, I/O, and logging A more detailed presentation of OLR is available IMS Version 9 HALDB Online Reorganization http://www.ibm.com/support/techdocs/atsmastr.nsf/Webindex/PRS1254

    47. Eliminating the Need for Reorganizations Free space Rule of thumb of 20% free space is 25+ years old Developed when DASD was very expensive Developed when the nightly window was 12 hours Out of date? HALDB allows you to have as much free space as you need (and can afford) DASD space is cheap Reorganizations are expensive More free space could eliminate the need for some reorganizations! On the other hand: More free space requires more blocks Sequential processing must read more blocks Image Copies must copy more blocks

    48. HD Unload Statistics for HALDB Partitions HD Unload (DFSURGU0) provides statistics report for each partition Statistics are like those for the database One report for each partition Final report for all partitions unloaded Statistics are reported by HD Unload and HD Reload HD Reload reports the statistics gathered by HD Unload Changes in partition boundaries after HD Unload are not reflected in the HD Reload statistics report Partition statistics may be disabled by SYSIN control statement parameter STAT=SUM - disables statistics report for individual partitions STAT=DET - (default) enables statistics report for each partition

    49. HD Unload Statistics for HALDB Partitions

    50. HALDB Reorganization The IBM IMS High Availability Large Database (HALDB) Toolkit product can aid in database reorganizations There are details later in the presentation

    51. HALDB Reorganization HD Reload (DFSURGL0) may read concatenated input files Unloads are from HD Unload (DFSURGU0) Each unload may be for one or multiple partitions DFSUINPT DD may contain concatenated input files User is responsible for supplying the correct input files PHIDAM roots must be in key sequence within a partition Faster execution of repartitioning Runs unloads of partitions in parallel Run one reload step A partition can not be reloaded in multiple steps

    52. Reorganization Summary Size partitions to meet reorganization window needs Reorganize partitions in parallel Largest partition determines reorganization time Pointer healing Typically, normal processing heals pointers most efficiently Database data sets may be reused VSAM REUSE attribute is honored Partition initialization is not required for reorganizations Even when data sets are redefined Secondary indexes are not rebuilt May need to be reorganized IMS Online Reorganization Completely eliminates databases outages for reorganizations

    53. Agenda Image Copy and Recovery Self-Healing Pointers Reorganization Adding, deleting, and modifying partitions Test databases Secondary indexes Performance Summary and Other Information

    54. Adding, Deleting, and Changing Partitions Databases change over time The sizes of partitions may change over time Data will be added and deleted The high keys of partitions may need to be adjusted over time Different amounts of data added or deleted to different partitions Example: Root keys based on date Databases need to be adjusted over time Partition may needed to be split, consolidated, created, or deleted Partition boundaries (high keys) may need to be adjusted HALDB Unload Utility provides statistics by partition

    55. Re-partitioning Considerations Partitions can be changed independently from other partitions which are not affected Only unload/reload the affected partitions Do not try to keep the partition ID in sequence It will not work It is not necessary The Partition Selection Exit can be adjusted to handle the Partition Ids in the proper sequence for the applications The Master Database record must remain in the RECON for the life of the HALDB Deleting the master record will cause the partition IDs to start from 0001 when the partitions are re-defined This can lead to duplicate ILKs which will break the self-healing pointers

    56. HALDB Migration Aid Utility HALDB Migration Aid utility (DFSMAID0) Reads PHDAM, PHIDAM, and PSINDEX databases Provides sizing and high key information for repartitioning planning Utility assumes that input is non-HALDB and calculates increases in prefix sizes bytes and prefix-incr are inaccurate Key range (KR) and number of partitions (NBR) analysis give accurate high keys Bytes per partition (MAX) will be inaccurate Could fail since it is not designed to handle extremely large amounts of data

    57. Splitting a Partition If partition PB with high key 4000000 needs to be split Unload partition PB HD Unload or HP Unload Define new partition PE With high key 3000000 Set PINIT flag for PB and PE Initialize partitions PB and PE Reload partitions PB and PE HD Reload or HP Load Partitions PA, PC, and PD are not affected

    58. Combining Partitions If partitions PB and PC with high keys 4000000 and 6000000 need to be combined Unload partitions PB and PC HD Unload or HP Unload Delete definition of partition PB Sets PINIT flag for PC Initialize partition PC Reload partition PC HD Reload or HP Load Partitions PA and PD are not affected

    59. Modifying Partition Boundaries If records need to be moved from partition PB to PC Unload partitions PB and PC HD Unload or HP Unload Change high key for partition PB From 4000000 to 3000000 Sets PINIT flag for PB and PC Initialize partitions PB and PC Reload partitions PB and PC HD Reload or HP Load Partitions PA and PD are not affected

    60. Concatenating Input to HD Reload HD Unload output files may be concatenated as input to HD Reload Only applies to HALDB Unload files are for different partitions Useful for combining partitions and modifying partition boundaries Unloads may be run in parallel

    61. Databases with Dates for Keys Databases with dates as the high-order part of the key To add a partition for a set of dates (higher keys) Define it and initialize it To delete the partition with the lowest dates (keys) and all of its data Delete the partition definition Unloads and reloads are not required for these changes

    62. Disabling and Enabling Partitions Disabling partitions Definitions and information remain in RECONs Includes partition IDs, DSN prefixes, and recovery information Partitions are not used Partitions are ignored Disabled partitions may be enabled Enabled partitions are made active Enabled partitions are marked 'recovery needed'

    63. Disabling and Enabling Partitions Use of disabling and enabling of partitions Disabling is normally done prior to deleting a partition Keeps recovery information, partition ID, DSN prefix, etc. If testing is successful, partition is deleted Deletion removes all information If testing is not successful, partition is enabled Partition is recovered and becomes active Other partitions may require timestamp recovery Partition Definition Utility (PDU) support New 'Partition status' field on 'Change Partition' panel DBRC command support

    64. Agenda Image Copy and Recovery Self-Healing Pointers Reorganization Adding, deleting, and modifying partitions Test databases Secondary indexes Performance Summary and Other Information

    65. Test Databases Non-HALDB test databases Often not registered in RECONs Each programmer may have one or more versions of a database All HALDB databases are registered in RECONs Multiple versions of a database must be defined in different RECONs DBRC does not allow multiple databases with the same name Multiple test versions of a database require multiple RECONs Plan your batch test environments Some users do development testing with non-HALDB databases HALDB and non-HALDB are compatible for application programs

    66. Defining Test Databases Use the same DBD as production DBD does not include partition or data set information Place in test DBDLIB and ACBLIB Create test partition definitions Define partitions for test environment or Use Partition Definition Utility EXPORT and IMPORT functions Moves partition definitions between RECONs They may be modified after IMPORT Data set name prefix, RAA, etc. IMS V9 and IMS V8 with APAR PQ73858 maintain partition IDs

    67. Creating Test Databases Alternatives for creating a test database from a production database Unload and Reload HD Unload (HP Unload) of production HD Load (HP Load) to test You may create a different partition configuration Partition IDs will generally be different Partition names may be changed Partition boundaries may be changed Image Copy and restore Export and import partition definitions Maintains partition IDs (with APAR PQ73858 for IMS V8) Image copy production database data sets and restore to test Partition IDs are stored in database data sets Copy ILDS and PHIDAM Primary Index for each partition or use DFSPREC0 to rebuild Change database data set names of test database Change data set name prefixes Use application programs

    68. Testing with non-HALDB Databases Application Compatibility Applications are compatible between HALDB and non-HALDB databases Exceptions are rare: Single partition processing with HALDB Processing the secondary index as a database when the secondary index has duplicate data Applications sensitive to FM status code (invalid root key) Applications with special processing for partitions which are stopped or /DBRed

    69. Testing with non-HALDB Databases Application Compatibility Since applications are compatible you may test with non-HALDB databases Does not require DBRC registration Users may have many versions of databases Minimal changes to testing Test DBDs differ from production DBDs Applicable to development Probably not applicable to system level testing or performance testing

    70. Agenda Image Copy and Recovery Self-Healing Pointers Reorganization Adding, deleting, and modifying partitions Test databases Secondary indexes Performance Summary and Other Information

    71. Secondary Indexes Plan the partitions for the secondary indexes How many partitions do you need? Space requirements HALDB secondary index entries are much larger than those for non-HALDB secondary index Pointers are larger Root key of target is stored in the entry Reorganization requirements Will they need to be adjusted during life of the database? Keys based on date, etc.

    72. Secondary Indexes Plan to reorganize them They are not rebuilt with each reorganization of their indexed databases Do not make them non-recoverable Unless you have a tool to rebuild them (e.g. Index Builder) They are not rebuilt by IMS utilities

    73. Adding Secondary Indexes IMS does not provide utilities to add a secondary index to an existing HALDB There are two alternatives: Steps with user application code: Read the existing database and write the segments to a file Re-generate the DBD with the secondary index Load the database (PROCOPT=L) using an application program which reads the file from Step 1 IBM IMS Index Builder Has the capability to add a secondary index The primary database does not have to be reorganized Physical parent pointers are always present

    74. Agenda Image Copy and Recovery Self-Healing Pointers Reorganization Adding, deleting, and modifying partitions Test databases Secondary indexes Performance Summary and Other Information

    75. Performance HALDB processing is tuned like other full function database processing Buffer pools ILDSs also use buffer pools Reorganizations and free space OSAM sequential buffering PHDAM root addressable area (RAA) and RAPs Make your RAA large enough to hold all of your data with free space In each partition Give yourself a lot more RAPs than roots In each partition HALDB has some new options Parallel processing of partitions

    76. Assigning HALDB Data Sets to Buffer Pools HALDB database data sets are assigned to OSAM and VSAM buffer pools using the DFSVSMxx member just like other Full Function databases If the Master database name is used all partitions are assigned to the same subpool Individual partitions may be assigned to their own subpools

    77. Assigning HALDB Data Sets to Buffer Pools HALDB database data sets buffer pools DFSVSMxx members or DFSVSAMP data set dbdname - partition name or master database name data set identifier - Letter A-J, L, or X A-J for user data sets A for secondary index L for Indirect List Data Set (ILDS) X for PHIDAM primary index id - subpool id

    78. Parallel Processing of Partitions Parallel processing of partitions Different jobs may process different partitions Could shorten elapsed times Control statement may be used to limit PCB access to one partition or to a number of consecutive partitions A list of partitions is a known requirement Can be used in Batch (DLI or DBB), BMP, or JBP regions

    79. Parallel Processing of Partitions Implemented with control cards in the DFSHALDB DD statement The NUM parameter is used to specify more than one partition Limits the program to the named partition and the following mmmm-1 partitions (in Partition Selection order) Available with APAR PK04880 for IMS V9 only

    80. HALDB Partition Processing There were two partition processing performance problems which were resolved by recent APARs Problem 1 A GU EQUAL-TO for a non-existent root key resulted in searching all the partitions Only the target partition needs to be searched This will be fixed by PK01201 Problem 2 A GU GREATER-THAN-OR-EQUAL-TO for a PHIDAM database root with twin backward pointers sequentially scanned the partitions using the Twin Forward pointers looking for the next higher key rather than using the primary index

    81. HALDB Pointer Checker Pointer Checker/Free Space Analysis is supported by some products IBM High Performance Pointer Checker Vendor Pointer Checker tools Monitor space by partition as you would any other database

    82. Agenda Image Copy and Recovery Self-Healing Pointers Reorganization Adding, deleting, and modifying partitions Test databases Secondary indexes Performance Summary and Other Information

    83. HALDB Database Administration Partitioning Sizing, naming, and modifying Backup and recovery Special considerations for ILDSs and PHIDAM indexes Reorganization Parallel processing and alternatives Secondary indexes Partition sizing and reorganization requirements Redbook: The Complete IMS HALDB Guide: All You Need to Know to Manage HALDBs SG24-6945

    84. Things to Remember HALDB Migration Aid utility can analyze existing HALDB databases Useful when planning repartitioning Deleting a partition definition deletes its recovery information Disabling a partition keeps its recovery information PHIDAM indexes and ILDSs have a different recovery process They are rebuilt with Index/ILDS Rebuild Utility (DFSPREC0)

    85. Things to Remember Secondary indexes may require reorganizations They are not rebuilt when the indexed database is reorganized Secondary index cannot be rebuilt from database with IMS utilities Do not make them non-recoverable unless you have a tool like the IBM Index Builder Plan your scheme for creating HALDB test databases DBRC registration is required for all databases

    86. HALDB Toolkit The IMS High Availability Large Data Bases (HALDB) Toolkit is an SPF driven tool from IBM that helps you with many of the functions that have been addressed in this presentation The newest version also includes HALDB without DBRC This allows you to have multiple datasets sharing one HALDB definition and behave like the database is not registered to DBRC This allows batch application testing of copies of a HALDB without worrying about DBRC

    87. HALDB Toolkit Convert to HALDB Using an ISPF based application for ease of use All necessary steps are generated Using a single-step batch process Allows for near online conversion in conjunction with IMS Online Reorganization Facility for z/OS, V1.2 (5655-H97) Generic partition selection exit Testing of partition selection exits

    88. HALDB Toolkit Application support Dynamic DFSHALDB Statement Build provides dynamic management of the DFSHALDB statement by providing a key for the starting partition and a key for the ending partition You specify a key range and the utility transforms it into a starting and ending partition Thus, the application does not require a change when partitions are split or consolidated

    89. HALDB Toolkit Application support Partition Selection API provides a callable interface to assign a key to a partition This function will be useful for applications to split their input on a partition boundary when parallel processing is desired The API returns the partition name and the partition number It is not required to run in a DLI environment

    90. HALDB Toolkit HALDB Maintenance Consolidate or split partitions Generates JCL and control cards for all required steps Heal index pointers Load a single partition Databases with secondary indexes must insert the secondary indexes in random sequence when loading This utility delays the index insert to the end, then loads them in sequential sequence This method improves the elapsed time

    91. HALDB Toolkit HALDB Maintenance Delete a single partition When a single partition is deleted, the secondary indexes must be rebuilt This utility simply deletes all records from the secondary indexes that reference the deleted partition Add an empty partition to the end of a database This function is for those databases that grow mostly at the end of the database

    92. HALDB Toolkit HALDB Maintenance Merge HALDBs When user partitioning (multiple identical DBs on different key ranges) has been used, the conversion will transform the DBs to HALDB first and after that merge them together This is a necessary step when secondary indexing is desired, which was not possible when using multiple DBs

    93. HALDB Toolkit DBRC Handling Cloning DBRC definitions The clone function replicates HALDB DBRC definitions to other RECONs and allows you to exchange the high-level data set name qualifier Copy a HALDB database to a different IMS system Transfers a production HALDB database into a different IMS and allocates the target data set in that system if not already available Backup DBRC Definitions This utility saves database-related DBRC definitions They can be used as input for the batch DBRC utility (DSPURX00)

    94. HALDB Toolkit HALDB Analyzer Analyze the HALDB constructs This function analyzes the HALDB structure Verifies that all root keys are in the correct partition Verifies all ILKs are valid, and all EPS pointers will find the correct ILE. Performance-related data are collected The user may also provide thresholds to be informed when a maintenance function is necessary Extract root keys This allows extracting all root keys to a sequential file A record layout is provided.

    95. HALDB Toolkit System Utilities Split Unload File allows you to split an unload file into single partition unload files The reloads then can run in parallel Indirect List Key (ILK) Rebuild enables you to rebuild all ILKs and their references and allows you to resolve conflicting ILKs The databases must be offline for this activity ACBLIB reference provides a list of all Program Specification Blocks (PSBs) that reference a given database, assisting in online changes by identifying which PSBs require change Create DBD source re-creates the DBD source statements from the DBDLIB

    96. Other Information on HALDB IMS Product Publications: IMS Administration Guide: Database Manager IMS Utilities Reference: System IMS Utilities Reference: Database and Transaction Manager Redbook: The Complete IMS HALDB Guide, SG24-6945 Written in 2003, but still valuable

    97. Other Information on HALDB Presentations: IMS High Availability Large Database (HALDB) http://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/PRS185 Migrating to IMS HALDB (High Availability Large Database) http://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/PRS693 Application Design and Programming with HALDB http://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/PRS490 IMS Version 9 HALDB Online Reorganization http://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/PRS1254

    98. Other Information on HALDB White Papers: IMS Full Function Database Design Guidelines This document provides guidance for all full function databases including HALDB http://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/WP100731 IMS HALDB Reorganization Number Verification http://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/WP100733

More Related