Tuesday, July 13, 2010

Installing Innovator-C on Linux


You want to take advantage of this new free for production database engine, Innovator-C, but you have no experience with Informix and don't know where to begin.

If the above statement describes you, then you have come to the right place as I will attempt to describe in great detail (maybe too much detail) the Informix engine installation process.

What you will need:


  • A machine running a supported version of Linux as documented in the machine notes. Most major and recent Linux distributions are supported (RHEL4 and 5, SLES 10 and 11, Ubuntu 6.06.01 and Debian 4.0). I am using 64 bit Red Hat Enterprise Linux 5
  • root access. The install is performed by root and root will be needed to create the informix user and informix group
  • Innovator-C (32 bit version for 32 bit OS, 64 bit version for 64 bit OS), found here
Get the system ready

As root, create the informix group, create the informix user as part of the informix group and set the password for the informix user.

root> groupadd informix
root> useradd -g informix informix
root> passwd informix

Create a directory to hold the Informix install. This is commonly called the INFORMIXDIR because of the environment variable with the same name that defines where the engine is installed.

I like to install Informix in an /opt directory with a name that describes the version of the engine living in that directory. For Innovator-C that has a version number of 11.50.FC7IE I would create /opt/informix-ids-11.50.FC7IE (ids here represents Informix Dynamic Server to tell me this is the engine and not another Informix product like the Client Software Development Kit).

INFORMIXDIR will not be set to this /opt/informix-ids-11.50.FC7IE directory. Instead I will create a symbolic link named /opt/informix to this directory. This may seem like extra steps, but it will be very beneficial when it is time to upgrade. When 11.50.FC8IE becomes available I will create a new directory in /opt/informix-ids.11.50.FC8IE and install the new engine there. When I am ready to upgrade I will shutdown the FC7 engine, relink /opt/informix to the FC8 directory, start the engine and the upgrade takes place. This will give me an easy path to revert to FC7 (shutdown, relink, restart) if I want, keeps the FC7 and FC8 install files separate and minimizes my downtime by letting me install FC8 while the FC7 engine is online.

root> mkdir /opt/informix-ids-11.50.FC7IE
root> chown informix:informix /opt/informix-ids-11.50.FC7IE
root> ln -s /opt/informix-ids-11.50.FC7IE /opt/informix

Informix needs some environment variables to do its thang. I like to have these automatically set each time I login and I accomplish this by putting a small script called informix.sh in /etc/profile.d

For the install we only need INFORMIXDIR to be set.

Create a new file in /etc/profile.d named informix.sh and add the following lines

# location of informix install
export INFORMIXDIR=/opt/informix

Logout and login and check your environment to verify INFORMIXDIR is automatically set for you

root> env | grep INFORMIXDIR
INFORMIXDIR=/opt/informix

Next, define a port that will be used to allow clients to connect to our database engine (I like 1526) by adding the following line to /etc/services:

idstcp01 1526/tcp # Informix

Installing the engine

Get yourself into some kind of a temporary directory that holds the Innovator-C tar ball you downloaded from IBM

root> cd /root/informixinstall
root> ll
total 210664
-rw-r--r-- 1 root root 215500800 Jul 13 15:18 iif.11.50.FC7IE.Linux-RHEL4.tar

and untar

root> tar -xvf
iif.11.50.FC7IE.Linux-RHEL4.tar
bundle.ini
CSDK/
CSDK/UNIX/
CSDK/UNIX/csdk.jar
CSDK/UNIX/doc/
CSDK/UNIX/doc/client_relnotes_3.50.html
CSDK/UNIX/doc/client_relnotes_3.50.txt
CSDK/UNIX/doc/cmsm_relnotes_3.50.html
CSDK/UNIX/doc/cmsm_relnotes_3.50.txt
...
SERVER/doc/ids_defects_11.50.txt
SERVER/installserver
SERVER/server.ini
SERVER/Platform.prq
SERVER/onsecurity
suite.jar
.jvm.bin

As root, run the ids_install script which will install the engine, the CSDK and JDBC. The install is pretty straight forward from here on out. First you will be asked if you want to run the installer in GUI mode, I pick No. You will be asked to accept the License Agreement, asked some questions to verify what you would like to install and where and some questions about some other install options and installation tasks. I choose the default options, you can too.

root> ./ids_install

Do you want to run installer in GUI mode [y/n] : n

Initializing InstallShield Wizard........
Launching InstallShield Wizard........


1. Release Notes
2. Express Quick Beginnings Guide
3. Launch Information Center
4. Begin Installation

Please select one of these options [4] 4

Beginning installation...


