SlideShare ist ein Scribd-Unternehmen logo
1 von 58
Developing and Deploying
Reliable Applications
20 Fall Pippin Lane, Suite 202
Asheville, NC USA 28803
sales@softbase.com
support@softbase.com
800-669-7076




Development                          Sales
Jim Spires (jspires@softbase.com)    Scott Garrett (sgarrett@softbase.com)
Neal Lozins (nlozins@softbase.com)   Dean Blair (dblair@softbase.com)
Chip Scardo (cscardo@softbase.com)
Mike Arnold (ma@softbase.com)
Who we help


Focused on helping application developers and DBAs eliminate
performance and reliability problems with DB2 for z/OS applications

Application Developers and DBAs typically need help during
three stages of development:

       Coding

       Testing

       Deployment

Today’s environment has created new challenges for
developers and DBAs

       Living with reduced resources and timeframes

       Developing apps that meet both user requirements and batch windows

       Meeting increasing user demands

       Dealing with increased privacy regulations
How we help




              Code DB2 for z/OS SQL
              statements to work
Code          properly and perform
              optimally


              Test all DB2 applications
Test          as quickly and thoroughly
              as possible


              Deploy DB2 applications without
              painful performance or
Deploy        application surprises (or 2:00
              am phone call surprises)
Products


Batch HealthCare
   DeadLock Advisor

   Attach

   Checkpoint

   Batch Analyzer

TestBase
   DB2 Database Population

   DB2 Data Edit

   DB2 Slice & Compare

DBIQ

SoftDate
DB2 Application Lifecycle




       CODE                 TEST                 DEPLOY

                   DB2 Development Bottlenecks


                             TestBase
                               Slice


                             SoftDate
        DB/IQ-QA
                       Batch Healthcare
Business Focus


SoftBase focuses on:


   Programmer

   Performance

   Ease of Implementation

   Ease of Use

   Real-Time

   Support
Deploy
Batch HealthCare
Batch HealthCare


SoftBase DeadLock Advisor


   Real-Time

   Instantly Available to the Programmer

   Easy to Use
SoftBase DeadLock Advisor


DeadLock Advisor


   Identify the source of deadlock timeouts and resource unavailable conditions

   Present deadlock information on the offending and offended batch job's log

   Programmers can quickly identify the cause of deadlocks by examining the
    job log of the affected application

   No need to search DB2 Syslog output
SoftBase DeadLock Advisor


Deadlock Situation
 HRMNTHLY                                      HRDAILY
 Application                                  Application
                 EMP_PROJ         EMPLOYEE
 Update                                       Update
                   Table            Table
 EMP_PROJ                                     EMPLOYEE


                   Locked          Locked

 Update            by HRM          by HRD
 EMPLOYEE


                                              Update
                                              EMP_PROJ
               Wait for HRDAILY
                                  Deadlock
                                  Code -911
SoftBase DeadLock Advisor


DB2 MSTR
DSNT375I -DB8G PLAN=HRDAILY WITH
    CORRELATION-ID=HRDAILY
    CONNECTION-ID=BATCH
    LUW-ID=USASDV02.LINK8.C60928D8323F=129
    THREAD-INFO=CSB4:*:*:*
    IS DEADLOCKED WITH PLAN=HRMNTHLY WITH
    CORRELATION-ID=HRMNTHLY
    CONNECTION-ID=BATCH
    LUW-ID=USASDV02.LINK8.C60928D27151=128
    THREAD-INFO=CSB4:*:*:*
    ON MEMBER DB8G

DSNT501I -DB8G DSNILMCL RESOURCE UNAVAILABLE
    CORRELATION-ID=HRDAILY
    CONNECTION-ID=BATCH
    LUW-ID=USASDV02.LINK8.C60928D8323F=129
    REASON 00C90088
    TYPE 00000302
    NAME DGFDB008.DGFTS081.X'00007A'

                              Deadlock
SoftBase DeadLock Advisor


HRDAILY

SBST375I SOFTBASE DeadLock Advisor
***********************************************************************
* Job: HRDAILY. DB2 Subsystem DB8G. Plan HRDAILY is deadlocked by     *
* HRMNTHLY (BATCH). Deadlocking plan is HRMNTHLY.                     *
* This job (HRDAILY)will receive a negative
SQLCODE.                  *
***********************************************************************
SBST501I SOFTBASE DeadLock Advisor
***********************************************************************
* Job: HRDAILY. DB2 Subsystem DB8G. Tablespace Page                   *
* DGFDB008.DGFTS081.X'00007A' is involved in a deadlock condition.    *
***********************************************************************




                              Deadlock
SoftBase DeadLock Advisor


HRMNTHLY



 SBST375I SOFTBASE DeadLock Advisor
 ***********************************************************************
 * Job: HRMNTHLY. DB2 Subsystem DB8G. Plan HRMNTHLY has deadlocked     *
 * plan HRDAILY in HRDAILY (BATCH). This job (HRMNTHLY) is *NOT*       *
 * affected, but has caused HRDAILY to receive a deadlock condition.   *
 ***********************************************************************




                               Deadlock
SoftBase DeadLock Advisor


TimeOut
 HRMNTHLY                                          HRDAILY
 Application                                      Application
               EMP_PROJ                           Update
 Update          Table                            EMP_PROJ
 EMP_PROJ


                Locked

                by HRM

                              Wait for HRMNTHLY


                            Timeout




                         Deadlock       -911
SoftBase DeadLock Advisor


DB2 MSTR
  DSNT376I -DB8G PLAN=HRDAILY WITH
         CORRELATION-ID=HRDAILY
         CONNECTION-ID=BATCH
         LUW-ID=USASDV02.LINK8.C60948488CC4=134
         THREAD-INFO=CSB4:*:*:*
         IS TIMED OUT. ONE HOLDER OF THE RESOURCE IS PLAN=HRMNTHLY
 WITH
         CORRELATION-ID=HRMNTHLY
         CONNECTION-ID=BATCH
         LUW-ID=USASDV02.LINK8.C609482050BF=133
         THREAD-INFO=CSB4:*:*:*
         ON MEMBER DB8G
  DSNT501I -DB8G DSNILMCL RESOURCE UNAVAILABLE
            CORRELATION-ID=HRDAILY
            CONNECTION-ID=BATCH
            LUW-ID=USASDV02.LINK8.C60948488CC4=134
            REASON 00C9008E
            TYPE 00000302
            NAME
 DGFDB008.DGFTS081.X'00007A'
                              Deadlock
