Five Days in the labs – Part 3. DB2 pureScale Insert Load & Replication

By Clair Ross

Following on from James Gill’s recent blog post about the Coupling Facility today I’m sharing with you our experiences of working with Insert Load & Replication in DB2 pureScale. 

In order to test the load capacity of the IBM DB2 pureScale machine we needed some test data and lots of it!  Being somewhat familiar with the capabilities of the CF on z/OS I knew that a few thousand records would not be enough.

After some checking about, I decided to “stand on the shoulders of giants” and use the EMPLOYEE table from the DB2 SAMPLE database.  Simple, elegant and to the point.  The only problem was that with the current “out of the box” table definition, there would only be 999,999 records that could be produced.

Column name Schema  Data type name Length Scale Nulls
EMPNO   SYSIBM CHARACTER  6  0 No
FIRSTNME                                                 SYSIBM VARCHAR      12   0 No
MIDINIT                                                 SYSIBM CHARACTER  1 0 YES
LASTNAME                                            SYSIBM  VARCHAR  15 0 NO
WORKDEPT              SYSIBM CHARACTER           3 0 YES
PHONENO                      SYSIBM     CHARACTER    4 0 YES
HIREDATE                                               SYSIBM DATE  4 0 YES
JOB                                              SYSIBM   CHARACTER   8 0 YES
GENDER SYSIBM  CHARACTER     1 0 YES
BIRTHDATE                                       SYSIBM DATE    4 0 YES
SALARY                                           SYSIBM DECIMAL    9 2 YES
BONUS                                      SYSIBM DECIMAL  9 2 YES
COMM                                             SYSIBM     DECIMAL    9 2 YES

14 record(s) selected.

With a little transformation, we changed the EMPNO to be CHAR(12).  This would allow for the increase of data.  (a possible 999,999,999,999 records)

Column name Schema  Data type name Length Scale Nulls
EMPNO                                SYSIBM  CHARACTER     12 0 NO
FIRSTNME                                      SYSIBM VARCHAR    12 0 NO
MIDINIT                           SYSIBM    CHARACTER        1 0 YES
LASTNAME   SYSIBM  VARCHAR  15 0 NO
WORKDEPT           SYSIBM   CHARACTER    3 0 YES
PHONENO  SYSIBM  CHARACTER   4 0 YES
HIREDATE       SYSIBM   DATE       4 0 YES
JOB      SYSIBM  CHARACTER     8 0 YES
EDLEVEL   SYSIBM   SMALLINT 2 0 NO
GENDER SYSIBM  CHARACTER     1 0 YES
BIRTHDATE  SYSIBM   DATE       4 0 YES
SALARY     SYSIBM  DECIMAL         9 2 YES
BONUS     SYSIBM   DECIMAL    9 2 YES
COMM    SYSIBM  DECIMAL 9 2 YES

14 record(s) selected. 

We exported the data into a text delimited file (all 41 records), created a table “LIKE” the employee table, then altered the definition.

I wrote a Q&D Perl script to iterate through the delimited data file and reassign the new EMPNO value.  After a little testing, I just started the program and then turned my attention to items.

After a period of time, I checked the progress and we had approximately 8.5 million records.  I then set up a db2batch script to load the data from the single file.

Other loading strategies attempted were made by splitting the 8.5 million records into multiple files and loading from a single member, then from multiple members.   Autocommit was initially on for the first run, but was switched off and commits were performed at every 10K records.  For the multiple member loads the commit count was at every 500 records.

After the initial load, James suggested that the data file be partitioned three ways for the three data members and to test for contention on the single table.

This was set up quickly and we were good to go.

  • Share/Bookmark

No Comments | Filed under Availability & disaster recovery, Clair Ross, DB2, DB2 LUW, Five days in the labs, db2 pureScale, pureScale

Join the DB2 Geek Discussion

We’ve started a Confessions of a DB2 Geek group at Channel DB2.  Click here to join the discussion.

Find out more about DB2 Geeks here. Our current hot topic is on DB2 LUW Security.  If you have a question or a topic for our Geeks then contact us today.

  • Share/Bookmark

1 Comment | Filed under DB2, DB2 LUW

Triton are first IBM Business Partners in Europe to work with pureScale

We’re delighted to announce that we are the first IBM Busuiness partners in Europe to work with pureScale!

Arguably IBM’s most important new feature for DB2 LUW, pureScale was anounced in October last year and quickly caught the attention of the industry.  Based on elading System z data sharing technology, DB2 pureScale integrate IBM technologies to keep critical systems available 24/7.

