IBM DB2 10 for z/OS manuals fixed to work with tablet/phone PDF readers like Aldiko

Aldiko Book Reader Premium Full v2.2.3.apkMany PDF readers for smart phones (Android/iphone) and tablets manage the pdf files Calibre_Logobased solely on the Title and Author fields in the PDF file. While for this is fine for your average book, it is not all that helpful with manuals that tend to have abbreviated or no data in the title/author fields. In the case of the manuals for IBM DB2 v10 for z/OS, I’m unable to load the manuals for say v9.7 as they have the same Title/Author data.  I used the same method from SAP Sybase IQ 15.4 manuals fixed to work with tablet/phone PDF readers like Aldiko

Here are the IBM DB2 v10 for z/OS manuals that I’ve ‘fixed’ to work with Aldiko. They are identical to the PDFs on IBM’s website with the exception of the PDF fields I mentioned previously.

NO COPYRIGHT INFRINGEMENT IS INTENDED. IBM, PLEASE FEEL FREE TO TAKE THESE AND HOST THEM.

IBM DB2 v10 for z/OS – Command Reference

IBM DB2 v10 for z/OS – Data Sharing Planning and Administration

IBM DB2 v10 for z/OS – DB2 SQL Reference for Cross-Platform Development Version 4.0

IBM DB2 v10 for z/OS – Installation and Migration Guide – IBM

IBM DB2 v10 for z/OS – Internationalization Guide

IBM DB2 v10 for z/OS – Introduction to DB2 for z/OS

IBM DB2 v10 for z/OS – Installation, Administration, and Reference

IBM DB2 v10 for z/OS – IRLM Messages and Codes

IBM DB2 v10 for z/OS – Licensed Program Specifications

IBM DB2 v10 for z/OS – Managing Performance

IBM DB2 v10 for z/OS – Managing Security

IBM DB2 v10 for z/OS – Messages

IBM DB2 v10 for z/OS – ODBC Guide and Reference

IBM DB2 v10 for z/OS – pureXML Guide

IBM DB2 v10 for z/OS – RACF Access Control Module Guide

IBM DB2 v10 for z/OS – SQL Reference

IBM DB2 v10 for z/OS – User’s Guide and Reference

IBM DB2 v10 for z/OS – Utility Guide and Reference

IBM DB2 v10 for z/OS – What’s New?

IBM DB2 v10 for z/OS – Administration Guide

IBM DB2 v10 for z/OS – Application Programming and SQL Guide

IBM DB2 v10 for z/OS – Application Programming Guide and Reference for Java

IBM DB2 v10 for z/OS – Codes

Share Button

IBM DB2 LUW: What are my database configuration parameters?

IBM’s DB2 (Linux, Unix, Windows) is an db2logoodd beast. Well, if you’re used to any other DBMS on the planet, DB2 is odd and weird. But then, if you’re used to DB2 LUW, then the rest of the planet is smoking stuff. 😉

DB2’s configuration largely comes in two chunks: database manager configuration and database configuration. It might be easiest to think of the database manager as the parent entity that handles connections and the like (e.g. Oracle listener) and the database configuration as the instance configuration. There is a bit more to it than that but let’s focus shall we? Damn it all the helm! I left the Girl Scout cookies on the fridge at home where the kids couldn’t see them!

To pull the database manager configuration, connect to your DB2:

$ db2
db2 => connect to GOOBER

   Database Connection Information

 Database server        = DB2/AIX64 9.7.6
 SQL authorization ID   = DB2
 Local database alias   = GOOBER

db2 => GET DATABASE MANAGER CONFIGURATION

          Database Manager Configuration

     Node type = Database Server with local and remote clients

 Database manager configuration release level            = 0x0d00

 CPU speed (millisec/instruction)             (CPUSPEED) = 2.834065e-07

 Max number of concurrently active databases     (NUMDB) = 5
 Federated Database System Support           (FEDERATED) = YES
....
 No. of int. communication buffers(4KB)(FCM_NUM_BUFFERS) = AUTOMATIC(1024)
 No. of int. communication channels   (FCM_NUM_CHANNELS) = AUTOMATIC(512)
 db2start/db2stop timeout (min)        (START_STOP_TIME) = 10

To pull the database configuration it’s almost identical, connect to your DB2:

$ db2
db2 => connect to GOOBER

   Database Connection Information

 Database server        = DB2/AIX64 9.7.6
 SQL authorization ID   = DB2
 Local database alias   = GOOBER

db2 => GET DATABASE CONFIGURATION

       Database Configuration for Database

 Database configuration release level                    = 0x0d00
 Database release level                                  = 0x0d00
