Freitag, 18 of April of 2014

Archives from month » Mai, 2012

Free IBM DB2 book “DB2 10 for z/OS: Cost Savings . . . Right Out of the Box”

DB2 10 for z/OS: Cost Savings . . . Right Out of the Box

Dave Beulke, Roger Miller, Surekha Parekh, and Julian Stuhler
First Edition
First Printing—September 2010
© 2010 IBM Corporation. All rights reserved.

The book is segmented in three sections:

  1. An introduction to DB2 10 by Roger Miller, highlighting the main features  and functions and their associated business benefits, such as real CPU savings.
  2. A business value white paper by Julian Stuhler, independent DB2 consultant.  Julian and I invited several beta clients to share not only their DB2 10 experiences but also perceived and actual business benefits.
  3. The last section of the book is another valuable paper written by Dave Beulke,  who is also an independent consultant. This paper demonstrates how DB2 10 is a tremendous step forward in database technology because of its improvements in performance, scalability, availability, and security and application integration. Dave’s paper focuses on performance enhancements.

New resources for DB2 V10.1 for LUW

Best practices: Storage optimization with deep compression (Authors: Thomas Fanghaenel and Bill Minor)

Best practices: A practical guide to implementing row and column access control (Author: Walid Rjaibi)

Best Practices: Temporal data management with DB2 (Author: Matthias Nicola)

DB2 V10.1 Multi-temperature data management recommendations (Authors: Jim Seeger, Karen McCulloch, Naresh Chainani, Kiran Chinta, Aruna De Silva, Vincent Kulandai Samy, and Tom Hart)

DB2 V10.1 Query performance enhancements (Author: David Sky)

SQL to retrieve DB2 subsystem information


REXX procedure to check database status

This REXX procedure checks the status for DB2 for z/OS databases, tablespaces, utilities and threads. The user passes a valid DB2 command and the procedure checks the results.

Example 1: CHECK DATA, which checks your DB2-enforced referential integrity ends with return code RC=4 even if the DB2 utility has detected RI exceptions. Just pass -DIS DB(MYDB) SP(MYSPAC*) RESTRICT to CHK$DB. The procedure investigates the command’s output and issues an user abend code U0001 for findings, which is a tablespaces still in CHECK PENDING restricted mode.

Example 2: Before starting DB2 maintenance, or a system quiesce, or system copy, you want to verify that no distributed threads are running at the DB2 subsystem. Just pass -DIS THREAD(*)  to CHK$DB which verifies that no DDF threads are accessing the system. Otherwise it raises an U0001 user abend.

Without checking the objects status, processing would continue and fail whenever access to an object with accurate status is needed.

Checks realized:

  • Objects no in read/write status: -DIS DB(…) [SP(...)]   (i.e. w/o USER|LOCK|RESTRICT)
  • Objects in use: -DIS DB(…) [SP(...)] USE
  • Objects with locks: -DIS DB(…) [SP(...)] LOCKS
  • Objects in restricted use: -DIS DB(…) [SP(...)] RESTRICT
  • DB2 utilities running: -DIS UTIL(…)
  • Thread running: -DIS THREAD(…) [...]

Whenever CHK$DB detects a problem it invokes an external assembler program called D2PABND. Its only purpose is to raise an user abend code U001. This definitivly stops scheduler activity (e.g. TWS/OPC), thus ending chains of automated z/OS processing.

The procedure is currently prepared for german speaking users. It will be translated into english in the next few days.

 Source code of D2PABND – click here.

ISPF EDIT macro to navigate thru sources

This TSO/E ISPF EDIT macro, called JUMP, helps to navigate between sources. An example: You are editing a job JCL and need some information, for example input parameter allowed for a procedure or programm. Usually you would split the screen, open an additional edit oder browse session to look for what you search.

From now on you just enter JUMP at command line, set the cursor on any dataset or library which appears in the current edit/view session. The edit macro automatically navigates to that source and opens it in a separate session.