Press 1 for Next, 3 to Cancel or 4 to Redisplay [1] 1

Welcome to the InstallShield Wizard for IBM Informix Dynamic Server Version
11.50 Bundle

The InstallShield Wizard will install IBM Informix Dynamic Server Version 11.50
Bundle on your computer.
To continue, choose Next.

Press 1 for Next, 2 for Previous, 3 to Cancel or 4 to Redisplay [1] 1

International License Agreement for Non-Warranted Programs

Part 1 - General Terms

BY DOWNLOADING, INSTALLING, COPYING, ACCESSING, CLICKING ON AN
"ACCEPT" BUTTON, OR OTHERWISE USING THE PROGRAM, LICENSEE AGREES TO
THE TERMS OF THIS AGREEMENT. IF YOU ARE ACCEPTING THESE TERMS ON
BEHALF OF LICENSEE, YOU REPRESENT AND WARRANT THAT YOU HAVE FULL
AUTHORITY TO BIND LICENSEE TO THESE TERMS. IF YOU DO NOT AGREE TO
THESE TERMS,



* DO NOT DOWNLOAD, INSTALL, COPY, ACCESS, CLICK ON AN "ACCEPT"
BUTTON, OR USE THE PROGRAM; AND



Press Enter to continue viewing the license agreement, or, Enter "1" to accept
the agreement, "2" to decline it or "99" to go back to the previous screen, "3"
Print, "4" Read Non-IBM Terms.

1

Press 1 for Next, 3 to Cancel or 4 to Redisplay [1] 1

IBM Informix Dynamic Server Version 11.50 Bundle Install Location

Please specify a directory or press Enter to accept the default directory.

Directory Name: [/opt/informix]

Press 1 for Next, 3 to Cancel or 4 to Redisplay [1] 1


Searching for products available for install: this may take a few minutes.

Select the products you would like to install:

To select/deselect a product or to change its setup type, type its number:

Product Setup Type
------------------------------------------------ ------------------------
1. [ ] IBM Informix IConnect Version 3.50
2. [x] IBM Informix Client-SDK Version 3.50 Typical
3. [x] IBM Informix Dynamic Server Version 11.50 Typical
4. [x] IBM Informix JDBC Driver Version 3.50

Other options:

0. Continue installing

Enter command [0] 0


Press 1 for Next, 2 for Previous, 3 to Cancel or 4 to Redisplay [1] 1


Checking for Server Prerequisites ...

Do you want to enable role separation for auditing procedures?

[ ] 1 - Yes
[X] 2 - No

To select an item enter its number, or 0 when you are finished: [0] 0


If you enable role separation, you can assign existing groups of users to
specific roles.

If you do not enable role separation, the database server administrator
performs all administration tasks.

Press 1 for Next, 2 for Previous, 3 to Cancel or 4 to Redisplay [1] 1

Do you want to create an IDS demonstration database server instance?

[ ] 1 - Yes
[X] 2 - No

To select an item enter its number, or 0 when you are finished: [0] 0


You can use a demonstration database server instance to verify that IDS is
installed correctly and that the hardware is configured correctly. You can also
configure the demonstration database server instance to use it as a production
instance.

Press 1 for Next, 2 for Previous, 3 to Cancel or 4 to Redisplay [1] 1

IBM Informix Dynamic Server Version 11.50 Bundle will be installed in the
following location:

/opt/informix

with the following features:

IBM Informix Client-SDK Version 3.50
IBM Informix Dynamic Server Version 11.50
IBM Informix JDBC Driver Version 3.50

for a total size:

390.7 MB

Press 1 for Next, 2 for Previous, 3 to Cancel or 4 to Redisplay [1]

Installing IBM Informix Client-SDK Version 3.50. Please wait...

0 % complete
10 % complete
20 % complete
30 % complete
40 % complete
50 % complete
60 % complete
70 % complete
80 % complete
90 % complete
100 % complete


Creating uninstaller...


Installing IBM Informix Dynamic Server Version 11.50. Please wait...


Creating uninstaller...


Installing IBM Informix JDBC Driver Version 3.50. Please wait...


Creating uninstaller...


Performing GSKit Installation ...
Performing GSKit installation for Linux ...


Branding Installed Files ...


