Linux下安装informix11.5数据库

时间:2022-12-20 15:34:43

原文地址:http://blog.sina.com.cn/s/blog_66b6922b0100nvw6.html


研究了好几天了,终于装上了,下面我就来给大家分享一下我安装informix数据库的过程吧。

Linux下安装informix数据库

1.准备安装文件

a)        IBM官方网站下载informix安装包11.5IDS11.5)。(我已将安装包放到公司32.2上)。

b)        IDS11.5拷贝到linux系统下。

2.配置Java环境

a)        linux下安装jdk,安装informix需要用GUI图形安装,必须用root用户安装JDK

b)        安装完jdk后,设置环境变量。

                        i.              root用户修改文件.bash_profile。增加如下代码:

export  JAVA_HOME=/root/jdk 1.6.0_18      
export  CLASSPATH=$CLASSPATH/JAVA_HOME/lib/JAVA_HOME/jre/lib   
export  PATH=$JAVA_HOME/bin/JAVA_HOME/jre/bin/PATH/HOMR/bin

3.配置informix环境

a)        root用户新建informix组和informix用户

                        i.              建立informix组:#groupadd -g 20000 informix

                      ii.              建立informix用户并设置密码:

#useradd -u 20000 -g 20000 -d  /opt/Informix  -m  Informix

# passwd Informix

# Changing password for user informix.

New password:                   //输入informix

BAD PASSWORD: it is based on a dictionary word

Retype new password:            //再次输入informix

passwd: all authentication tokens updated successfully.

                    iii.              修改informix用户环境变量

informix用户登录,修改/opt/Informix/.bash_profile,增加如下内容:

export INFORMIXDIR=/opt/informix
PATH=$INFORMIXDIR/bin:$PATH
export PATH
export INFORMIXSERVER=tramsserver
export ONCONFIG=onconfig.tramsserver
export CLIENT_LOCALE=zh_CN.gb
export DB_LOCALE=zh_CN.gb
export SERVER_LOCALE=zh_CN.gb
export DBLANG=en_us
export INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts
export INFORMIXTERM=$INFORMIXDIR/etc/termcap
LD_LIBRARY_PATH=$INFORMIXDIR/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
export TERMCAP=$INFORMIXDIR/etc/termcap
export INFORMIXTERM=TERMCAP

 

4.安装数据库

