1、
建立informix组和informix用户,用户目录设为 /usr/Informix ,操作如下:
useradd informix
passwd informix
设置密码,这里设密6288码为informix
groupadd informix
mkdir /usr/informix
usermod –d /usr/informix –G informix informix
创建informix用户和组完成
超级用户下把安装文件夹(文件夹名为online)拷入informix目录
文件夹内容包括:ONLINE.TAR
切换至/usr/informix目录下解压文件
tar xvf /usr/informix/ONLINE.TAR
设置环境变量INFORMIXDIR
# INFORMIXDIR=/usr/Informix
# export INFORMIXDIR
安装运行 ./installonline
提示输入return to contine
输入序列号:AAC#J375013
KEY:DHNHIT
安装完成
2、 配置INFORMIX
informix用户登陆,设置环境变量
$ vi /usr/Informix/.profile
INFORMIXDIR=/usr/informix
INFORMIXSERVER=scosysv
INFORMIXSERVERALIAS=scosysv
DBDATE=y4md/
PATH=$PATH:$HOME/bin:$INFORMIXDIR/bin
export INFORMIXDIR INFORMIXSERVER INFORMIXSERVERALIAS DBDATE PATH
3、
配置文件的默认路径和名称为$INFORMIXDIR/etc/sqlhosts。
该文件的第一个字段包含了配置参数的DBSERVERNAME的值,该值只能有一个。
对于dbservername nettype hostname servicename
各字段的含义为;
* dbservername onconfig文件中的DBSERVERNAME的值
* nettype 对于共享内存连接应设为onipcshm
对于tli tcp/ip连接应设为ontlitcp
对于scokets tcp/ip连接应设为onsoctcp
* hostname 机器的主机名
* servicename 文件/etc/services中的服务名,
对于采用共享内存方式连接的无用
我的设置如下:
# dbservername nettype hostname servicename
scosysv ontlitcp scosysv scosysv
scosysv onipcshm scosysv scosysv
# vi /etc/services
最后添一条ifx_service 23451/tcp
4、配置核心参数
(1)、共享内存配置
# vi /etc/conf/cf.d/mtune (UNIX默认核心参数)
# vi /etc/conf/cf.d/stune 修改其中值,即可替代mtune中设置的默认值
参数设置参考以下文档:
# more /usr/Informix/release/en_us/0333/ONLINE_7.2
注意事项:
#vi mtune
{此文件格式如下:
... *Shared Memory Parameters
SHMMAX 1048576 131072 80530637
SHMMIN 1 1 1
其中:第一列为UNIX系统参数名,第二列为参数当前值,第三列为参数最小值,第四列为参数最大值。}
然后根据上面记录下来的数据依此检查每个参数,如果:
Ⅰ、A. 所记录的系统参数名存在;
B. 所记录的系统参数值在最小值和最大值之间
则用记录下来的参数值取代此参数的当前值。
Ⅱ. 如果所记录的参数的值大于最大值,则修改此参数的当前值为最大值。
Ⅲ. 如果所记录的参数值小于最小值,则不修改此参数值。
(2)、重新连接核心,使新的核心参数生效
依次执行命令:
#cd /etc/conf/cf.d
#./link_unix
系统提示:
Do you want this kernel to boot by default?(y/n) 输入:y
Do you want the kernel environment rebuilt?(y/n) 输入:y
#reboot
5、准备数据库空间dbspace
(1)、通常采用的方式是Raw Device,也称“裸设备”,就是在安装Unix磁盘时,用divvy命令在磁盘分区中建立一块Non FS分区,对此分区的大小预先要估算好。Online系统对“裸设备”的管理比Unix文件系统的管理效率高很多。
在为系统准备磁盘空间时,必须首先设立正确的权限,并且建议为原始设备建立连接,并且每个chunk不得大于2G。
# divvy –m /dev/rhd02
我的配置如下:
+-------------------+------------+--------+---+-------------+------------+
| Name | Type | New FS | # | First Block | Last Block |
+-------------------+------------+--------+---+-------------+------------+
| dbspace00 | EAFS | no | 0 | 0| 1999999|
| dbspace01 | NON FS | no | 1 | 2000000| 3999999|
| dbspace02 | NON FS | no | 2 | 4000000| 5999999|
| dbspace03 | NON FS | no | 3 | 6000000| 7999999|
| dbspace04 | NON FS | no | 4 | 8000000| 9999999|
| dbspace05 | NON FS | no | 5 | 10000000| 11999999|
| | NON FS | no | 6 | 12000000| 12002696|
| hd02 | WHOLE DISK | no | 7 | 0| 12002696|
+-------------------+------------+--------+---+-------------+------------+
# divvy -m /dev/rhd03
我的配置如下:
+-------------------+------------+--------+---+-------------+------------+
| Name | Type | New FS | # | First Block | Last Block |
+-------------------+------------+--------+---+-------------+------------+
| dbspace10 | NON FS | no | 0 | 0| 1999999|
| dbspace11 | NON FS | no | 1 | 2000000| 3999999|
| dbspace12 | NON FS | no | 2 | 4000000| 5999999|
| dbspace13 | NON FS | no | 3 | 6000000| 7999999|
| dbspace14 | NON FS | no | 4 | 8000000| 9746099|
| dbspace15 | NON FS | no | 5 | 10000000| 11695000|
| | NOT USED | no | 6 | -| -|
| d1037all | WHOLE DISK | no | 7 | 0| 11695823|
+-------------------+------------+--------+---+-------------+------------+
在/dev目录下,自动产生了rdbspace00 – rdbspace05 和 rdbspace10 – rdbspace15 的12个区。
# chown Informix:Informix rdbspace*
# chmod 660 rdbspace*
(2)、建立连接
# mkdir /dbspaces
# cd dbspaces
$ ln –s chunk00 /dev/rdbspace00 等
我的连接如下:
lrwxrwxrwx 1 root sys 15 Nov 14 09:44 chunk00 -> /dev/rdbspace00
lrwxrwxrwx 1 root sys 15 Nov 14 09:45 chunk01 -> /dev/rdbspace01
lrwxrwxrwx 1 root sys 15 Nov 14 09:45 chunk02 -> /dev/rdbspace02
lrwxrwxrwx 1 root sys 15 Nov 14 09:45 chunk03 -> /dev/rdbspace03
lrwxrwxrwx 1 root sys 15 Nov 14 09:45 chunk04 -> /dev/rdbspace04
lrwxrwxrwx 1 root sys 15 Nov 14 09:45 chunk10 -> /dev/rdbspace10
lrwxrwxrwx 1 root sys 15 Nov 14 09:46 chunk11 -> /dev/rdbspace11
lrwxrwxrwx 1 root sys 15 Nov 14 09:46 chunk12 -> /dev/rdbspace12
lrwxrwxrwx 1 root sys 15 Nov 14 09:46 chunk13 -> /dev/rdbspace13
lrwxrwxrwx 1 root sys 15 Nov 14 09:46 chunk14 -> /dev/rdbspace14
lrwxrwxrwx 1 root sys 15 Nov 14 09:43 rootdbs -> /dev/rdbspace05
lrwxrwxrwx 1 root sys 15 Nov 14 09:43 tempdbs -> /dev/rdbspace15
6、 数据库初始化
数据库初始化主要包括初始化磁盘空间和初始化共享内存区。
第一步首先是磁盘空间的初始化:
* 运行onmonitor---parameter--- Initialize
[第一屏]
INITIALIZATION:进行期望的改变并按ESC 键记录这一改变。
按中断键中止改变。按F2或CTRL-F获取显示字段级的帮助。
DISK PARAMETERS
Page Size [ 2] Kbytes Mirror [N]
Tape Dev. [/dev/null ]
Block Size [ 16] Kbytes Total Tape Size [ 10240] Kbytes
Log Tape Dev. [/dev/null ]
Block Size [ 16] Kbytes Total Tape Size [ 10240] Kbytes
Stage Blob [ ]
Root Name [rootdbs ] Root Size [ 2000000] Kbytes
Primary Path [/dbspaces/rootdbs ]
Root Offset [ 0] Kbytes
Mirror Path [ ]
Mirror Offset [ 0] Kbytes
Phy. Log Size [ 100000] Kbytes Log. Log Size [ 20000] Kbytes
Number of Logical Logs [ 20]
Do you wish Dynamic Server to handle mirroring? (y/n)
注解:
* 消息和磁带参数设置:
#系统归档磁带设备:
Tape Dev.Temp [/dev/null ] 磁带设备路径
Block Size [ 16] Kbytes 磁带块大小
Total Tape Size [10240] Kbytes 磁带最大容量
#日志归档磁带设备:
Log Tape Dev. [/dev/null ] 日志磁带设备路径
Block Size [ 16] Kbytes 日志磁带设备大小
Total Tape Size [10240] Kbytes 输出到磁带的最大数据量
Stage Blob [ ] INFORMIX的关机缓冲区
* ROOT初始化参数设置:
#root dbspace的配置:
Root Name [rootdbs ] root dbspace的名字
Root Size root dbspace的大小
Primary Path [/dbspaces/rootdbs ] root dbspace的设备路径
Root Offset [ 0] Kbytes root dbspace设备的偏移量
#磁盘镜像配置参数:
Mirror [ N ] 镜像标志(YES=1,NO=0)
Mirror Path [ ] 镜像root dbspace的设备路径
Mirror Offset [ 0] Kbytes 镜像root dbspace设备的偏移量
#物理日志配置:
Phy. Log Size [100000] Kbytes 物理日志文件大小
#逻辑日志配置:
Log. Log Size [20000] Kbytes 逻辑日志大小
Number of Logical Logs [ 20] 逻辑日志文件数量
消息和磁带参数设置中归档磁带设备:Tape Dev.temp、Log Tape Dev应根据具体磁带机的配置情况进行设置,在此将该字段设为 [/dev/null ];
ROOT 初始化参数设置中Primary Path 字段设为 [/dbspaces/rootdbs ],即指向根数据库空间的路径。一般在安装UNIX时,即为其预留出单独的某个分区(此处设分区名为rootdbs)。Root Size 即是分配给informix存放数据的空间大小,以Kbyte为单位。它的大小计算如下:
A.以root登陆,使用命令:
#divvy
B.记录下Name 为dbspace分区的First Block 和 Last Block
例:某dbspace空间的First Block值为:750001
Last Block值为:1253436
C.计算Root Size的值<=Last Block - First Block+1
所以,以上面的数据为例,Root Size<=1253436-750001+1
=503436
注意:Root Size的值应能被2整除。
对于物理日志与逻辑日志和的大小的确定有以下几个原则:
* Phy. Log Size(物理日志文件大小)= root size/20
* Log. Log Size (单个逻辑日志大小) = Phy. Log Size /2
* Number of Logical Logs [ 20] (逻辑日志文件数量)
修改完毕后按ESC键确认,如果参数配置有不合理之处,光标将停留在相应字段处。如果设置正确将进行下一步;
共享内存的初始化:
[第二屏]
SHARED MEMORY:进行期望的改变并按ESC 键记录这一改变。
按中断键中止改变。按F2或CTRL-F获取显示字段级的帮助。
SHARED MEMORY PARAMETERS
Server Number [ 8] Server Name [cld3300b_tcp ]
Server Aliases [cld3300b_shm ]
Dbspace Temp [tempdbs ]
Deadlock Timeout [ 60] Secs Number of Page Cleaners [ 1]
Forced Residency [N] Stack Size (K) [ 32]
Non Res. SegSize (K) [ 32768] Optical Cache Size (K) [ 0]
Dbspace Down Option [1]
Preserve Log For Log Backup [N]
Heterogeneous Commit [N] Transaction Timeout [ 300]
Physical Log Buffer Size [ 2048] K Long TX HWM [ 50]
Logical Log Buffer Size [ 2048] K Long TX HWM Exclusive [ 60]
Max # of Logical Logs [ 20] Index Page Fill Factor [ 90]
Max # of Locks [ 200000] Add SegSize (K) [ 8192]
Max # of Buffers [ 200000] Total Memory (K) [ 0]
Resident Shared Memory size [ 440686] Kbytes Page Size [ 2] Kbytes
Enter a unique value to be associated with this version of INFORMIX-OnLine.
注解:
* 系统参数配置:
Server Number [ 8] 每个服务器的唯一值
Server Name [cld3300b_tcp ] 数据库服务器主名
Server Aliases [cld3300b_tcp ] 数据库服务器别名
Dbspace Temp [cld3300b_tcp ] 临时数据库空间
Deadlock Timeout [ 60 ] 在分布环境下等待锁的最长时间
Forced Residency [ N ] 强制驻留标志
Stack Size (K) [ 32 ] 堆栈大小
Non Res. SegSize (K) [32768] 非驻留段大小
Transaction Timeout [ 300] 交易超时间隔
Physical Log Buffer Size [2048] K 物理日志缓冲区大小
Logical Log Buffer Size [2048] K 逻辑日志缓冲区大小
Max # of Logical Logs [ 20] 逻辑日志最大数
Max # of Locks [200000] 锁最大数
Max # of Buffers [200000] 缓冲区最大值
Index Page Fill Factor [ 90] 索引页填充因子
Resident Shared Memory size [440686] Kb共享内存驻留区大小
Page Size [ 2] Kb页大小
* 同样的,键入ESC 确认正确后,进入下一步:
[第三屏]
性能:作所需要的修改然后敲 ESC 来记录改动。
按中断键中止改变。按F2或CTRL-F获取显示字段级的帮助。
PERFORMANCE TUNING PARAMETERS
Multiprocessor Machine [N] LRU Max Dirty [ 20]
Num Procs to Affinity [0] LRU Min Dirty [ 10]
Proc num to start with [0] Checkpoint Interval [300]
Num of Read Ahead Pages [ ]
CPU VPs [ 1] Read Ahead Threshold [ ]
AIO VPs [ 12]
Single CPU VP [N] NETTYPE settings:
Use OS Time [N] Protocol Threads Users VP-class
Disable Priority Aging [Y] [tlitcp] [ 1] [ 20] [NET]
Off-Line Recovery Threads [ 10] [ipcshm] [ 1] [ 20] [CPU]
On-Line Recovery Threads [ 1] [ ] [ ] [ ] [ ]
Num of LRUS queues [ 8] [ ] [ ] [ ] [ ]
Are you running on a multiprocessor machine?
注解:
* 系统参数配置:
Multiprocessor Machine [N] 0 单处理器,1 多处理器
CPU VPs [ 1] 用户CPU VPS 数量
NETTYPE settings: 为NETTYPE配置轮询线索
Protocol Threads Users VP-class
[ipcshm] [ 1] [ 20] [CPU]
说明:此处的参数在初次初始化Informix的时只需修改Protocol Threads Users VP-class,Protocol Threads
VP-class
三个参数的设置见上表, usr下的数值应设置成你所购买的数据库的用户数。
* 键入ESC 确认正确后,进入下一步:
接下来几屏都默认,然后初始化。
(7)、新建tempdbs、datadbs和add chunk
新建tempdbs:
# onmonitor dbspaces > create
[屏幕输出]
按ESC键建立新的DBspace。
请按中断键取消该选项并返回Dbspaces菜单
按F2或CTRL-F获取显示字段级的帮助。
CREATE DBSPACE
Dbspace Name [ tempdbs ] Mirror [N ] Temp [Y ]
PRIMARY CHUNK INFORMATION:
Full Pathname [ /dbspaces/tempdbs ]
Offset [ 0] Kbytes Size [ 2,000,000 ] Kbytes
MIRROR CHUNK INFORMATION:
Full Pathname [ ]
Offset [ 0] Kbytes
新建datadbs:
# onmonitor dbspaces > create
[屏幕输出]
按ESC键建立新的DBspace。
请按中断键取消该选项并返回Dbspaces菜单
按F2或CTRL-F获取显示字段级的帮助。
CREATE DBSPACE
Dbspace Name [ datadbs ] Mirror [ N] Temp [N]
PRIMARY CHUNK INFORMATION:
Full Pathname [ /dbspaces/chunk00 ]
Offset [ 0] Kbytes Size [ 2,000,000] Kbytes
MIRROR CHUNK INFORMATION:
Full Pathname [ ]
Offset [ 0] Kbytes
为datadbs加chunk:
# onmonitor dbspaces > add_chunk
[屏幕输出]
按ESC键增加新的大块。
按中断键取消该选项并返回Dbspaces菜单
按F2或CTRL-F获取显示字段级的帮助。
ADD CHUNK TO DBSPACE
Dbspace Name [datadbs ] Mirror [N] Temp [N]
PRIMARY CHUNK INFORMATION:
Full Pathname [ /dbspaces/chunk01 (添加你想要的chunk) ]
Offset [ 0] Kbytes Size [ 2,000,000] Kbytes
MIRROR CHUNK INFORMATION:
Full Pathname [ ]
Offset [ 0] Kbytes
然后执行 onitit –iy
至此,数据库安装、配置和初始化基本完成。
--------------- INFORMIX ONLINE 7.2安装完成 -----------