SoftBase DeadLock Advisor


HRDAILY


 SBST376I SOFTBASE DeadLock Advisor
 ***********************************************************************
 * Job: HRDAILY. DB2 Subsystem DB8G. Plan HRDAILY is timed out due to *
 * HRMNTHLY (BATCH). Requested resource is being held by plan          *
 * HRMNTHLY. This job (HRDAILY) will receive a negative SQLCODE.       *
 ***********************************************************************
 SBST501I SOFTBASE DeadLock Advisor
 ***********************************************************************
 * Job: HRDAILY. DB2 Subsystem DB8G. A lock request for Tablespace     *
 * Page DGFDB008.DGFTS081.X'00007A' could not be granted, and the      *
 * request waited for a period longer than the maximum specified by    *
 * the installation.                                                   *
 ***********************************************************************




                               Deadlock
SoftBase DeadLock Advisor


HRMNTHLY



 SBST376I SOFTBASE DeadLock Advisor
 ***********************************************************************
 * Job: HRMNTHLY. DB2 Subsystem DB8G. Plan HRMNTHLY has timed out plan *
 * HRDAILY in HRDAILY (BATCH). This job (HRMNTHLY) is *NOT* affected, *
 * but has caused HRDAILY to receive a timeout condition.              *
 ***********************************************************************




                               Deadlock
Batch HealthCare


SoftBase Attach


   Call Attach

   Auto-Commit

   Variable Commit Frequency

   ENQ Serialization

   SQL Monitoring
Batch HealthCare


Attach Variable Commit Frequency


   Dynamically Varies Commit Frequency

   Based on Time or Frequency

   Executes via JCL or Operator command

   Can Save Significant CPU & Elapsed Time

   Without Source Code Changes
SoftBase Attach Facility


Unique Competitive Advantages


   Patented ENQ Serialization

   Patent-pending Variable Commit Frequency

   SQL Monitor

   Most widely used CAF on the market

   LOGRBA for recovery
SoftBase Checkpoint


SoftBase Checkpoint


   Allows abended jobs to restart at last COMMIT point

   Restores critical Working storage areas

   Repositions sequential input and output files

   Optional VSAM component backs out KSDS updates to last COMMIT point

   Pre-compiler automatically makes the few coding changes required
SoftBase Batch Healthcare


Checkpoint Facility


   Restart DB2 batch applications at or near point of failure

   Modify frequency of Commits and Checkpoints on the fly

   Easiest deployment of restart code in the industry
SoftBase Batch Healthcare


Checkpoint Facility – How?


   Capturing restart data and storing it in a DB2 table so it is recoverable

   Requires no JCL modification to restart, just a resubmit

   Notifying the program that a restart is in progress, and then

   Reopening and repositioning all input and output sequential files and
    restoring working storage
SoftBase Batch Healthcare


Checkpoint Facility – ISPF Monitor


   Active Job

   Waiting on Restart

   Storage Usage

   Frequency Type

   Logical Unit of Work Count

   Checkpoint Count
SoftBase Batch Healthcare


Checkpoint Facility Deployment


Program function calls can be inserted by 2 different
methods.

   Running Precompiler

     Taking the defaults, or
     Customize via control file parameters
   Hand-coding

     Customize placement by hard-coding into source code
SoftBase Batch Healthcare


Checkpoint Facility Deployment

Working Storage.
 DBCC-WS-START
   ~~~~~~~            - - - - - > User defined WS data, including
   ~~~~~                          Open Cursor host variables
 DBCC-WS-END

 DBR-Variables

Procedure Division.
        INIS          - - - - -> loads job/step name key in CKPT_TABLE
                                 & location of WS areas to be saved
L
U       CKPT          - - - - -> saves contents of WS to CKPT_TABLE
W                                & status listing of all active files

        TERM          - - - - -> deletes completed job/stepname row
                                 from CKPT_TABLE
Batch HealthCare


SoftBase Batch Analyzer
   Focused on quick, easy navigation to problem areas

   Data available within a minute

   Extremely lightweight – no traces required

   Typically left running 24x7

   No DB2 traces used

   No JCL changes

   Can analyze a single job, a group of jobs or all jobs

   Developers & DBAs can use product to monitor jobs

   Fast, easy installation
Batch Analzyer
Batch Analzyer
Batch Analzyer


Select the Most Expensive Step




                            The most expensive steps
                               are listed first. Step
                            HRBKUPDL used 82.4% of
                                  the DB2 CPU.
Batch Analzyer
Batch Analzyer


Identifies Potential Rollbacks




  The Recovery Impact Analysis Report
  provides an estimate of how long each
    DB2 batch program will require to
   ROLLBACK any changes it has made
    since the last COMMIT statement.
Batch Analzyer


Identifies Potential Rollbacks




  The Recovery Impact Analysis Report
  provides an estimate of how long each
    DB2 batch program will require to
   ROLLBACK any changes it has made
    since the last COMMIT statement.
Batch Analzyer




  The Recovery Impact Analysis Report
  provides an estimate of how long each
    DB2 batch program will require to
   ROLLBACK any changes it has made
    since the last COMMIT statement.
Batch Analzyer
Batch HealthCare


SoftBase Batch Analyzer


   Job-centric view of DB2 usage

   Extremely lightweight

   Easy install

   No DB2 traces used

   No JCL changes

   Easy to Use
Code
SoftBase Coding Solutions

                                      Code
DB/IQ-QA                              Test

                                      Deploy




   Creates a deep database of
    proper SQL coding rules

   Eliminates need for DBA
    intervention

   Enables creation and monitoring
    of SQL standards
Test
Building a great DB2 test experience

                                                                            Code
Application Testing Challenges                                              Test

                                                                            Deploy

Test Data
   Testing with full production data is impossible
   Developers cannot retrieve their own test data when they need it
   Access to referentially intact subsets of DB2, VSAM and sequential
    test data
   Inability to de-identify sensitive data


Test Methodology
   Painful, single-threaded testing procedures slow everyone down
   Building and maintaining multiple DB2 test beds, DB2
    Subsystems, DB2 Databases, CICS or IMS regions takes
    excessive time & resources
   Inability to retest DB2 application programs with identical data at a
    later time
TestBase – Faster, Better, Safer DB2 testing

                                                        Code
TestBase is better –                                    Test

