Tuesday, 4 January 2011

Installating IBM DB2 on Ubuntu Linux 10.10

As part of a new everything-on-one-box Lotus Connections 3.0 installation, I've updated my monster PC ( known as Orac ) to Ubuntu 10.10.

Orac has a quad core Intel CPU, 8 GB of RAM and 1.3 TB of storage, so he's a bit of a beast.



Having installed a 32-bit version Ubuntu 10.10, I was ready to go.

Oh, hang on, the free command only shows 3.X GB of RAM, despite my having 8 GB.

Ah, hang on, I forgot to install the PAE kernel - as I'm using the 32-bit distro, I need to use a kernel that can address more than 3.3 GB.

This is easy to fix - I simply ran the following command: -

sudo apt-get install linux-generic-pae

which installed three packages: -

ii  linux-generic-pae                    2.6.35.24.28                                    Complete Generic Linux kernel
ii  linux-image-2.6.35-24-generic-pae    2.6.35-24.42                                    Linux kernel image for version 2.6.35 on x86
ii  linux-image-generic-pae              2.6.35.24.28                                    Generic Linux kernel image

Now, after a quick reboot, the free command returns: -

            total       used       free     shared    buffers     cached
Mem:       8261504    5571908    2689596          0      46396    5081164
-/+ buffers/cache:     444348    7817156
Swap:      6538236          0    6538236

which is rather shiny.

So, on to DB2 ....

*NOTE* This is *NOT* a supported platform - it's merely for me to "play" with  *NOTE*

Once I had overcome my problem with the TAR command, I started the installation program: -

cd /tmp
./db2setup

which immediately failed with: -

ERROR:
   The required library file libaio.so.1 is not found on the system.
   Check the following web site for the up-to-date system requirements
   of IBM DB2 9.7
   http://www.ibm.com/software/data/db2/udb/sysreqs.html
   http://www.software.ibm.com/data/db2/linux/validate 
  Aborting the current installation ...
  Run installation with the option "-f sysreq" parameter to force the installation.

:-(

However, as ever, Google had the answer, Google is my friend.

Antonio Cangiano has blogged here about this - the solution is simple: -

sudo apt-get install libstdc++5
sudo apt-get install libaio-dev
sudo ./db2setup

Once I did this, the DB2 installation worked like  a dream.

I *love* it when a plan comes together :-)

*NOTE* This is *NOT* a supported platform - it's merely for me to "play" with  *NOTE*

5 comments:

Abhilash said...

when i give

$ sudo ./db2setup
its givin

sudo: ./db2setup: command not found

Dave Hay said...

@Abhilash - you need to be in the directory into which you extracted the DB2 archive before you run db2setup or, if not, provide the path to the command.

As an example: -


cd /tmp
tar xvf /media/LenovoExternal/Products/DB297/db297linux32.tar
sudo ./db2setup


or, if you've unpacked the archive into /tmp but are currently in /home/hayd, then you'd run db2setup as follows: -


cd /home/hayd
sudo /tmp/db2setup

Abhilash said...

After installing db2

how & from where i hav 2 run, bcoz

in windows we can find easily in All Programs..

but where in linux

i also searchd in applications but it is not there

Dave Hay said...

@Abhilash - take a look at some of these online resources: -

DB2 on Linux Redbook

IBM WebSphere (V4.0) J2EE applications server and DB2 (V7.2) database on Linux

There are plenty of other useful online resources including IBM developerWorks

Regards, Dave

Unknown said...

@Abhilash,

You will need to login as the DB2 User, such as db2inst1 -->

If you are logged in as a different user --> su db2inst1
Enter your db2inst1 passwd.

Now type in --> db2 connect to SAMPLE

or db2sampl --> this will create the SAMPLE database and then you can start working with DB2 :)

If you are on the lookout for a out of the box no frills DB2 Experience, try my Dubuntu Appliance --> DB2 on Ubuntu.

More Details here

http://www.vmware.com/appliances/directory/885293

Cheers!

Anil Mahadev
http://db2hitman.wordpress.com
DB2 India UG President
Dubuntu Appliance Architect

Note to self - use kubectl to query images in a pod or deployment

In both cases, we use JSON ... For a deployment, we can do this: - kubectl get deployment foobar --namespace snafu --output jsonpath="{...