....
 SMTP Server                               (SMTP_SERVER) =
 SQL conditional compilation flags         (SQL_CCFLAGS) =
 Section actuals setting               (SECTION_ACTUALS) = NONE
 Connect procedure                        (CONNECT_PROC) =
Share Button

IBM DB2 10.1 LUW manuals fixed to work with tablet/phone PDF readers like Aldiko

Aldiko Book Reader Premium Full v2.2.3.apkMany PDF readers for smart phones (Android/iphone) and tablets manage the pdf files Calibre_Logobased solely on the Title and Author fields in the PDF file. While for this is fine for your average book, it is not all that helpful with manuals that tend to have abbreviated or no data in the title/author fields. In the case of the manuals for IBM DB2 LUW 10.1, I’m unable to load the manuals for say v9.7 as they have the same Title/Author data.  I used the same method from SAP Sybase IQ 15.4 manuals fixed to work with tablet/phone PDF readers like Aldiko

Here are the IBM DB2 10.1 LUW manuals that I’ve ‘fixed’ to work with Aldiko. They are identical to the PDFs on IBM’s website with the exception of the PDF fields I mentioned previously.

NO COPYRIGHT INFRINGEMENT IS INTENDED. IBM, PLEASE FEEL FREE TO TAKE THESE AND HOST THEM.

DB2 10.1 LUW – Preparation Guide for DB2 10.1 Fundamentals Exam 610 – IBM, Inc_
DB2 10.1 LUW – Command Reference – IBM, Inc_
DB2 10.1 LUW – DB2 Connect User’s Guide – IBM, Inc_
DB2 10.1 LUW – Database Security Guide – IBM, Inc_
DB2 10.1 LUW – Developing ADO.NET and OLE DB Applications – IBM, Inc_
DB2 10.1 LUW – Data Movement Utilities Guide and Reference – IBM, Inc_
DB2 10.1 LUW – Spatial Extender User’s Guide and Reference – IBM, Inc_
DB2 10.1 LUW – Call Level Interface Guide and Reference Volume 1 – IBM, Inc_
DB2 10.1 LUW – SQL Procedural Languages_ Application Enablement and Support – IBM, Inc_
DB2 10.1 LUW – Call Level Interface Guide and Reference Volume 2 – IBM, Inc_
DB2 10.1 LUW – Developing Embedded SQL Applications – IBM, Inc_
DB2 10.1 LUW – SQL Reference Volume 1 – IBM, Inc_
DB2 10.1 LUW – Getting Started with Database Application Development – IBM, Inc_
DB2 10.1 LUW – Developing Java Applications – IBM, Inc_
DB2 10.1 LUW – Developing Perl, PHP, Python, and Ruby on Rails Applications – IBM, Inc_
DB2 10.1 LUW – SQL Reference Volume 2 – IBM, Inc_
DB2 10.1 LUW – Text Search Guide – IBM, Inc_
DB2 10.1 LUW – Developing User-defined Routines (SQL and External) – IBM, Inc_
DB2 10.1 LUW – Upgrading to DB2 Version 10.1 – IBM, Inc_
DB2 10.1 LUW – Globalization Guide – IBM, Inc_ DB2 10.1 LUW – What’s New for DB2 Version 10.1 – IBM, Inc_
DB2 10.1 LUW – Installing IBM Data Server Clients – IBM, Inc_
DB2 10.1 LUW – DB2 Connect Installing and Configuring DB2 Connect Personal Edition – IBM, Inc_
DB2 10.1 LUW – DB2 Connect Installing and Configuring DB2 Connect Servers – IBM, Inc_
DB2 10.1 LUW – DB2 Workload Management Guide and Reference – IBM, Inc_
DB2 10.1 LUW – XQuery Reference – IBM, Inc_
DB2 10.1 LUW – Installing DB2 Servers – IBM, Inc_
DB2 10.1 LUW – Message Reference Volume 1 – IBM, Inc_
DB2 10.1 LUW – Configuration Guide for Federated Data Sources – IBM, Inc_
DB2 10.1 LUW – Message Reference Volume 2 – IBM, Inc_
DB2 10.1 LUW – Administration Guide for Federated Systems – IBM, Inc_
DB2 10.1 LUW – Precompiler Customization – IBM, Inc_
DB2 10.1 LUW – Replication and Event Publishing Guide and Reference – IBM, Inc_
DB2 10.1 LUW – SQL Replication Guide and Reference – IBM, Inc_
DB2 10.1 LUW – ASNCLP Program Reference for Replication and Event Publishing – IBM, Inc_
DB2 10.1 LUW – Administrative API Reference – IBM, Inc_
DB2 10.1 LUW – Database Monitoring Guide and Reference – IBM, Inc_ DB2 10.1 LUW – Net Search Extender Administration and User’s Guide – IBM, Inc_
DB2 10.1 LUW – Getting Started with DB2 Installation and Administration on Linux and Windows – IBM, Inc_
DB2 10.1 LUW – Database Administration Concepts and Configuration Reference – IBM, Inc_
DB2 10.1 LUW – Partitioning and Clustering Guide – IBM, Inc_
DB2 10.1 LUW – Troubleshooting and Tuning Database Performance – IBM, Inc_
DB2 10.1 LUW – Administrative Routines and Views – IBM, Inc_
DB2 10.1 LUW – pureXML Guide – IBM, Inc_
DB2 10.1 LUW – Preparation Guide for Exam 611 – IBM, Inc_
DB2 10.1 LUW – Data Recovery and High Availability Guide and Reference – IBM, Inc_