complete testing workbench that enables users to:       Deploy



   Test with their own copy, or “Slice”, of
    data or against the same slice
    (independently or together) using
    patented Slice technology

   Quickly validate that changes worked
    correctly or that regression test was           Slice
    successful using the TestBase
    Compare Report

   Use fewer DB2 subsystems, CICS
    regions, DB2 databases and less
    resources

   Build new slice in seconds vs. days
    or weeks to create new test
    databases, CICS regions, etc.
TestBase – Faster, Better, Safer DB2 testing

                                                                                  Code
TestBase is safer –                                                               Test

removes and replaces ALL confidential and sensitive                               Deploy



test data from testing environments

   DBAs and Corporate
    Security Officers can    QSAM
    carefully plan out and                                   Test
                                    Production
    then deploy a Data              Employee Table        Employee Table
                                                         Employee Table
    Privacy solution                   SSN      Salary      SSN       Salary
                                    349445555   24,800   123456789    99,9999
                             DB2                                                Audit
   TestBase Auditor         z/OS                                               Report
    reports confirm that
    IT has done its job
    successfully
                             VSAM
TestBase – Faster, Better, Safer DB2 testing


TestBase

Data Population

   Extract referentially intact subsets of data and load them to test
    environment(s)

Edit

   Modify / Add / Delete Test data

Slice

   Unload, inventory, load, purge data for a slice or an entire environment


Fully integrated – Data Population can be used to extract subsets of data
in a slice and load them to another slice. Edit knows the primary key of
the slice view …
TestBase Data Population


Getting Test Data
Data population is used to extract a subset of referentially in tact data,
mask it if necessary, and load it to test environment(s).
                                                                   Customer

Suppose we have the following data model:

We want to extract test data for
every 100th customer and put it in      Product         Account               Customer_Notes

a test environment.

   First we have to define the
    data model to TestBase. It
                                         Price          Invoice
    can be done with DB2 RI or
    user defined relationships.
   Then we need to tell TestBase
    where to start - customer                          Line_Item
TestBase Data Population


Final Extract of Test Data

From a database of approximately 12 million rows, we extracted:

  DATE: 2011-04-05 12.51.59                    TESTBASE OUTPUT REPORT
  JOB : CSBIX    JOB05907
  RISPEC CREATOR: CSBI                         SOURCE SQLID: SLICE NA
  RISPEC NAME. .: CUSTOMER

  OBJECT                                                      RECORDS
  TYPE                     NAME                               UNLOADED
   -   ------------------------------------------------------ ----------
   T   SOURCE: DB9GLOC.VOLUME1.ACCOUNT                              1710
   T   SOURCE: DB9GLOC.VOLUME1.CUSTOMER                              855
   T   SOURCE: DB9GLOC.VOLUME1.INVOICE                             17100
   T   SOURCE: DB9GLOC.VOLUME1.LINE_ITEM                           34500
   T   SOURCE: DB9GLOC.VOLUME1.PRICE                                2946
   T   SOURCE: DB9GLOC.VOLUME1.PRODUCT                               973
       TOTALS                                                      58084
TestBase Edit
TestBase Slice


Slice solves the problem of:
Too Many Application Testing Environments!

   DBAs must build many separate
    testing environments for different     Test Bed #1     =    Test Bed #2       =    Test Bed #3




                                                                                            
                                                



                                                                     
    testing needs within their company
                                                Synchronization Procedure
   Synchronizing these multiple DB2       1.
                                           2.
                                               Synchronize all physical DBMS & file structures
                                               Synchronize all programs & common modules
                                           3.  Resolve all compile errors
    application test beds takes a great    4.  Verify all 3rd party software is current
                                           5.  Configure CICS and other software
    deal of time and effort                6.
                                           7.
                                               BIND/REBIND all DBRMs / Packages
                                               Resolve BIND errors
                                                 a. Column not found


                                                 b. Column not proper data type
    Developers or QA Personnel                   c. Column not proper NULL characteristics
                                                 d. -805 Errors
                                           8. Ensure all proper test data is loaded into appropriate
    cannot load or refresh their test          test bed
                                           9. Run RUNSTATS, Reset CHECK PENDING flags
    data without affecting other testers   10. Re-test everything
TestBase Slice


Slice also solves the problem of:
Can’t Run Enough Tests – Always Fighting For Test Data

   After purchasing expensive vendor
                                           TESTER 1       TESTER 2       TESTER 3       TESTER 4
    solutions, Application Developers      9:00AM         10:00AM    10:30AM            12:00PM
    still run single-threaded tests

   Test data is often corrupted within                                           
    minutes of loading test beds - this
    affects all other testing results                       X                             X
   Developers or QA Personnel                      APPLICATION TEST DATA

    cannot load or refresh their test
    data without affecting other testers
TestBase Slice


With Slice:
Everyone Tests Together At The Same Time

   Developers and QA Personnel can                     TEST           LOAD

    now run tests concurrently with
    their own Slice of test data
                                           TEST                                 REFRESH


   Developers and QA Personnel can                            Slice

    now load and refresh test data
    whenever they like – no DBA
    required
                                                        LOAD           TEST


   Sliced test data can be maintained
                                                  DBA          DBA            DBA
    and utilized for extended lengths of
    time - without affecting others
TestBase Slice


Slice solves the problem of:
Inability To Retest Application Programs

   QA Personnel often find problems
                                          1                                    2
    when testing applications turned
                                       APPLICATION                         ACCEPTANCE
    over by Application Developers     DEVELOPER                             TESTER

                                                     2 or 3 days pass…

   By the time QA Personnel send
                                                       Turnover to QA



    issues back to Developers, test
                                                     Return to Developer
    data has already been destroyed
                                              UNIT | SYSTEM | ACCEPTANCE
   Testing Personnel cannot retain
    historical versions of test data
TestBase Slice


Retest DB2 Applications With
Historical Test Data

   Developers can now return to any
                                                Application                                Acceptance
    previous point in time and rerun critical   Developer                                    Tester


    DB2 application tests                                      Turnover to QA

                                                              Return to Developer
   Development and QA staffs can now
    review historical test data to determine    Unit
                                                Test
                                                                7/2/2011
    when problems actually began                                                    7/3/2011
                                                 7/1/2011


   Libraries of test data can be saved and                       1a
                                                                           1b       1c

                                                                                               3
    reused for future DB2 application
                                                                                2
    projects and enhancements
TestBase Archive


Data Archiving

Extracts can be used to load data or to purge it.