Triton’s team of DB2 experts spent a week at IBM Labs in Boeblingen, Germany on a research and development project.  During their time there Triton’s consultants gained practical experience in the installation, operation and use of a pureScale environment as well as testing DB2 pureScale for scalability and resilence.

“It’s certainly been an interesting week here in Boeblingen and we have really been able to take a deep dive into pureScale.  IN terms of scalability and resilence, pureScale really is second to non in the marketplace” Says Iqbal Goralwalla, Principal Consultant – DB2 Midrange.

Despite a very “interesting” journey back to the UK over the weekend due to cancelled flights the team are eager to continue with the DB2 pureScale research project and plans to produce a series of blogs, podcasts and technical briefings over the next few months so watch this space!

  • Share/Bookmark

1 Comment | Filed under Availability & disaster recovery, DB2, DB2 LUW, IBM, Iqbal Goralwalla, James Gill

DB2 Support from as little as £15,000 a year!

We’re offering expert DB2 support from as little as £15,000 a year.  This means that you get Remote Support for your DB2 systems from the DB2 Experts!  As IBM Premier Business Partners we are the support partner of choice for DB2 support and consultancy.  Find out more about us and what we know about DB2 by chatting to our resident DB2 Geeks or visiting our website.

Click here to find out more about Remote DBA

  • Share/Bookmark

No Comments | Filed under DB2, DB2 Geek, DB2 LUW, DB2 Support

Have you heard the DB2 LUW Security Podcast?

We chat to Rebecca Bond – aka the DB2 Locksmith to get the inside info on DB2 LUW Security best practice.

Click here to read the article & download the podcast- DB2 Configuration Parameters – What They Whisper About Security Behind Your Back.

  • Share/Bookmark

1 Comment | Filed under DB2, DB2 LUW

“If you’re a retailer with a high volume online transaction environment then DB2 pureScale is going to be absolutely ideal for you”

In our first Confessions of a DB2 Geek podcast we chat to two of our DB2 experts about pureScale and what this important new release means for organisations running DB2 on midrange platforms.

An ideal fit for the retail sector, pureScale is going to allow organisations to increase capacity when they need it at the really busy times like Christmas and the January sales and scale back at times of less demand.  Our DB2 LUW expert Clair says “If you’re a retailer with a high volume online transaction environment then pureScale is going to be absolutely ideal for you”

Just how important is this release to the midrange market?�
“For those needing true 24/7 availability this is an enormous release and has plugged a gaping hole that has been in the architecture of DB2 on midrange for some time.”  James Gill, DB2 z/OS Expert

Read the article and download the podcast.

  • Share/Bookmark

No Comments | Filed under Clair Ross, DB2, DB2 Geek, DB2 LUW, James Gill, db2 pureScale, pureScale

Recession-busting offer – free DB2 health checks!