Share Button

Andrew E. Bruno: Database Design with Dia

Back in December Diaof 2007, Andrew E. Bruno wrote an excellent article on how to use the open source program Dia to design databases.  He used the resultant design to create a MySQL database but the same principles could be used to create just about any relational database from the design.  Dia is available for Linux, *nix, and Windows.

Database Design with Dia

In this post I’m going to give a quick how-to on creating database schemas with a wonderful tool called Dia. I’ve often found having a nice visual representation of a database to be quite helpful but can’t stand keeping it up to date. As soon as you add a new column or change the design around you end up having to sync your visual diagram with your SQL files. It’s tedious having to manage the various SQL for building the database and this can be a larger pain when trying to support different database platforms each with their own SQL syntax. So before you create your next database read on and see how Dia can make your life a bit easier.

Dia is a program for creating diagrams and for this exercise we’ll be creating UML diagrams from within Dia. We’re also going to use a perl script called tedia2sql which will transform our Dia files directly to SQL for our target database. What’s also nice about creating database schemas this way is that you can generate SQL for multiple target databases without the maintenance overhead.

read more….

Share Button

FW: Migration Migraines

Adrian Bridgwater

Adrian Bridgwater

Migration migraines: the top seven DBA data headaches

Posted by Adrian Bridgwater

Once or twice a year I get to work with an excellent DBA pal from Illinois called Jason Froebe who describes himself as a, “Perlmonger capable of speaking fluent munchkin.” His personal blog is called Ramblings of a Geek, but I keep telling him he should rename it “Froebe’s Frontal Lobe”.

read more at ZDnet…

The work that Adrian mentions is a last minute article for the International Sybase User’s Group that I wrote and he edited.  The benchmarking article that many people are waiting for is being held up by several groups giving their approval for the release of the material.

As always, it is a real pleasure to work with Adrian 🙂

Share Button

Borderline Scamming being done by software companies

The latest craze from software vendors to companies is to charge for each and every core a machine has regardless of whether or not you’re going to use it.

Get this, if you want to buy a production license for your database/middleware/web server, the vendor (starts with an “S”) wants you to send them the hardware specs of the box.  If you tell them it is a Dell superduper server with 8 quad core CPUs and 96GBytes of RAM but you only will be using a single core for the database and devoting the rest to the middleware/webserver, you STILL have to pay the vendor for all 32 cores (8 CPUs X 4 cores).  Your software license costs is now 32 times MORE what you should have to pay IMHO.

Lots of software companies are now doing this anti-customer practice just to beef up their short term revenues.

What makes them think that you won’t go to another vendor?

  1. Their competitors are probably doing the same sales tactic
  2. They have you by the family jewels, vendor lock in, and it will cost you far too much $$$ to migrate
  3. They think that you’re too stupid and/or timid to call their bluff
  4. FUD that is spread by well meaning and well known folk that don’t know jack about the open source alternatives

Who the hell do they think they are?

Share Button

It’s here! The very first issue of MyDatabases!

MyDatabases Volume 1 Issue 1 (July 2008)

MyDatabases Volume 1 Issue 1

Geek Spotlight:  Michael Peppler
Sybase ASE on Ubuntu 8.04
Multicore Processors
VMware Virtualization
Logical Process Manager

Share Button

Native support of SQLite in Sybase PowerBuilder and PowerDesigner?

What I would love to see is native support for SQLite. http://www.sqlite.org

It is the most installed embedded database on the planet hands down.  Don’t believe me?  You know that Firefox web browser, Thunderbird newsreader, most Adobe products, Miro, etc all have it embedded?  – reference http://www.sqlite.org/mostdeployed.html