Suppose we wanted to archive customers who hadn’t ordered anything in the
last 12 months. We could change the start spec to an SQL statement:



  SELECT *
  FROM CUSTOMER C
  WHERE DAYS(CURRENT DATE) - DAYS(CUST_START_DATE) > 365
     AND NOT EXISTS
      (SELECT *
       FROM INVOICE I
       WHERE C.CUST_N = I.CUST_N
         AND DAYS(CURRENT DATE) - DAYS(INVOICE_DATE) <= 365)
TestBase Archive


Data Archiving
                                                                                    Customer
                                                                                    100,000
Extracts can be used to load data                                                    80,000

or to purge it.

                                                             Product    Account                Customer_Notes
                                                              1,000     200,000                    20,000
Suppose we wanted to archive                                  1,000     160,000                    16,000

customers who hadn’t ordered
anything in the last 12 months. We
                                                                                                      Before
could change the start spec to an                             Price     Invoice
                                                                                                      Purge
                                                             10,000    2,000,000
SQL statement:                                               10,000    1,600,000                      After
                                                                                                      Purge

SELECT *
FROM CUSTOMER C
WHERE DAYS(CURRENT DATE) - DAYS(CUST_START_DATE) > 365                  Line_Item
   AND NOT EXISTS                                                      10,000,000
    (SELECT *                                                           8,000,000
     FROM INVOICE I
     WHERE C.CUST_N = I.CUST_N
       AND DAYS(CURRENT DATE) - DAYS(INVOICE_DATE) <= 365)
TestBase Archive


Archive Restore
                                                           Archive
Once archived, the data can be
restored to the Production
Database or moved to another                         Customer    Product

database from the archive               Production
                                           DB2
                                        Database     Customer
                                                                  Price
                                                       Note
Just because old customers used
products and prices, doesn’t mean
we want to get rid of them. We                        Invoice
do, however, want the way they
looked at the time in our archive. We   Shadow
can remove tables such as product         DB2
                                                     Line Item
and price from the purge list.          Database
SoftBase Testing Solutions

                                       Code
SoftDate                               Test

                                       Deploy



   Allows users to test z/OS-based
    applications with a simulated
    past or future system date

   Enables developers to test
    application date-dependent logic
    with minimum system impact

   Allows users to re-run failed
    applications on same apparent
    system date

   Simulates different time zones
    for users
Softbase




Proven Technology

 +                      a better DB2
Proven Tools
                    =   development
                        experience
 +
Proven Partner

Weitere ähnliche Inhalte

Ähnlich wie Developing and Deploying Reliable DB2 Applications

Real-Time Query for Data Guard
Real-Time Query for Data Guard Real-Time Query for Data Guard
Real-Time Query for Data Guard Uwe Hesse
 
DB2UDB_the_Basics Day 6
DB2UDB_the_Basics Day 6DB2UDB_the_Basics Day 6
DB2UDB_the_Basics Day 6Pranav Prakash
 
Preparing forr12-140703020001-phpapp02
Preparing forr12-140703020001-phpapp02Preparing forr12-140703020001-phpapp02
Preparing forr12-140703020001-phpapp02shubham gupta
 
Preparing for EBS R12.2-upgrade-full
Preparing for EBS R12.2-upgrade-fullPreparing for EBS R12.2-upgrade-full
Preparing for EBS R12.2-upgrade-fullBerry Clemens
 
Hibernate Performance Tuning (JEEConf 2012)
Hibernate Performance Tuning (JEEConf 2012)Hibernate Performance Tuning (JEEConf 2012)
Hibernate Performance Tuning (JEEConf 2012)Sander Mak (@Sander_Mak)
 
It's Not a Dream—Conquer Chaos for Your DB2® for z/OS® Optimization Nightmares
It's Not a Dream—Conquer Chaos for Your DB2® for z/OS® Optimization NightmaresIt's Not a Dream—Conquer Chaos for Your DB2® for z/OS® Optimization Nightmares
It's Not a Dream—Conquer Chaos for Your DB2® for z/OS® Optimization NightmaresCA Technologies
 
4392091081755796971 emea10 zero_downtimeoperations
4392091081755796971 emea10 zero_downtimeoperations4392091081755796971 emea10 zero_downtimeoperations
4392091081755796971 emea10 zero_downtimeoperationsLocuto Riorama
 
How Oracle Single/Multitenant will change a DBA's life
How Oracle Single/Multitenant will change a DBA's lifeHow Oracle Single/Multitenant will change a DBA's life
How Oracle Single/Multitenant will change a DBA's lifeGuatemala User Group
 
Best Practices for the Most Impactful Oracle Database 18c and 19c Features
Best Practices for the Most Impactful Oracle Database 18c and 19c FeaturesBest Practices for the Most Impactful Oracle Database 18c and 19c Features
Best Practices for the Most Impactful Oracle Database 18c and 19c FeaturesMarkus Michalewicz
 
oracle upgrade 2015_509_Swonger_ppt.pptx
oracle upgrade 2015_509_Swonger_ppt.pptxoracle upgrade 2015_509_Swonger_ppt.pptx
oracle upgrade 2015_509_Swonger_ppt.pptxssuser670564
 
Automate DG Best Practices
Automate DG  Best PracticesAutomate DG  Best Practices
Automate DG Best PracticesMohsen B
 
MongoDB World 2019: Modern Data Backup and Recovery from On-premises to the P...
MongoDB World 2019: Modern Data Backup and Recovery from On-premises to the P...MongoDB World 2019: Modern Data Backup and Recovery from On-premises to the P...
MongoDB World 2019: Modern Data Backup and Recovery from On-premises to the P...MongoDB
 
Get the most out of Oracle Data Guard - POUG version
Get the most out of Oracle Data Guard - POUG versionGet the most out of Oracle Data Guard - POUG version
Get the most out of Oracle Data Guard - POUG versionLudovico Caldara
 
Introduction to Database Benchmarking with Benchmark Factory
Introduction to Database Benchmarking with Benchmark FactoryIntroduction to Database Benchmarking with Benchmark Factory
Introduction to Database Benchmarking with Benchmark FactoryMichael Micalizzi
 
Simplify Consolidation with Oracle Pluggable Databases
Simplify Consolidation with Oracle Pluggable DatabasesSimplify Consolidation with Oracle Pluggable Databases
Simplify Consolidation with Oracle Pluggable Databasesomnidba
 
Diagnose RIDPool Failures
Diagnose RIDPool FailuresDiagnose RIDPool Failures
Diagnose RIDPool FailuresCuneyt Goksu
 