a)        root用户解压IDS11.5压缩包。执行./ids_install,弹出安装界面,在选择安装路径时,要与新建用户是选择的用户所属目录一直,如红色标识(/opt/Informix

5.Informix环境变量设置

   新建etc/onconfig.tramsserver文件,根据$INFORMIXDIR/etc/onconfig.std模板进行,内

容如下:

 

$cd

$cd etc

$cp onconfig.std onconfig.tramsserver

$vi onconfig.tramsserver

# Root数据库空间配置

ROOTNAME   rootdbs              # Root数据库空间名

ROOTPATH    /opt/informix/data/rootdbs # Root数据库空间路径

ROOTOFFSET     100              # 偏移量(Kbytes)

ROOTSIZE        30000          # 空间大小(Kbytes)

# Disk Mirroring Configuration Parameters

MIRROR          0               # Mirroring flag (Yes = 1, No = 0)

MIRRORPATH                  # Path for device containing mirrored root

MIRROROFFSET    0               # Offset into mirrored device (Kbytes)

# Physical Log Configuration

PHYSDBS         rootdbs         # Location (dbspace) of physical log

PHYSFILE        2000            # Physical log file size (Kbytes)

# Logical Log Configuration

LOGFILES        6                # Number of logical log files

LOGSIZE         2000            # Logical log size (Kbytes)

LOG_BACKUP_MODE MANUAL # Logical log backup mode (MANUAL, CONT)

# Tablespace Tablespace Configuration in Root Dbspace

TBLTBLFIRST     0               # First extent size (Kbytes) (0 = default)

TBLTBLNEXT      0           # Next extent size (Kbytes) (0 = default)

# Security

# DBCREATE_PERMISSION:

# By default any user can create a database. Uncomment DBCREATE_PERMISSON to

# limit database creation to a specific user. Add a new DBCREATE_PERMISSION

# line for each permitted user.

#DBCREATE_PERMISSION    informix

# DB_LIBRARY_PATH:

# When loading a (C or C++) shared object (for a UDR or UDT), IDS checks that

# the user-specified path starts with one of the directory prefixes listed in

# the comma-separated list of prefixes in DB_LIBRARY_PATH. The string

# "$INFORMIXDIR/extend" must be included in DB_LIBRARY_PATH in order for

# extensibility and IBM supplied blades to work correctly.

# DB_LIBRARY_PATH $INFORMIXDIR/extend

# IFX_EXTEND_ROLE:

# 0 (or off) => Disable use of EXTEND role to control who can register

#               external routines.

# 1 (or on) => Enable use of EXTEND role to control who can register

#               external routines. This is the default behaviour.

#

IFX_EXTEND_ROLE 1# To control the usage of EXTEND role.

# Diagnostics

MSGPATH    /opt/informix/log/online.log  #系统日志文件路径

CONSOLE   /dev/console    # System console message path

# To automatically backup logical logs, edit alarmprogram.sh and set

# BACKUPLOGS=Y

ALARMPROGRAM    / opt /informix/etc/alarmprogram.sh #警告程序路径

ALRM_ALL_EVENTS 0      # Triggers ALARMPROGRAM for any event occur

TBLSPACE_STATS 1      # Maintain tblspace statistics

# System Archive Tape Device

TAPEDEV         /dev/null       # Tape device path

TAPEBLK         32              # Tape block size (Kbytes)

TAPESIZE     10240   # Maximum amount of data to put on tape (Kbytes)

 

# Log Archive Tape Device

LTAPEDEV        /dev/null       # Log tape device path

LTAPEBLK        32              # Log tape block size (Kbytes)

LTAPESIZE       10240 # Max amount of data to put on log tape (Kbytes)

# Optical

STAGEBLOB                       # Informix Dynamic Server staging area

# System Configuration

SERVERNUM       0     # Unique id corresponding to a OnLine instance

DBSERVERNAME   cmsserver       #默认的数据库名称database name

DBSERVERALIASES                 # List of alternate dbservernames

#NETTYPE                          # Configure poll thread(s) for nettype

DEADLOCK_TIMEOUT   60    # Max time to wait of lock in distributed env.

RESIDENT        0          # Forced residency flag (Yes = 1, No = 0)

MULTIPROCESSOR 0         # 0 for single-processor, 1 for multi-processor

NUMCPUVPS       1         # Number of user (cpu) vps

SINGLE_CPU_VP   0         # If non-zero, limit number of cpu vps to one

NOAGE           0               # Process aging

AFF_SPROC       0               # Affinity start processor

AFF_NPROCS      0               # Affinity number of processors

# Shared Memory Parameters

LOCKS           200000          # 最大锁数量

NUMAIOVPS                       # Number of IO vps

PHYSBUFF        32              # Physical log buffer size (Kbytes)

LOGBUFF         32              # Logical log buffer size (Kbytes)

CLEANERS        1               # Number of buffer cleaner processes

SHMBASE         0x44000000    # Shared memory base address

SHMVIRTSIZE     8192      # initial virtual shared memory segment size

SHMADD          8192 # Size of new shared memory segments (Kbytes)

EXTSHMADD    8192 # Size of new extension shared memory segments (

Kbytes)

SHMTOTAL        0      # Total shared memory (Kbytes). 0=>unlimited

CKPTINTVL       300             # Check point interval (in sec)

TXTIMEOUT       0x12c           # Transaction timeout (in sec)

STACKSIZE       32              # Stack size (Kbytes)

# Dynamic Logging

# DYNAMIC_LOGS:

#    2 : server automatically add a new logical log when necessary. (ON)

#    1 : notify DBA to add new logical logs when necessary. (ON)

#    0 : cannot add logical log on the fly. (OFF)

# When dynamic logging is on, we can have higher values for LTXHWM/LTXEHWM,

# because the server can add new logical logs during long transaction rollback.

# However, to limit the number of new logical logs being added, LTXHWM/LTXEHWM

# can be set to smaller values.

#

# If dynamic logging is off, LTXHWM/LTXEHWM need to be set to smaller values

# to avoid long transaction rollback hanging the server due to lack of logical

# log space, i.e. 50/60 or lower.

#

# In case of system configured with CDR, the difference between LTXHWM and

# LTXEHWM should be atleast 30% so that we could minimize log overrun issue.

 

DYNAMIC_LOGS    2

LTXHWM          70

LTXEHWM         80

 

# System Page Size

# BUFFSIZE - OnLine no longer supports this configuration parameter.

#            To determine the page size used by OnLine on your platform

#            see the last line of output from the command, 'onstat -b'.

 

# Recovery Variables

# OFF_RECVRY_THREADS:

# Number of parallel worker threads during fast recovery or an offline restore.

# ON_RECVRY_THREADS:

# Number of parallel worker threads during an online restore.

OFF_RECVRY_THREADS   10 # Default number of offline worker threads

ON_RECVRY_THREADS    1   # Default number of online worker threads

# Data Replication Variables

# DRAUTO: 0 manual, 1 retain type, 2 reverse type

DRAUTO          0               # DR automatic switchover

DRINTERVAL      30    # DR max time between DR buffer flushes (in sec)

DRTIMEOUT       30              # DR network timeout (in sec)

DRLOSTFOUND  / opt /informix/etc/dr.lostfound # DR lost+found file path

