1、 准备工作
1.1、 准备 informix 的组和用户
创建 informix 组和用户并设置密码
groupadd informix
useradd -g informix informix
passwd informix
1.2、 准备 JAVA 环境
将 JDK 拷贝到 /usr/local 下并安装
cp jdk-1_5_0_04-linux-i586.bin /usr/local
cd /usr/local
./jdk-1_5_0_04-linux-i586.bin
在 /usr/bin 下创建 java 的链接,或者直接设置 JAVA_HOME 变量
cd /usr/bin
ln –s /usr/local/ jdk1.5.0_04/bin/java java
export JAVA_HOME=/usr/local/jdk1.5.0_04
1.3、 准备安装时的环境变量
添加 INFORMIXDIR 环境变量
export INFORMIXDIR=/home/informix
2、 安装
2.1、 解压
将安装包解压缩后执行安装程序
tar xvf ./informix-linux.tar –C ./inform
..
......
....
........
......
1.1、 修改 informix 运行时的环境变量
修改 informix 用户的环境变量
vi /home/informix/.bash_profile
PATH=$PATH:$HOME/bin
INFORMIXDIR=/home/informix
INFORMIXTMP=/home/informix/tmp
INFORMIXSERVER=testsvr
ONCONFIG=onconfig
TERMCAP=$HOME/etc/termcap
export PATH INFORMIXDIR INFORMIXTMP INFORMIXSERVER ONCONFIG TERMCAP
1.2、 修改配置文件
拷贝 etc 下的 onconfig.std 和 sqlhosts.std 为环境变量中所设置的名称
cd /home/informix/etc
cp onconfig.std onconfig
cp sqlhosts.std sqlhosts
1.3、 修改操作系统的配置
使用 root 用户修改 /etc/services 文件,增加 informix 服务
# Local services
informix 60000/tcp # Informix Server
1.4、 修改 informix 配置文件
使用 informix 用户修改 sqlhost 和 onconfig 文件
vi /home/informix/etc/sqlhosts
#ServerName Connect Hostname ServicesName( 对应 /etc/services 中 )
testsvr onsoctcp localhost informix
vi /home/informix/etc/onconfig
DBSERVERNAME testsvr
TAPEDEV /dev/null # Tape device path
LTAPEDEV /dev/null # Log tape device path
将默认 /usr/informix/ 替换为 /home/informix/
vi 命令 1,$ s/\/usr\/informix\//\/home\/informix\//g
1.5、 修改 informix 的 tmp 目录属性
修改 /home/informix/tmp 的属性
chmod o-r /home/informix/tmp
chmod o-x /home/informix/tmp
1.1.1、 创建存储文件
创建一个存放数据库文件的目录 /home/informix/dbspaces
mkdir /home/informix/dbspaces
建立 rootdbs 的存储文件 /home/informix/dbspaces/rootdbs ( 空文件 )
cat /dev/null > /home/informix/dbspaces/rootdbs
修改所属和权限
chown informix:informix /home/informix/dbspaces/rootdbs
chmod 660 /home/informix/dbspaces/rootdbs
1.1.2、 修改 onconfig 文件
修改 onconfig 文件中的 rootdbs 位置和大小
vi /home/informix/etc/onconfig
ROOTPATH /home/informix/dbspaces/rootdbs
ROOTOFFSET 0
ROOTSIZE 1048576 #1G 1024*1024-OFFSET= 1048576
1.2、 第一次启动初始化 informix 数据库
启动并初始化 Informix Server
alias oninitfirst=”oninit -iv”
oninitfirst
This action will initialize IBM Informix Dynamic Server;
any existing IBM Informix Dynamic Server databases will NOT be accessible -
Do you wish to continue (y/n)? y
Checking group membership to determine server run mode…succeeded
Reading configuration file ‘/home/informix/etc/onconfig’…succeeded
Creating /INFORMIXTMP/.infxdirs…succeeded
Creating infos file "/home/informix/etc/.infos.testsvr"…succeeded
Linking conf file "/home/informix/etc/.conf.testsvr"…succeeded
Writing to infos file…succeeded
Checking config parameters…Invalid value of DUMPDIR ‘/usr/informix/tmp’ in onconfig file. Setting it to default value
‘/home/informix/tmp’…succeeded
13:50:32 IBM Informix Dynamic Server Started.
Allocating and attaching to shared memory…succeeded
Creating resident pool 866 kbytes…succeeded
Allocating 18384 kbytes for buffer pool of 2K page size…succeeded
Initializing rhead structure…succeeded
Thu Dec 10 13:50:32 2009
13:50:32 Event alarms enabled. ALARMPROG = ‘/usr/informix/etc/alarmprogram.sh’
Initializing ASF…succeeded
Initializing Dictionary Cache and SPL Routine Cache…13:50:32 Booting Language <c> from module <>
13:50:32 Loading Module <CNULL>
13:50:32 Booting Language <builtin> from module <>
13:50:32 Loading Module <BUILTINNULL>
succeeded
Bringing up ADM VP…succeeded
Creating VP classes…succeeded
Onlining 0 additional cpu vps…succeeded
Onlining 2 IO vps…succeeded
Initialization of Encryption…succeeded
Forking main_loop thread…succeeded
Initializing DR structures…13:50:37 DR: DRAUTO is 0 (Off)
succeeded
Forking 1 ‘soctcp’ listener threads…13:50:37 Dynamically allocated new virtual shared memory segment (size 8192KB)
succeeded
13:50:37 IBM Informix Dynamic Server Version 10.00.UC3R1 Software Serial Number AAA#B000000
Starting tracing…succeeded
Initializing 1 flushers…succeeded
Initializing log/checkpoint information…succeeded
Opening primary chunks…succeeded
Opening mirror chunks…succeeded
Initializing dbspaces…succeeded
Validating chunks…succeeded
Creating database partition…succeeded
Initialize Async Log Flusher…succeeded
13:50:39 IBM Informix Dynamic Server Initialized — Complete Disk Initialized.
Forking btree cleaner…succeeded
Initializing DBSPACETEMP list…succeeded
Checking database partition index…succeeded
13:50:39 Checkpoint Completed: duration was 0 seconds.
13:50:39 Checkpoint loguniq 1, logpos 0xd0, timestamp: 0x4f
13:50:39 Maximum server connections 0
Checking location of physical log…succeeded
Initializing dataskip structure…13:50:39 Dataskip is now OFF for all dbspaces
succeeded
Checking for temporary tables to drop…succeeded
Forking onmode_mon thread…succeeded
Verbose output complete: mode = 5
13:50:39 On-Line Mode
13:50:39 Building ‘sysmaster’ database …
[informix@localhost ~]$ 13:50:40 Booting Language <spl> from module <>
13:50:40 Loading Module <SPLNULL>
13:50:40 Unloading Module <SPLNULL>
13:50:40 Logical Log 2 Complete, timestamp: 0x93ba.
13:50:40 Process exited with return code 127: /bin/sh /bin/sh -c /usr/informix/etc/alarmprogram.sh 2 23 "Logical Log 2 Complete, timestamp: 0x93ba." "Logical Log 2 Com
13:50:41 Loading Module <SPLNULL>
13:50:42 ‘sysmaster’ database built successfully.
13:50:42 ‘sysutils’ database built successfully.
13:50:42 ‘sysuser’ database built successfully.
13:50:42 Logical Log 3 Complete, timestamp: 0xe915.
13:50:42 Process exited with return code 127: /bin/sh /bin/sh -c /usr/informix/etc/alarmprogram.sh 2 23 "Logical Log 3 Complete, timestamp: 0xe915." "Logical Log 3 Com
IBM Informix Dynamic Server for Redhat Enterprise Linux安装示例(8)
1.1、 调整默认的 DBSpaces 到独立的 RAW 设备
建立其余 DBSpace 的 chunk
-s size 的数值计算方法: dbs 所在的 raw 设备 LV 的大小( KB )减去 -o offset 的值
onspaces -c -d phydbs -p /home/informix/dbspaces/phydbschunks -o 100 -s 1048476
onspaces -c -d logdbs -p /home/informix/dbspaces/logdbschunks -o 100 -s 524188
onspaces -c -t -d tmpdbs -p /home/informix/dbspaces/tmpdbschunks -o 100 -s 524188
onspaces -c -d idxdbs -p /home/informix/dbspaces/idxdbschunks -o 100 -s 524188
onspaces -c -d datadbs -p /home/informix/dbspaces/datadbschunks -o 100 -s 1048476
1.2、 更改逻辑日志使用的存储空间
至少创建三个逻辑日志文件
onparams -a -d logdbs -s 15000
onparams -a -d logdbs -s 15000
onparams -a -d logdbs -s 15000
调整 informix 使用的 LOG 文件到新加入的逻辑日志文件上,再将检查点记录同步到逻辑日志文件
onmode -l
onmode -l
onmode -l
onmode -c
用循环添加 Log 到 logdbschunk 全部占用满。
while true; do onparams -a -d logdbs -s 15000; done;
在提示 DBSpace is full. 的时候,用 Ctrl-C 中断循环。
删除原 rootdbs 上的逻辑日志文件
onparams -d -l 1
onparams -d -l 2
onparams -d -l 3
注:
如果采用的是文件系统方式存储,那么在初始化 informix 数据库之前,可以通过修改 onconfig 文件中的逻辑日志相关配置来指定逻辑日志文件的大小和数量。
1.3、 调整物理日志的存储空间
onconfig 中的
# Physical Log Configuration
PHYSDBS rootdbs # Location (dbspace) of physical log
PHYSFILE 200000 # Physical log file size (Kbytes)
不能直接修改,需要在 quiescent 模式下使用 onparams -p -s pagesize -d dbspace 命令来调整。
pagesize 大小为 LV 大小( KB )减去 offset 值,即采用 onspaces 创建的 phydbs 的大小。
onmode -sy
onparams -p -s 1048476 -d phydbs
2、 特别说明
informix 的 oninit 必须是 root:informix 权限为 6754 ,否则 oninit 无法启动或者启动后用 dbaccess 连接测试会报告 informix 用户密码错误。