We’re delighted to announce that for a limited period we will be offering free DB2 for LUW health checks to UK DB2 customers.  This services will involve one of our DB2 experts spending the day “getting under the covers” of your DB2 systemsto look at the following:

  • Database server capacity
  • Database software
  • Instance & database configuration
  • Housekeeping
  • Back-up and recovery
  • Data placement
  • Performance monitoring
  • Logging configuration
  • Bufferpool configuration
  • You will then receive a summary of findings outlining any areas for improvement with expected benefits and estimates of the associated effort involved.

    Email us today if you would like to take advantage of this amazing offer.

    • Share/Bookmark

    No Comments | Filed under DB2, DB2 LUW

    Techie Tip – I need to find out what DB2 LUW V9.5 processes are running on a Linux machine

    Question:

    I need to find out what DB2 LUW V9.5 processes are running on a Linux machine?   Is there another way other than ‘ps –ef’ or ‘ps aux’ than grepping out the result set?

     

    Answer:

    There is.  A script by the name db2_local_ps that does the work for you.  It saves time because one does not have to fumble around figuring out the command syntax  to perform the actions to achieve similar results.

     

    Actually, there are three scripts that are linked together to do the work.

     

    ‘db2_local_ps’ is the initial script that is called.  This script checks for the DB2INSTANCE environment variable.  If it is set and valid, you progress.  If not, it exits and a usage message is displayed.

     

    The other scripts that are in the chain that are called in order are ‘db2nps’ and ‘db2gdep’, both shell scripts.  ‘db2nps’ obtains the process name and number and calls the script ‘db2gdep’ for each process for the information on that specific process.

     

    The output from the ‘db2_local_ps’ follows:

     

    cvross@myhost:~> db2_local_ps

    Node 0

         UID        PID       PPID    C     STIME     TTY     TIME CMD

    db2inst1      20979      20978    0     08:21   pts/1 00:00:00 db2sysc 0

        root      20980      20979    0     08:21   pts/1 00:00:00 db2ckpwd 0

        root      20981      20979    0     08:21   pts/1 00:00:00 db2ckpwd 0

        root      20982      20979    0     08:21   pts/1 00:00:00 db2ckpwd 0

        root      20983      20979    0     08:21   pts/1 00:00:00 db2pmd 0

    db2inst1      20984      20979    0     08:21   pts/1 00:00:00 db2gds 0

    db2inst1      20985      20979    0     08:21   pts/1 00:00:00 db2licc 0

    db2inst1      20986      20979    0     08:21   pts/1 00:00:00 db2ipccm 0

    db2inst1      20987      20979    0     08:21   pts/1 00:00:00 db2tcpcm 0

    db2inst1      20988      20979    0     08:21   pts/1 00:00:00 db2tcpcm 0

    db2inst1      20992      20979    0     08:21   pts/1 00:00:00 db2resync 0

    db2inst1      20994      20979    0     08:21   pts/1 00:00:00 db2acd 0 ,0,0,0,1,0,0,0,897e0c,14,1e014,2,0,1,11fd0,0×11f90000,0×11f90000,1610000,8b001e,2,530011

    db2inst1      21201      20984    0     08:23   pts/1 00:00:00 db2logts (SAMPLEA) 0

    db2inst1      21202      20984    0     08:23   pts/1 00:00:00 db2logmgr (SAMPLEA) 0

    db2inst1      21203      20984    0     08:23   pts/1 00:00:00 db2loggr (SAMPLEA) 0

    db2inst1      21207      20984    0     08:23   pts/1 00:00:00 db2loggw (SAMPLEA) 0

    db2inst1      21208      20984    0     08:23   pts/1 00:00:00 db2lfr (SAMPLEA) 0

    db2inst1      21209      20984    0     08:23   pts/1 00:00:00 db2dlock (SAMPLEA) 0

    db2inst1      21210      20984    0     08:23   pts/1 00:00:00 db2pclnr 0

    db2inst1      21211      20984    0     08:23   pts/1 00:00:00 db2pfchr 0

    db2inst1      21212      20984    0     08:23   pts/1 00:00:00 db2pfchr 0

    db2inst1      21213      20984    0     08:23   pts/1 00:00:00 db2pfchr 0

    db2inst1      21214      20984    0     08:23   pts/1 00:00:00 db2stmm (SAMPLEA) 0

    db2inst1      21215      20984    0     08:23   pts/1 00:00:00 db2taskd (SAMPLEA) 0

    db2inst1      21216      20984    0     08:23   pts/1 00:00:00 db2evmgi (DB2DETAILDEADLOCK) 0

    db2inst1      21200      20986    0     08:23   pts/1 00:00:00 db2agent (SAMPLEA) 0

    db2inst1      21471      20986    0     08:26   pts/1 00:00:00 db2agent (idle) 0

    db2inst1      21472      20986    0     08:26   pts/1 00:00:00 db2agent (idle) 0

     

    This is definitely something worthy to know about.  One could alias the command with a name that is more useful for a specific computing environment.  Or, just look at the code and roll your own version.

     

    The only caveat with this command is that the db2profile needs to be sourced or the DB2 environment variables need to be loaded in your user profile.

     

    Happy Trails. 

     

     

     

     

     

    • Share/Bookmark

    1 Comment | Filed under Clair Ross, DB2, DB2 9.5, DB2 Administration, DB2 LUW, Techie Tips

    DB2 9.7 Overview

    Join DB2 experts (Sal Vella, VP of Development, and Tim Vincent, Chief DB2 LUW Architect) who develop breakthrough technology and get your questions answered and learn more about what’s new in DB2 9.7

    DB2 9.7 (DB2 Cobra) Technology Preview with Tim Vincent from Natasha Tolub on Vimeo.

    • Share/Bookmark

    No Comments | Filed under DB2 LUW

    Top 6 tips for a successful DB2 Performance Expert Deployment for DB2 for Linux, UNIX & Windows

    Part 1 – Modifying settings, setting up alerts and using System Health data views

    Performance monitoring and tuning are critical tasks for a database administrator (DBA). DB2® Performance Expert helps DBAs tackle immediate performance problems, as well as avoid problems in the future. 

    Take a look at the IBM Information Management developer works pages to view part 1 of these top tips.

    • Share/Bookmark

    No Comments | Filed under DB2, DB2 LUW, IBM, Information Management, Techie Tips