DRIDXAUTO       0             # DR automatic index repair. 0=off, 1=on

# CDR Variables

CDR_EVALTHREADS 1,2     # evaluator threads (per-cpu-vp,additional)

CDR_DSLOCKWAIT 5       # DS lockwait timeout (seconds)

CDR_QUEUEMEM    4096    # Maximum amount of memory for any CDR queue (Kbytes)

CDR_NIFCOMPRESS 0 # Link level compression (-1 never, 0 none, 9 max)

CDR_SERIAL        0,0       # Serial Column Sequence

CDR_DBSPACE           # dbspace for syscdr database

CDR_QHDR_DBSPACE    # CDR queue dbspace (default same as catalog)

CDR_QDATA_SBSPACE   # List of CDR queue smart blob spaces

# CDR_MAX_DYNAMIC_LOGS

# -1 => unlimited

# 0 => disable dynamic log addition

# >0 => limit the no. of dynamic log additions with the specified value.

# Max dynamic log requests that CDR can make within one server session.

 

CDR_MAX_DYNAMIC_LOGS    0 # Dynamic log addition disabled by default

 

# Backup/Restore variables

BAR_ACT_LOG   / opt /informix/bar_act.log # ON-Bar Log file - not in /tmp please

BAR_DEBUG_LOG / opt /informix/bar_dbug.log # ON-Bar Debug Log - not in /tmp please

BAR_MAX_BACKUP 0

BAR_RETRY       1

BAR_NB_XPORT_COUNT 20

BAR_XFER_BUF_SIZE 31

RESTARTABLE_RESTORE     ON

BAR_PROGRESS_FREQ       0

 

# Informix Storage Manager variables

ISM_DATA_POOL   ISMData

ISM_LOG_POOL    ISMLogs

 

# Read Ahead Variables

RA_PAGES                   # Number of pages to attempt to read ahead

RA_THRESHOLD             # Number of pages left before next group

 

# DBSPACETEMP:

# OnLine equivalent of DBTEMP for SE. This is the list of dbspaces

# that the OnLine SQL Engine will use to create temp tables etc.

# If specified it must be a colon separated list of dbspaces that exist

# when the OnLine system is brought online. If not specified, or if

# all dbspaces specified are invalid, various ad hoc queries will create

# temporary files in /tmp instead.

 

DBSPACETEMP     tmpdbs          # Default temp dbspaces

 

# DUMP*:

# The following parameters control the type of diagnostics information which

# is preserved when an unanticipated error condition (assertion failure) occurs

# during OnLine operations.

# For DUMPSHMEM, DUMPGCORE and DUMPCORE 1 means Yes, 0 means No.

 

DUMPDIR         / opt /informix/tmp   # Preserve diagnostics in this directory

DUMPSHMEM       1               # Dump a copy of shared memory

DUMPGCORE       0               # Dump a core image using 'gcore'

DUMPCORE        0   # Dump a core image (Warning:this aborts OnLine)

DUMPCNT         1      # Number of shared memory or gcore dumps for

                           # a single user's session

FILLFACTOR      90      # Fill factor for building indexes

# method for OnLine to use when determining current time

USEOSTIME   0    # 0: use internal time(fast), 1: get time from OS(slow)

 

# Parallel Database Queries (pdq)

MAX_PDQPRIORITY 100    # Maximum allowed pdqpriority

DS_MAX_QUERIES       # Maximum number of decision support queries

DS_TOTAL_MEMORY        # Decision support memory (Kbytes)

DS_MAX_SCANS 1048576   # Maximum number of decision support scans

DS_NONPDQ_QUERY_MEM -1 # Non PDQ query memory (Kbytes)

DATASKIP        off    # List of dbspaces to skip

 

# OPTCOMPIND

# 0 => Nested loop joins will be preferred (where

#      possible) over sortmerge joins and hash joins.

# 1 => If the transaction isolation mode is not

#      "repeatable read", optimizer behaves as in (2)

#      below. Otherwise it behaves as in (0) above.

# 2 => Use costs regardless of the transaction isolation

#      mode. Nested loop joins are not necessarily

#      preferred. Optimizer bases its decision purely

#      on costs.

OPTCOMPIND      2    # To hint the optimizer

DIRECTIVES      1    # Optimizer DIRECTIVES ON (1/Default) or OFF (0)

ONDBSPACEDOWN   2   # Dbspace down option: 0 = CONTINUE, 1 = ABORT, 2 = WAIT

OPCACHEMAX      0    # Maximum optical cache size (Kbytes)

# HETERO_COMMIT (Gateway participation in distributed transactions)

# 1 => Heterogeneous Commit is enabled

# 0 (or any other value) => Heterogeneous Commit is disabled

HETERO_COMMIT   0

