Wednesday, May 10, 2006

DB2 for Solaris 10 x64 now available

DB2 V8.2.4 for Solaris 10 01/06 x64 is finally available. While it is still hard to find on website, if you have access to IBM Software Catalog (via Passport Advantage,PartnerWorld, etc) then you can request/search for it via the part number C909HML.

Following are the quick tips for improving your experience with DB2 on Solaris x64

  • Need Solaris 10 1/06 or greater (no support for Solaris 9, Solaris 8 on the x64 Platform)

  • Only 64-bit DB2 instance supported (no support for 32-bit DB2 instance on Solaris x64 which restricts you currently to use 64 bit enabled platforms using AMD64/EMT64 like the Sun Fire X4200 )

  • # isainfo
    amd64 i386

  • You will need 64-bit JVM installed on your system. If you are using Solaris 10 1/06 then it has 64-bit JVM for 1.5 and not 1.4.2 . Hence DB2 V8.2.4 on Solaris x64 uses JDK_PATH in the dbm cfg of DB2 pointing to /usr/java instead of /usr/j2se default (DB2 on Solaris SPARC). If the path is pointing to something else use the following command to reset it right for Solaris 10 x64

  • db2 update dbm cfg using JDK_PATH /usr/java

Also the valuable db2osconf is still not available on this version for Solaris x64, and hence the following will help you to get started with a decent database size . (Example shown assumes instance owner name as db2inst1, replace it with your instance owner name)

projadd -U db2inst1 user.db2inst1
projmod -a -K "project.max-shm-ids=(priv,4k,deny)" user.db2inst1
projmod -a -K "project.max-sem-ids=(priv,4k,deny)" user.db2inst1
projmod -a -K "project.max-shm-memory=(priv,4G,deny)" user.db2inst1
projmod -a -K "project.max-msg-ids=(priv,4k,deny)" user.db2inst1

The above helps to increase the limits of shared memory segments, semaphore ids and total memory that can be used for shared memory.

Of course I still used the traditional way to set the following values on a Sun Fire 4200 with Solaris 10 1/06 for DB2 V8.2.4 that I had used for a recent test (I still need to verify if this is the right way set these values)

set msgsys:msginfo_msgmni = 3584
set semsys:seminfo_semmni = 4096
set shmsys:shminfo_shmmax = 15392386252
set shmsys:shminfo_shmmni = 4096

Other quick tips:
If you install it on 32-bit Solaris 10 01/06, it will take you through the software binaries install successfully, but the instance creation step will fail. So please make sure that you are using 64-bit Solaris 10 01/06 otherwise it will result in wasted resources.
Please share your experiences with us.


Post a Comment