A DATABASE DISCONNECT
by Chris Date

 

 

 

“O what a tangled web we weave...”

--Sir Walter Scott

 

 

Introduction

 

A recent issue of DB2 Magazine (Vol. 7, No. 4, 4th quarter 2002) included articles with titles as follows: 

 

·   "A SMARTer DB2" (by Sam S. Lightstone, Guy M. Lohman. Bryan F. Smith, Randy Horman, and Jim Teng)

·   "Database Technology Leaps Ahead" (by Philip Gunning)

 

The first, which I'll call the SMART paper, was concerned with a project at IBM to make DB2 more self-managing; the second, which I'll call the Version 8 paper, was concerned with features added to IBM's DB2 Universal Database product in Version 8.1.  Both were interesting and informative.  However, I couldn't help noticing what might be called a slight disconnect between them.  Now read on ...

 

 

The Smart Paper

 

Here's the opening paragraph from this paper: 

 

“Wouldn't it be nice if your database were as easy to manage as your refrigerator, automatically regulating its operation based on the settings of a couple of knobs and initiating maintenance operations that would periodically "defrost" your data without your intervention?  That's the goal of the Self-Managing And Resource Tuning (SMART) project at IBM: to reduce the cost of tuning and managing DB2 Universal Database (UDB).”

 

Let me state immediately that I'm in complete agreement with the objective here.  Today's DBMS products have become much too difficult to configure, tune, and maintain (DB2 isn't the only culprit in this regard), and the DBAs job has become virtually impossible.  It's sad, really.  Codd himself is on record (in his paper "Recent Investigations into Relational Data Base Systems," Proc. 1974 Congress, Stockholm, Sweden, 1974) as stating that one of his objectives in introducing the relational model was "to simplify the potentially formidable job of the database administrator."  What would he make of the present situation?  (I used to joke in seminars that before they were done, the folks at IBM would make DB2 just as complicated as IMS ever was.  Well, I think they succeeded.  Though, to say it again, it isn't just DB2; SQL products in general are much too hard to administer.)

 

The paper goes on to describe a long list of aspects of the SMART project that should eventually help to make DB2 easier to administer.  And it concludes as follows: 

 

“The many self-managing features you enjoy in DB2--and many more you may not even be aware of--are just the tip of the iceberg.  In upcoming releases, look for many more SMART features in DB2 and increasingly autonomic behavior from many other IBM hardware and software products.  Of course, the ultimate goal is to reduce what you see and take care of everything behind the scenes--just as your refrigerator does.” 

 

I can only applaud. 

 

 

The Version 8 Paper

 

Hats off, then, to the SMART project (obviously a good idea).  But what's the reality?  What follows is a series of quotes from the Version 8 paper--many of them, though not all, taken from a section entitled "Manageability" (!).  I leave it to you to decide for yourself how many of the features mentioned require human decisions and thus don't exactly conform to the SMART objectives.  Note the repeated use of words such as option, select, can, etc.

 

·   If you specify the COPY NO option [on online load] ...

·   With the READ ACCESS option of the load command ...

·   The new option LOCK WITH FORCE [on the load command] ...

·   The ... load utility no longer requires the SET INTEGRITY statement ...

·   The LOAD QUERY command now returns...

·   LOAD QUERY can [now] also query table states ...

·   You can select a Load Wizard...

·   You can choose from a list of instances, databases, and tables...

·   Make your ... selection and the wizard presents you with an option dialog ...

·   Select the options you want ...

·   You can launch almost all the new wizards in this way ... [italics added]

·   A new FLUSH PACKAGE CACHE SQL statement ...

·   This capability will be useful in conjunction with the new online update of database manager (DBM CFG) d database configuration (DB CFG) parameters ...

·   [You] can now specify the logpath through the MIRRORLOGPATH DB CFG parameter ... This new parameter replaces the previous registry variable DB2NEWLOGPATH2 ...

·   The BLK_ON_LOG_DISK_FUL registry variable has been replaced with the new database configuration parameter BLK_LOG_DSK_FUL [note the different spellings!]...

·   … DB2 will retry the write to log every five minutes, giving you time to resolve the disk full condition ...

·   You no longer have to specify Coordinated Universal Time ... [Instead,] you can now specify local time ...

·   The level of information is controlled by the new NOTIFYLEVEL database configuration parameter ...

·   You can use the ... QUIESCE command [to specify a new database maintenance mode]...

·   The UNQUIESCE command takes the database out of [this new mode]...

·   REORGCHK now includes an ON SCHEMA option...

·   RUNSTATS can now collect [new statistics]...

·   RUNSTATS can now also accept [further new parameters]...

·   The new Health Monitor ... can raise alerts when predefined thresholds are exceeded...

·   Simply click on the Launch button to ... analyze [output from the new Health Monitor]...

·   You can create event monitors...

·   You can write customized queries containing event monitor data and produce reports...

·   [You] can now take snapshots through SQL table functions...

·   The new INSTEAD OF trigger extends the ability to update views...

·   New Informational Constraints [can be specified]...

·   New options on the ALTER TABLE statement (ENABLE QUERY OPTIMIZATION or DISABLE QUERY OPTIMIZATION) ...

·   [Materialized Query Tables] are managed by the user ... and are distinguished by the MAINTAINED BY USER option of the CREATE SUMMARY TABLE statement...

·   You can now use block-based buffer pools ... [by specifying the] BLOCKSIZE parameter of the CREATE or ALTER BUFFERPOOL statement...

·   You can enable [the new feature for compression of nulls and defaults] ... by using the VALUE COMPRESSION and COMPRESS SYSTEM DEFAULT clause [sic] of the CREATE TABLE statement...

·   [Asynchronous I/O] must be enabled before ... installation ... Two ... parameters that you can tune are MINSERVERS and MAXSERVERS...

·   You can enable this new feature by setting MAX_CONNECTIONS greater than the value of MAX_COORDAGENTS...

·   The NOT LOGGED clause ... is now optional...

·   You can now create an index on a temporary table and run RUNSTATS...

·   [The new] type-2 indexes are required for online load, online reorganization, and MDC...

·   A table can't have a mix of type-1 and type-2 indexes...

·   Tables can be migrated to type-2 indexes via index reorganization...

·   New commands give you the capability to monitor...

·   Reorganization ... can [now] be paused and resumed...

·   Note that online table reorganization is only allowed on tables with type-2 indexes...

·   A new REORG INDEXES command...

·   You can set more than 50 configuration parameters online...

·   The GET DB CFG and GET DBM CFG commands now feature a SHOW DETAIL option...

·   A few of these parameters can be set to automatic ... [italics added]

·   [You can] use the new BEGIN NEW STRIPE SET option of the ALTER TABLESPACE command...

·   These operations can be performed online...

·   A new INSPECT command ...

·   A new command ... DB2SUPPORT ...

·   The Database Analysis and Reporting Tool ... is now supported ... Use [it] to diagnose ... and repair ...

 

And finally:

 

·   Through autonomic computing and the SMART initiative, IBM has made DB2 ... easier to operate and manage ...

 

What do you think? 

 

 

Conclusion

 

Further comment seems superfluous.

 

Posted 03/14/03

 

 

 

[ABOUT] [QUOTES] [LINKS]