We use it extensively at work as:

  1. staging for mass data imports/exports/conversions
  2. local application ‘cache’ for large data sets
  3. projects that don’t require all the features of Sybase ASE (or Oracle for that matter)

One of the best features is that the database itself in platform independent… copy the db on to AIX from your Windows box … then on to your old Amiga … then on to your windows mobile device.  Getting the point?  🙂

I really wish Sybase would make it so that the Sybase ASE databases were truly platform and character set/sort order independent… but that is in another dream 😉

Not a blurb in the PowerDesigner/PowerBuilder manuals or anything

Share Button

Multicore processors and Sybase ASE: Jeff Tallman

When T V S Murty asked on the sybase-l mailing list about Sybase ASE, multicores and Sybase licensing, the discussion quickly drilled down to whether or not multicores were beneficial to Sybase ASE and database software in general. Jeff Tallman, of Sybase fame, described in detail how Sybase ASE and multicore processors relate to each other.

From: Jeff Tallman <tallmanATsybaseZeDOTcom>
To: sybase-l@lists.isug.com
Subject: [sybase-l] – RE: Multicore processors and ASE

As always a lot depends on the application profile.   Something to consider for any multicore processor are factors:

  1. The number of FPU units per chip (FPU = Floating Point Unit)
  2. The number and capacity (in IOPS) of IO processors per chip
  3. The type of chip multi-threading

With respect to #1, most DBMS (at least the commercial ones) use statistics for query optimization – so while the actual query processing doesn’t use a lot of FPU instructions (assuming a minimum of float datatypes, etc.).  Each query requires a pretty good smack of the FPU time to do the floating point math on the stats.  The impact of this could be lessened by doing statement caching or fully prepared statements…or other means at reducing the optimizer load.

The second problem is one of capacity vs. bandwidth.   All network and disk IO obviously need to use the IO processor.   With 4 dual core chips, usually, you have 4 IO processors.

With a single chip with 8 cores, it is likely that you will have only a single IO processor.   The single IO processor has 8 cores all making requests.  The number of IO operations per second it can handle becomes a real key factor in the box’s scalability.

The chip multi-threading is an interesting issue as there are ~3 different flavors today:

  1. Intel’s Hyperthreading (no longer implemented on XEON and I don’t think implemented at all anymore)
  2. Sun’s Chip Multi-Threading (CMT)
  3. IBM’s SMT

Some instructions require multiple cycles to complete due to they are waiting on a fetch from main memory or whatever.   The thread/process of execution typically blocks in these cases, resulting in a fairly idle core.   By making use of this idle time, CMT or SMT can increase the throughput overall — ignoring HT as it was fairly ineffective at this – and appears to have been dropped by Intel lately.

The question that comes up is how do you manage the threading?  Do you do a form of timeslicing (i.e. when you suspend on process that is blocked on a call, do you let the one that replaced it run for a certain length of time or until it blocks before returning back to the original) or do you do an interrupt based/preemptive mechanism in which when the blocked call returns, that you suspend the other thread?   Both have advantages and disadvantages, and do allow more engines than cores.

However, it may also mean tuning ASE to be more reactive, such as reducing the ‘runnable process search count’.  You also need to be careful that engines running on CMT’s don’t get woken back up on another core (especially if the L2 cache is split between the cores) as well as other considerations.

A rule of thumb to think about is that if you have a multi-core CPU that supports chip threading, if you have a lengthy list of SPIDs in a ‘runnable’ state, enabling extra engines on the threads will likely help.   If you don’t – i.e. you are IO bound – that it probably won’t help.

Currently, Sun uses a timeslicing mechanism that is more along the lines of ASE’s SPID management – and as a consequence, it shows scalability when the various tasks do a lot of blocking calls such as fetches from main memory.  It does have the detrimental effect of only providing a percentage of cpu time to the ASE engine (i.e. 25% when 4 threads per core).   The more parallelism is used within your application, such as higher numbers of concurrent users in ASE, the more it can be distributed across the engines.

You have to be careful as net engine affinity and short query’s (i.e. DML).  They can have a negative impact, which may be controllable using engine groups.   Overall, a cpu-intensive/cpu bound application can benefit from the Sun CMT implementation.  An IO bound application does not.

Share Button

The first issue of “My Databases” coming next week!

As many of you know, I’ve been working on a free magazine regarding various database systems (dbms) called My Databases.  I hope to have multiple authors in future issues covering all sorts of open source and proprietary databases.

I should have the first issue done Sunday night.  I’m using OpenOffice, Scribus, Gimp, and Inkscape.

Share Button