Branding Files ...
Installing directory .
Installing directory etc
Installing directory bin
Installing directory lib
Installing directory lib/client
Installing directory lib/client/csm
Installing directory lib/esql
Installing directory lib/dmi
Installing directory lib/c++
Installing directory lib/cli
Installing directory release
Installing directory release/en_us
Installing directory release/en_us/0333
Installing directory incl
Installing directory incl/esql
Installing directory incl/dmi
Installing directory incl/c++
Installing directory incl/cli
Installing directory demo
Installing directory demo/esqlc
Installing directory demo/c++
Installing directory demo/cli
Installing directory doc
Installing directory doc/gls_api
Installing directory doc/gls_api/en_us
Installing directory doc/gls_api/en_us/0333
Installing directory tmp
Installing directory gsk
Installing directory gsk/client
Installing directory gskit
Installing directory gsk
Installing directory gsk/client

IBM Informix Product: IBM INFORMIX-Client SDK
Installation Directory: /opt/informix

Performing root portion of installation of IBM INFORMIX-Client SDK...


Installation of IBM INFORMIX-Client SDK complete.

Installing directory etc
Installing directory gls
Installing directory gls/cm3
Installing directory gls/cv9
Installing directory gls/dll
Installing directory gls/etc
Installing directory gls/lc11
Installing directory gls/lc11/cs_cz
Installing directory gls/lc11/da_dk
Installing directory gls/lc11/de_at
Installing directory gls/lc11/de_ch
Installing directory gls/lc11/de_de
Installing directory gls/lc11/en_au
Installing directory gls/lc11/en_gb
Installing directory gls/lc11/en_us
Installing directory gls/lc11/es_es
Installing directory gls/lc11/fi_fi
Installing directory gls/lc11/fr_be
Installing directory gls/lc11/fr_ca
Installing directory gls/lc11/fr_ch
Installing directory gls/lc11/fr_fr
Installing directory gls/lc11/is_is
Installing directory gls/lc11/it_it
Installing directory gls/lc11/ja_jp
Installing directory gls/lc11/ko_kr
Installing directory gls/lc11/nl_be
Installing directory gls/lc11/nl_nl
Installing directory gls/lc11/no_no
Installing directory gls/lc11/os
Installing directory gls/lc11/pl_pl
Installing directory gls/lc11/pt_br
Installing directory gls/lc11/pt_pt
Installing directory gls/lc11/ru_ru
Installing directory gls/lc11/sk_sk
Installing directory gls/lc11/sv_se
Installing directory gls/lc11/th_th
Installing directory gls/lc11/zh_cn
Installing directory gls/lc11/zh_tw

IBM Informix Product: Gls
Installation Directory: /opt/informix

Performing root portion of installation of Gls...


Installation of Gls complete.

Installing directory etc
Installing directory msg
Installing directory msg/en_us
Installing directory msg/en_us/0333

IBM Informix Product: messages
Installation Directory: /opt/informix

Performing root portion of installation of messages...


Installation of messages complete.


Please read the information below.

Set required environment variables
Set $INFORMIXDIR to the directory where the IDS server is installed.
Set $PATH to include $INFORMIXDIR/bin
Set $INFORMIXSERVER to the name of the database server
Set $ONCONFIG to the name of the active onconfig configuration file.
If using a sqlhosts file other than $INFORMIXDIR/etc/sqlhosts
Set $INFORMIXSQLHOSTS
If using a locale/language other than the default
Set $CLIENT_LOCALE
Set $DB_LOCALE
Set $SERVER_LOCALE
Set $DBLANG
Prepare connectivity files
sqlhosts
/etc/hosts
/etc/services
Prepare configuration file
Set DBSERVERNAME
Set SERVERNUM
Set ROOTNAME

Press ENTER to read the text [Type q to quit]

Set ROOTPATH
Set ROOTSIZE
Initialize database server
As informix or root, run oninit
If initializing a new server for the FIRST time, run oninit -i
This will overwrite any existing data, so use caution on an existing setup


For more information please refer to the IBM Informix Dynamic Server Getting
Started Guide

Press 1 for Next, 3 to Cancel or 4 to Redisplay [1] 1

The InstallShield Wizard has successfully installed IBM Informix Dynamic Server
Version 11.50 Bundle. Choose Next to continue the wizard.

Press 1 for Next, 3 to Cancel or 4 to Redisplay [1] 1

1. Release Notes
2. Express Quick Beginnings Guide
3. Launch Information Center
4. Finish Installation

Please select one of these options [4] 4

Finishing installation...


Press 3 to Finish or 4 to Redisplay [3] 3


That is all there is to it. The next step is to configure database connectivity stuff and initialize the engine.

2 comments:

  1. Great Explanation. Thank You very much , very useful to me. I recently started to work on Informix, and this is very useful. Thanks

    ReplyDelete
  2. Any idea where you can download the old Informix 11.50 install files for Linux x64? They are no longer available on IBM's website. : /

    ReplyDelete