Monday, April 26, 2010

New "Best Practices" for DB2 on AIX 6.1 on Power

A new IBM Redbook has been published titled "Best Practices for DB2 on AIX 6.1 on POWER Systems". The book covers both DB2 9.5 and DB2 9.7. A good chunk of the 400+ pages is spent on AIX configuration and DB2 (performance) monitoring.

Thursday, April 22, 2010

Overview: DB2 tablespaces and bufferpools

An older article on developerWorks, "DB2 Basics: Table spaces and buffer pools" has been updated for DB2 9.7. If you want a quick introduction to SMS, DMS, large and regular tablespaces, row size and column count limits, extent and prefetch sizes, etc., this is a good starter.

Monday, April 19, 2010

Happy eating: Separation of duties and DB2 security

One of the security enhancements that were delivered with DB2 9.7 is the full support for separation of duties. First of, what exactly is separation of duties? In short you are splitting up an important task or process in smaller steps and then require several people/user to complete the task. The objective is to prevent fraudulent or accidental activities and to reduce the risk and possible damage.

Combine that with auditing to keep track of who is/was doing what, encryption of data on disk plus encrypted DB2 connections. On top of that add regular roles and authorization for different tasks. Sometimes I wish I would have all that for that kitchen cabinet where my/our candy is stored.

With separation of duties my wife would be in charge of the cabinet, providing the space to store the candy (and sometimes clean up?). I would grant insert privilege to everyone because they could then add their candy to the cabinet and remove almost all other privileges. Secured connections would allow me to access (eat) without the kids eavesdropping on my chocolate consumption. Encrypted storage would make sure that even if someone would have access to the cabinet could not look inside and determine how much and what is left (my secret). With auditing I could keep track of who would try to gain access.

That would be happy eating for me. Henrik, dream on and share the candy till it becomes true...

DB2 (for z/OS), COBOL, CICS, and ....: pureXML

There is a new article on developerWorks titled "Using CICS with DB2 pureXML" that gives a basic introduction into how to insert and retrieve XML documents using CICS and Web Services.

Wednesday, April 14, 2010

A word on design and Star Wars

During the vacation my wife and I enjoyed watching two Star Wars movies. First off, renaming or reversioning them from 1 and 3 to episode IV and episode VI is so IBM with renaming, rebranding, and confusing customers (take that, marketing!).

What got me thinking most during the movies was the design and "user interface". In order to interact with a powerful droid like R2-D2 they needed a translator like C-3PO to turn beeps back into a human language (or something understandable). This looked like many of today's products where the service guy is needed too often to turn cryptic (or non-existing) messages into something customers can make sense of.

Anyway, I am looking forward to the next DVD night...

Have you booked your trip to IDUG?

In the 2nd week of May (May 10-14, 2010) the IDUG North America conference is taking place in Tampa, Florida. What I like about the IDUG conference is that it is organized from the user/customer angle with users presenting and sharing their experience. It's a great way to network, especially when you are new to the DB2 landscape (Oracle anyone? Check the schedule for sessions tailored to those having worked with Oracle or having both systems in-house).

What I usually do when I am at such an event is to make use of free certifications. Become a certified DB2 administrator at the conference.

Want to learn more about DB2 pureScale, DB2 10 (the next version of DB2 for z/OS), IBM Smart Analytics System or IBM Smart Analytics Optimizer? The IDUG conference is the place to be.

Want to have some nice "gifts" for your kids or your spouse? Visit the expo area and collect goodies.

Have you booked your trip already...?

Tuesday, April 13, 2010

Smart Vacation and Smarter Systems

Well, where do I start today? I was on vacation for 11 days and managed to (mostly) stay away from computers and phones. It was kind of relaxing to not keep track of the IT world. Let's call it "smart vacation". On the downside I now know what is meant with Lymphangitis. The scary part is that someone can contract it while working in the garden and being stung by an insect.

While I was relaxing, IBM announced new systems to help their customers relax a little bit. The tag line is "Smarter Systems for a Smarter Planet". It's a line of workload optimized systems, i.e., systems (HW / SW stack) that are designed for a specific workload. The IBM pureScale Application System is optimized for transactional workloads, the new IBM Smart Analytics System versions 5600 and 9600 for analytical workloads. The new IBM Smart Analytics System extend the concept from the already supported System p to System x AND System z.

I will write more about the new systems in the coming weeks after getting back into my regular routine.

Thursday, April 1, 2010

(Updated) Strange error on insert into DB2

Some time ago I ran into a strange error when inserting data into a table using DB2 9.7.1 on Windows. To prepare for a database class I wanted to create a table with the 50 best movies ever. I started off with:

create table bestmovies(rank int unique not null, title varchar(100), url varchar(200))
DB20000I  The SQL command completed successfully.

So far, so good. Trying to be a good teacher I planned to show how to document database objects:
comment on table bestmovies is 'Table with the best movies ever,  URL is for imdb links'
DB20000I  The SQL command completed successfully.

Then I inserted some data to try out that it works. For later importing from a file was planned.
insert into bestmovies values(1,'The Shawshank Redemption','http://www.imdb.com/title/tt0111161/')
DB20000I  The SQL command completed successfully.

Doing a multi-insert also worked:
insert into bestmovies values(2,'The Godfather','http://www.imdb.com/title/tt0068646/'),(3,'The Godfather: Part II','http://www.imdb.com/title/tt0071562/')
DB20000I  The SQL command completed successfully.

However, later I ran into a strange error:
insert into bestmovies values(20, 'The Hottie & the Nottie','http://www.imdb.com/title/tt0804492/')
DB21034E  The command was processed as an SQL statement because it was not a valid Command Line Processor command.  During SQL processing it returned:
SQL0114N  The value(s) violate a semantic condition defined on the table "HLOESER.BESTMOVIES".   SQLSTATE=42603

I couldn't find a description of the error code or the error message in the DB2 Information Center. The error code is not listed. Usually I am not using comments on my regular test tables, so I am not sure what it means. Do you have any clue or give me pointers? This looks very interesting.

Update: After dropping the comment on the table, it now works.