SBSPACENAME      # Default smartblob space name - this is where blobs

                       # go if no sbspace is specified when the smartblob is

                       # created. It is also used by some datablades as

                       # the location to put their smartblobs.

SYSSBSPACENAME    # Default smartblob space for use by the Informix

                       # Server. This is used primarily for Informix Server

                       # system statistics collection.

BLOCKTIMEOUT    3600            # Default timeout for system block

SYSALARMPROGRAM / opt /informix/etc/evidence.sh # System Alarm program path

# Optimization goal: -1 = ALL_ROWS(Default), 0 = FIRST_ROWS

OPT_GOAL        -1

ALLOW_NEWLINE   0   # embedded newlines(Yes = 1, No = 0 or anything

but 1)

#Create Index Online Shared Memory usage limitation

ONLIDX_MAXMEM   5120            # Per pool per index (Kbytes)

#Timeout for client connection request

LISTEN_TIMEOUT 10              # Timeout (in Seconds)

#Following are the deprecated configuration parameters, instead of these

#use BUFFERPOOL configuration parameter

#BUFFERS, LRUS, LRU_MIN_DIRTY, LRU_MAX_DIRTY

IFX_FOLDVIEW    0       # fold multiple tables or union all view with ansi joins

#

# The following are default settings for enabling Java in the database.

# Replace all occurrences of /usr/informix with the value of $INFORMIXDIR.

#VPCLASS        jvp,num=1       # Number of JVPs to start with

JVPJAVAHOME    / opt /informix/extend/krakatoa/jre # JRE installation root dire

ctory

JVPHOME         / opt /informix/extend/krakatoa # Krakatoa installation directory

JVPPROPFILE     / opt /informix/extend/krakatoa/.jvpprops # JVP property file

JVPLOGFILE      / opt /informix/jvp.log  # JVP log file.

JDKVERSION    1.3              # JDK version supported by this server

# The path to the JRE libraries relative to JVPJAVAHOME

JVPJAVALIB    /bin

# The JRE libraries to use for the Java VM

JVPJAVAVM     jsig:hpi:jvm:java:net:zip:jpeg

# use JVPARGS to change Java VM configuration

#To display jni call

#JVPARGS        -verbose:jni

 

# Classpath to use upon Java VM start-up (use _g version for debugging)

 

#JVPCLASSPATH /usr/informix/extend/krakatoa/krakatoa_g.jar:/usr/informix/extend/kra

katoa/jdbc_g.jar

JVPCLASSPATH / opt /informix/extend/krakatoa/krakatoa.jar:/usr/informix/extend/krakat

oa/jdbc.jar

 

# The following parameters are related to the buffer pool

#BUFFERPOOL      default,buffers=1000,lrus=8,lru_min_dirty=50,lru_max_dirty=60

BUFFERPOOL      size=2k,buffers=5000,lrus=8,lru_min_dirty=50,lru_max_dirty=60

 

注意以上红色部分,修改正确的informix安装路径,并在$INFORMIXDIR目录下新建datalog两个目录

D.     touch数据库空间文件,并注意修改为660模式

 

$cd

$mkdir data

$mkdir log

$cd data

$touch rootdbs

$chmod 660 rootdbs

$cd ../tmp

$touch tmpdbs

$chmod 660 tmpdbs

 

E.      新建etc/sqlhosts文件,根据sqlhosts.std模板进行修改,内容如下:

 

tramsserver     onsoctcp localhost sqlexec

 

其中sqlexec需要在/etc/services中定义

 

# Local services

sqlexec         9088/tcp

 

 

6.Informix数据库初始化

a)        使用informix登录

b)        执行onmonitor

$onmonitor

Dynamic Server:   Status Parameters Dbspaces Mode Force-Ckpt ...

Status menu to view Dynamic Server.

-----------------------------Off-Line------- Press CTRL-W for Help. --------

c)        选择Parameters,再选择Initialize执行初始化,默认读取的就是上一节中的onconfig.cmsserver中的配置,可以一直按ESC继续





其中在Non PDQ Query Memory处修改为空

d)       确认安装,输入y

 

Do you really want to continue? (y/n)

 

WARNING: The ROOT DBspace will be initialized.

All previous data will be destroyed.

 

e)         等到处理完毕,直接回车

 

Initializing, please wait ...

Press Return to continue.

 

f)         安装完成,执行oninit测试是否成功启动,执行onmode –ky是否成功关闭

 

$oninit

$onmode -ky

 

g)        可以在$INFORMIXDIR/log/online.log中看到启动关闭日志

 

19:11:40 'sysmaster' database built successfully.

19:11:40 'sysutils' database built successfully.

19:11:40 'sysuser' database built successfully.

……

19:12:01 Maximum server connections 1

19:12:02 IBM Informix Dynamic Server Stopped.

 

 

h)        安装完成