Episode 3 DB2 pureScale Availability And Recovery [Read Only] [Compatibility...
Episode 3  DB2 pureScale Availability And Recovery [Read Only] [Compatibility...Episode 3  DB2 pureScale Availability And Recovery [Read Only] [Compatibility...
Episode 3 DB2 pureScale Availability And Recovery [Read Only] [Compatibility...Laura Hood
 
Revisiting Silent: Installs Are they still useful?
Revisiting Silent: Installs Are they still useful?Revisiting Silent: Installs Are they still useful?
Revisiting Silent: Installs Are they still useful?Revelation Technologies
 
Build a Big Data solution using DB2 for z/OS
Build a Big Data solution using DB2 for z/OSBuild a Big Data solution using DB2 for z/OS
Build a Big Data solution using DB2 for z/OSJane Man
 

Ähnlich wie Developing and Deploying Reliable DB2 Applications (20)

Real-Time Query for Data Guard
Real-Time Query for Data Guard Real-Time Query for Data Guard
Real-Time Query for Data Guard
 
DB2UDB_the_Basics Day 6
DB2UDB_the_Basics Day 6DB2UDB_the_Basics Day 6
DB2UDB_the_Basics Day 6
 
Preparing forr12-140703020001-phpapp02
Preparing forr12-140703020001-phpapp02Preparing forr12-140703020001-phpapp02
Preparing forr12-140703020001-phpapp02
 
Preparing for EBS R12.2-upgrade-full
Preparing for EBS R12.2-upgrade-fullPreparing for EBS R12.2-upgrade-full
Preparing for EBS R12.2-upgrade-full
 
Hibernate Performance Tuning (JEEConf 2012)
Hibernate Performance Tuning (JEEConf 2012)Hibernate Performance Tuning (JEEConf 2012)
Hibernate Performance Tuning (JEEConf 2012)
 
It's Not a Dream—Conquer Chaos for Your DB2® for z/OS® Optimization Nightmares
It's Not a Dream—Conquer Chaos for Your DB2® for z/OS® Optimization NightmaresIt's Not a Dream—Conquer Chaos for Your DB2® for z/OS® Optimization Nightmares
It's Not a Dream—Conquer Chaos for Your DB2® for z/OS® Optimization Nightmares
 
4392091081755796971 emea10 zero_downtimeoperations
4392091081755796971 emea10 zero_downtimeoperations4392091081755796971 emea10 zero_downtimeoperations
4392091081755796971 emea10 zero_downtimeoperations
 
How Oracle Single/Multitenant will change a DBA's life
How Oracle Single/Multitenant will change a DBA's lifeHow Oracle Single/Multitenant will change a DBA's life
How Oracle Single/Multitenant will change a DBA's life
 
Best Practices for the Most Impactful Oracle Database 18c and 19c Features
Best Practices for the Most Impactful Oracle Database 18c and 19c FeaturesBest Practices for the Most Impactful Oracle Database 18c and 19c Features
Best Practices for the Most Impactful Oracle Database 18c and 19c Features
 
oracle upgrade 2015_509_Swonger_ppt.pptx
oracle upgrade 2015_509_Swonger_ppt.pptxoracle upgrade 2015_509_Swonger_ppt.pptx
oracle upgrade 2015_509_Swonger_ppt.pptx
 
Awr report error
Awr report errorAwr report error
Awr report error
 
Automate DG Best Practices
Automate DG  Best PracticesAutomate DG  Best Practices
Automate DG Best Practices
 
MongoDB World 2019: Modern Data Backup and Recovery from On-premises to the P...
MongoDB World 2019: Modern Data Backup and Recovery from On-premises to the P...MongoDB World 2019: Modern Data Backup and Recovery from On-premises to the P...
MongoDB World 2019: Modern Data Backup and Recovery from On-premises to the P...
 
Get the most out of Oracle Data Guard - POUG version
Get the most out of Oracle Data Guard - POUG versionGet the most out of Oracle Data Guard - POUG version
Get the most out of Oracle Data Guard - POUG version
 
Introduction to Database Benchmarking with Benchmark Factory
Introduction to Database Benchmarking with Benchmark FactoryIntroduction to Database Benchmarking with Benchmark Factory
Introduction to Database Benchmarking with Benchmark Factory
 
Simplify Consolidation with Oracle Pluggable Databases
Simplify Consolidation with Oracle Pluggable DatabasesSimplify Consolidation with Oracle Pluggable Databases
Simplify Consolidation with Oracle Pluggable Databases
 
Diagnose RIDPool Failures
Diagnose RIDPool FailuresDiagnose RIDPool Failures
Diagnose RIDPool Failures
 
Episode 3 DB2 pureScale Availability And Recovery [Read Only] [Compatibility...
Episode 3  DB2 pureScale Availability And Recovery [Read Only] [Compatibility...Episode 3  DB2 pureScale Availability And Recovery [Read Only] [Compatibility...
Episode 3 DB2 pureScale Availability And Recovery [Read Only] [Compatibility...
 
Revisiting Silent: Installs Are they still useful?
Revisiting Silent: Installs Are they still useful?Revisiting Silent: Installs Are they still useful?
Revisiting Silent: Installs Are they still useful?
 
Build a Big Data solution using DB2 for z/OS
Build a Big Data solution using DB2 for z/OSBuild a Big Data solution using DB2 for z/OS
Build a Big Data solution using DB2 for z/OS
 

Kürzlich hochgeladen

Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Kürzlich hochgeladen (20)

Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Developing and Deploying Reliable DB2 Applications

  • 2. 20 Fall Pippin Lane, Suite 202 Asheville, NC USA 28803 sales@softbase.com support@softbase.com 800-669-7076 Development Sales Jim Spires (jspires@softbase.com) Scott Garrett (sgarrett@softbase.com) Neal Lozins (nlozins@softbase.com) Dean Blair (dblair@softbase.com) Chip Scardo (cscardo@softbase.com) Mike Arnold (ma@softbase.com)
  • 3. Who we help Focused on helping application developers and DBAs eliminate performance and reliability problems with DB2 for z/OS applications Application Developers and DBAs typically need help during three stages of development:  Coding  Testing  Deployment Today’s environment has created new challenges for developers and DBAs  Living with reduced resources and timeframes  Developing apps that meet both user requirements and batch windows  Meeting increasing user demands  Dealing with increased privacy regulations
  • 4. How we help Code DB2 for z/OS SQL statements to work Code properly and perform optimally Test all DB2 applications Test as quickly and thoroughly as possible Deploy DB2 applications without painful performance or Deploy application surprises (or 2:00 am phone call surprises)
  • 5. Products Batch HealthCare  DeadLock Advisor  Attach  Checkpoint  Batch Analyzer TestBase  DB2 Database Population  DB2 Data Edit  DB2 Slice & Compare DBIQ SoftDate
  • 6. DB2 Application Lifecycle CODE TEST DEPLOY DB2 Development Bottlenecks TestBase Slice SoftDate DB/IQ-QA Batch Healthcare
  • 7. Business Focus SoftBase focuses on:  Programmer  Performance  Ease of Implementation  Ease of Use  Real-Time  Support
  • 10. Batch HealthCare SoftBase DeadLock Advisor  Real-Time  Instantly Available to the Programmer  Easy to Use
  • 11. SoftBase DeadLock Advisor DeadLock Advisor  Identify the source of deadlock timeouts and resource unavailable conditions  Present deadlock information on the offending and offended batch job's log  Programmers can quickly identify the cause of deadlocks by examining the job log of the affected application  No need to search DB2 Syslog output
  • 12. SoftBase DeadLock Advisor Deadlock Situation HRMNTHLY HRDAILY Application Application EMP_PROJ EMPLOYEE Update Update Table Table EMP_PROJ EMPLOYEE Locked Locked Update by HRM by HRD EMPLOYEE Update EMP_PROJ Wait for HRDAILY Deadlock Code -911
  • 13. SoftBase DeadLock Advisor DB2 MSTR DSNT375I -DB8G PLAN=HRDAILY WITH CORRELATION-ID=HRDAILY CONNECTION-ID=BATCH LUW-ID=USASDV02.LINK8.C60928D8323F=129 THREAD-INFO=CSB4:*:*:* IS DEADLOCKED WITH PLAN=HRMNTHLY WITH CORRELATION-ID=HRMNTHLY CONNECTION-ID=BATCH LUW-ID=USASDV02.LINK8.C60928D27151=128 THREAD-INFO=CSB4:*:*:* ON MEMBER DB8G DSNT501I -DB8G DSNILMCL RESOURCE UNAVAILABLE CORRELATION-ID=HRDAILY CONNECTION-ID=BATCH LUW-ID=USASDV02.LINK8.C60928D8323F=129 REASON 00C90088 TYPE 00000302 NAME DGFDB008.DGFTS081.X'00007A' Deadlock
  • 14. SoftBase DeadLock Advisor HRDAILY SBST375I SOFTBASE DeadLock Advisor *********************************************************************** * Job: HRDAILY. DB2 Subsystem DB8G. Plan HRDAILY is deadlocked by * * HRMNTHLY (BATCH). Deadlocking plan is HRMNTHLY. * * This job (HRDAILY)will receive a negative SQLCODE. * *********************************************************************** SBST501I SOFTBASE DeadLock Advisor *********************************************************************** * Job: HRDAILY. DB2 Subsystem DB8G. Tablespace Page * * DGFDB008.DGFTS081.X'00007A' is involved in a deadlock condition. * *********************************************************************** Deadlock
  • 15. SoftBase DeadLock Advisor HRMNTHLY SBST375I SOFTBASE DeadLock Advisor *********************************************************************** * Job: HRMNTHLY. DB2 Subsystem DB8G. Plan HRMNTHLY has deadlocked * * plan HRDAILY in HRDAILY (BATCH). This job (HRMNTHLY) is *NOT* * * affected, but has caused HRDAILY to receive a deadlock condition. * *********************************************************************** Deadlock
  • 16. SoftBase DeadLock Advisor TimeOut HRMNTHLY HRDAILY Application Application EMP_PROJ Update Update Table EMP_PROJ EMP_PROJ Locked by HRM Wait for HRMNTHLY Timeout Deadlock -911
  • 17. SoftBase DeadLock Advisor DB2 MSTR DSNT376I -DB8G PLAN=HRDAILY WITH CORRELATION-ID=HRDAILY CONNECTION-ID=BATCH LUW-ID=USASDV02.LINK8.C60948488CC4=134 THREAD-INFO=CSB4:*:*:* IS TIMED OUT. ONE HOLDER OF THE RESOURCE IS PLAN=HRMNTHLY WITH CORRELATION-ID=HRMNTHLY CONNECTION-ID=BATCH LUW-ID=USASDV02.LINK8.C609482050BF=133 THREAD-INFO=CSB4:*:*:* ON MEMBER DB8G DSNT501I -DB8G DSNILMCL RESOURCE UNAVAILABLE CORRELATION-ID=HRDAILY CONNECTION-ID=BATCH LUW-ID=USASDV02.LINK8.C60948488CC4=134 REASON 00C9008E TYPE 00000302 NAME DGFDB008.DGFTS081.X'00007A' Deadlock
  • 18. SoftBase DeadLock Advisor HRDAILY SBST376I SOFTBASE DeadLock Advisor *********************************************************************** * Job: HRDAILY. DB2 Subsystem DB8G. Plan HRDAILY is timed out due to * * HRMNTHLY (BATCH). Requested resource is being held by plan * * HRMNTHLY. This job (HRDAILY) will receive a negative SQLCODE. * *********************************************************************** SBST501I SOFTBASE DeadLock Advisor *********************************************************************** * Job: HRDAILY. DB2 Subsystem DB8G. A lock request for Tablespace * * Page DGFDB008.DGFTS081.X'00007A' could not be granted, and the * * request waited for a period longer than the maximum specified by * * the installation. * *********************************************************************** Deadlock
  • 19. SoftBase DeadLock Advisor HRMNTHLY SBST376I SOFTBASE DeadLock Advisor *********************************************************************** * Job: HRMNTHLY. DB2 Subsystem DB8G. Plan HRMNTHLY has timed out plan * * HRDAILY in HRDAILY (BATCH). This job (HRMNTHLY) is *NOT* affected, * * but has caused HRDAILY to receive a timeout condition. * *********************************************************************** Deadlock
  • 20. Batch HealthCare SoftBase Attach  Call Attach  Auto-Commit  Variable Commit Frequency  ENQ Serialization  SQL Monitoring
  • 21. Batch HealthCare Attach Variable Commit Frequency  Dynamically Varies Commit Frequency  Based on Time or Frequency  Executes via JCL or Operator command  Can Save Significant CPU & Elapsed Time  Without Source Code Changes
  • 22. SoftBase Attach Facility Unique Competitive Advantages  Patented ENQ Serialization  Patent-pending Variable Commit Frequency  SQL Monitor  Most widely used CAF on the market  LOGRBA for recovery
  • 23. SoftBase Checkpoint SoftBase Checkpoint  Allows abended jobs to restart at last COMMIT point  Restores critical Working storage areas  Repositions sequential input and output files  Optional VSAM component backs out KSDS updates to last COMMIT point  Pre-compiler automatically makes the few coding changes required
  • 24. SoftBase Batch Healthcare Checkpoint Facility  Restart DB2 batch applications at or near point of failure  Modify frequency of Commits and Checkpoints on the fly  Easiest deployment of restart code in the industry
  • 25. SoftBase Batch Healthcare Checkpoint Facility – How?  Capturing restart data and storing it in a DB2 table so it is recoverable  Requires no JCL modification to restart, just a resubmit  Notifying the program that a restart is in progress, and then  Reopening and repositioning all input and output sequential files and restoring working storage
  • 26. SoftBase Batch Healthcare Checkpoint Facility – ISPF Monitor  Active Job  Waiting on Restart  Storage Usage  Frequency Type  Logical Unit of Work Count  Checkpoint Count
  • 27. SoftBase Batch Healthcare Checkpoint Facility Deployment Program function calls can be inserted by 2 different methods.  Running Precompiler  Taking the defaults, or  Customize via control file parameters  Hand-coding  Customize placement by hard-coding into source code
  • 28. SoftBase Batch Healthcare Checkpoint Facility Deployment Working Storage. DBCC-WS-START ~~~~~~~ - - - - - > User defined WS data, including ~~~~~ Open Cursor host variables DBCC-WS-END DBR-Variables Procedure Division. INIS - - - - -> loads job/step name key in CKPT_TABLE & location of WS areas to be saved L U CKPT - - - - -> saves contents of WS to CKPT_TABLE W & status listing of all active files TERM - - - - -> deletes completed job/stepname row from CKPT_TABLE
  • 29. Batch HealthCare SoftBase Batch Analyzer  Focused on quick, easy navigation to problem areas  Data available within a minute  Extremely lightweight – no traces required  Typically left running 24x7  No DB2 traces used  No JCL changes  Can analyze a single job, a group of jobs or all jobs  Developers & DBAs can use product to monitor jobs  Fast, easy installation
  • 32. Batch Analzyer Select the Most Expensive Step The most expensive steps are listed first. Step HRBKUPDL used 82.4% of the DB2 CPU.
  • 34. Batch Analzyer Identifies Potential Rollbacks The Recovery Impact Analysis Report provides an estimate of how long each DB2 batch program will require to ROLLBACK any changes it has made since the last COMMIT statement.
  • 35. Batch Analzyer Identifies Potential Rollbacks The Recovery Impact Analysis Report provides an estimate of how long each DB2 batch program will require to ROLLBACK any changes it has made since the last COMMIT statement.
  • 36. Batch Analzyer The Recovery Impact Analysis Report provides an estimate of how long each DB2 batch program will require to ROLLBACK any changes it has made since the last COMMIT statement.
  • 38. Batch HealthCare SoftBase Batch Analyzer  Job-centric view of DB2 usage  Extremely lightweight  Easy install  No DB2 traces used  No JCL changes  Easy to Use
  • 39. Code
  • 40. SoftBase Coding Solutions Code DB/IQ-QA Test Deploy  Creates a deep database of proper SQL coding rules  Eliminates need for DBA intervention  Enables creation and monitoring of SQL standards
  • 41. Test
  • 42. Building a great DB2 test experience Code Application Testing Challenges Test Deploy Test Data  Testing with full production data is impossible  Developers cannot retrieve their own test data when they need it  Access to referentially intact subsets of DB2, VSAM and sequential test data  Inability to de-identify sensitive data Test Methodology  Painful, single-threaded testing procedures slow everyone down  Building and maintaining multiple DB2 test beds, DB2 Subsystems, DB2 Databases, CICS or IMS regions takes excessive time & resources  Inability to retest DB2 application programs with identical data at a later time
  • 43. TestBase – Faster, Better, Safer DB2 testing Code TestBase is better – Test complete testing workbench that enables users to: Deploy  Test with their own copy, or “Slice”, of data or against the same slice (independently or together) using patented Slice technology  Quickly validate that changes worked correctly or that regression test was Slice successful using the TestBase Compare Report  Use fewer DB2 subsystems, CICS regions, DB2 databases and less resources  Build new slice in seconds vs. days or weeks to create new test databases, CICS regions, etc.
  • 44. TestBase – Faster, Better, Safer DB2 testing Code TestBase is safer – Test removes and replaces ALL confidential and sensitive Deploy test data from testing environments  DBAs and Corporate Security Officers can QSAM carefully plan out and Test Production then deploy a Data Employee Table Employee Table Employee Table Privacy solution SSN Salary SSN Salary 349445555 24,800 123456789 99,9999 DB2 Audit  TestBase Auditor z/OS Report reports confirm that IT has done its job successfully VSAM
  • 45. TestBase – Faster, Better, Safer DB2 testing TestBase Data Population  Extract referentially intact subsets of data and load them to test environment(s) Edit  Modify / Add / Delete Test data Slice  Unload, inventory, load, purge data for a slice or an entire environment Fully integrated – Data Population can be used to extract subsets of data in a slice and load them to another slice. Edit knows the primary key of the slice view …
  • 46. TestBase Data Population Getting Test Data Data population is used to extract a subset of referentially in tact data, mask it if necessary, and load it to test environment(s). Customer Suppose we have the following data model: We want to extract test data for every 100th customer and put it in Product Account Customer_Notes a test environment.  First we have to define the data model to TestBase. It Price Invoice can be done with DB2 RI or user defined relationships.  Then we need to tell TestBase where to start - customer Line_Item
  • 47. TestBase Data Population Final Extract of Test Data From a database of approximately 12 million rows, we extracted: DATE: 2011-04-05 12.51.59 TESTBASE OUTPUT REPORT JOB : CSBIX JOB05907 RISPEC CREATOR: CSBI SOURCE SQLID: SLICE NA RISPEC NAME. .: CUSTOMER OBJECT RECORDS TYPE NAME UNLOADED - ------------------------------------------------------ ---------- T SOURCE: DB9GLOC.VOLUME1.ACCOUNT 1710 T SOURCE: DB9GLOC.VOLUME1.CUSTOMER 855 T SOURCE: DB9GLOC.VOLUME1.INVOICE 17100 T SOURCE: DB9GLOC.VOLUME1.LINE_ITEM 34500 T SOURCE: DB9GLOC.VOLUME1.PRICE 2946 T SOURCE: DB9GLOC.VOLUME1.PRODUCT 973 TOTALS 58084
  • 49. TestBase Slice Slice solves the problem of: Too Many Application Testing Environments!  DBAs must build many separate testing environments for different Test Bed #1 = Test Bed #2 = Test Bed #3    testing needs within their company Synchronization Procedure  Synchronizing these multiple DB2 1. 2. Synchronize all physical DBMS & file structures Synchronize all programs & common modules 3. Resolve all compile errors application test beds takes a great 4. Verify all 3rd party software is current 5. Configure CICS and other software deal of time and effort 6. 7. BIND/REBIND all DBRMs / Packages Resolve BIND errors a. Column not found  b. Column not proper data type Developers or QA Personnel c. Column not proper NULL characteristics d. -805 Errors 8. Ensure all proper test data is loaded into appropriate cannot load or refresh their test test bed 9. Run RUNSTATS, Reset CHECK PENDING flags data without affecting other testers 10. Re-test everything
  • 50. TestBase Slice Slice also solves the problem of: Can’t Run Enough Tests – Always Fighting For Test Data  After purchasing expensive vendor TESTER 1 TESTER 2 TESTER 3 TESTER 4 solutions, Application Developers 9:00AM 10:00AM 10:30AM 12:00PM still run single-threaded tests  Test data is often corrupted within    minutes of loading test beds - this affects all other testing results X X  Developers or QA Personnel APPLICATION TEST DATA cannot load or refresh their test data without affecting other testers
  • 51. TestBase Slice With Slice: Everyone Tests Together At The Same Time  Developers and QA Personnel can TEST LOAD now run tests concurrently with their own Slice of test data TEST REFRESH  Developers and QA Personnel can Slice now load and refresh test data whenever they like – no DBA required LOAD TEST  Sliced test data can be maintained DBA DBA DBA and utilized for extended lengths of time - without affecting others
  • 52. TestBase Slice Slice solves the problem of: Inability To Retest Application Programs  QA Personnel often find problems 1 2 when testing applications turned APPLICATION ACCEPTANCE over by Application Developers DEVELOPER TESTER 2 or 3 days pass…  By the time QA Personnel send Turnover to QA issues back to Developers, test Return to Developer data has already been destroyed UNIT | SYSTEM | ACCEPTANCE  Testing Personnel cannot retain historical versions of test data
  • 53. TestBase Slice Retest DB2 Applications With Historical Test Data  Developers can now return to any Application Acceptance previous point in time and rerun critical Developer Tester DB2 application tests Turnover to QA Return to Developer  Development and QA staffs can now review historical test data to determine Unit Test 7/2/2011 when problems actually began 7/3/2011 7/1/2011  Libraries of test data can be saved and 1a 1b 1c 3 reused for future DB2 application 2 projects and enhancements
  • 54. TestBase Archive Data Archiving Extracts can be used to load data or to purge it. Suppose we wanted to archive customers who hadn’t ordered anything in the last 12 months. We could change the start spec to an SQL statement: SELECT * FROM CUSTOMER C WHERE DAYS(CURRENT DATE) - DAYS(CUST_START_DATE) > 365 AND NOT EXISTS (SELECT * FROM INVOICE I WHERE C.CUST_N = I.CUST_N AND DAYS(CURRENT DATE) - DAYS(INVOICE_DATE) <= 365)
  • 55. TestBase Archive Data Archiving Customer 100,000 Extracts can be used to load data 80,000 or to purge it. Product Account Customer_Notes 1,000 200,000 20,000 Suppose we wanted to archive 1,000 160,000 16,000 customers who hadn’t ordered anything in the last 12 months. We Before could change the start spec to an Price Invoice Purge 10,000 2,000,000 SQL statement: 10,000 1,600,000 After Purge SELECT * FROM CUSTOMER C WHERE DAYS(CURRENT DATE) - DAYS(CUST_START_DATE) > 365 Line_Item AND NOT EXISTS 10,000,000 (SELECT * 8,000,000 FROM INVOICE I WHERE C.CUST_N = I.CUST_N AND DAYS(CURRENT DATE) - DAYS(INVOICE_DATE) <= 365)
  • 56. TestBase Archive Archive Restore Archive Once archived, the data can be restored to the Production Database or moved to another Customer Product database from the archive Production DB2 Database Customer Price Note Just because old customers used products and prices, doesn’t mean we want to get rid of them. We Invoice do, however, want the way they looked at the time in our archive. We Shadow can remove tables such as product DB2 Line Item and price from the purge list. Database
  • 57. SoftBase Testing Solutions Code SoftDate Test Deploy  Allows users to test z/OS-based applications with a simulated past or future system date  Enables developers to test application date-dependent logic with minimum system impact  Allows users to re-run failed applications on same apparent system date  Simulates different time zones for users
  • 58. Softbase Proven Technology + a better DB2 Proven Tools = development experience + Proven Partner

Hinweis der Redaktion

  1. In this scenario, two applications have become deadlocked. The hr monthly application begins updating the project table, prior to updating the employee table, which is being updated by hr daily. When hr monthly attempts to update the employee table, it must wait for hr daily to finish. While hr monthly waits, it keeps the project table locked.Hr daily then attempts to update the project table, which is of course still locked by hr monthly. The monthly application has deadlocked the daily application. Normally in this situation, only the daily application would receive a 911 sequel code, and neither application would receive a message. To understand why this deadlock occurred, a DBA would have to spend considerable time searching DB2 logs and other data sources. Deadlock advisor saves time by placing an easy to understand, English like message in the joblog of both applications.
  2. The offended application, hr daily, receives a message identifying the offending application, or the application that caused the deadlock. In this case, the offending application is hr monthly.
  3. The offended application, hr daily, receives a message identifying the offending application, or the application that caused the deadlock. In this case, the offending application is hr monthly.
  4. The offending application also receives a message, identifying the application that it deadlocked.
  5. The offending application also receives a message, identifying the application that it deadlocked.
  6. The offending application also receives a message, identifying the application that it deadlocked.
  7. The offending application also receives a message, identifying the application that it deadlocked.
  8. The offending application also receives a message, identifying the application that it deadlocked.
  9. Your most expensive batch job will be at the top of the list of all jobs that ran in the past 24 hour interval.SELECT that job.
  10. Your most expensive Step of the batch job you selected will be at the top of the list.SELECT that Step.