在Unix下安装Informix Online具有一定的难度,下面把安装的主要步骤和需要注意的问题介绍给大家。
一、磁盘空间的准备
Online使用的Database所建立的磁盘空间有两种,一种是Cookied File,另一种是Raw Device。安装Online之前,首先要确定Dbspace在哪种Chunk上,即使用的是Cookied File还是Raw Device。
Cookied文件是Unix的文件,通常可用下列方法建立:
1.Cat/dev/null>file-name
2.Chmod 660 file-name
3.Chgrp informix file-name
4.Chown informix file-name
以上方法虽然有Dbspace随数据量增加而增加的优点,但由于受Unix系统对文件管理层的约束,所以效率比较低,建议大家尽量不要采用。
通常采用的方式是Raw Device,也称“裸设备”,就是在安装Unix磁盘时,用divvy命令在磁盘分区中建立一块Non FS分区,对此分区的大小预先要估算好。Online系统对“裸设备”的管理比Unix文件系统的管理效率高很多。
二、Unix系统核心参数的修改
由于Online需要Unix系统有关方面的开销比系统默认的要大,所以要调整部分Unix系统的核心参数。通常调整以下参数:
信号量参数 SEMMNI SEMMSL SEMMNS
共享内存参数 SHMMAX SHMSEG SHMMNI
文件及进程参数 NFILE NPROC
其中共享内存参数 SHMMAX的值不能大于物理内存,通常为1/4物理内存,也可根据具体情况来确定。其他的参数值可适当增大成原来的2倍,也可根据情况来定。
三、Online的安装
建立Informix用户,其Owner和Group均为Informix。在超级用户下,将Informix文件拷入Informix目录下,设置 INFORMIXDIR环境变量,然后安装。
例:#INFORMIXDIR=/usr/informix
#installonline.
输入系列码和活动字后,安装完毕。
四、Online的配置
1.设置环境变量
以Informix用户登录。设置环境变量:
$INFORMIXDIR=$HOME/informix
$PATH=$PATH:$INFORMIXDIR/bin
$INFORMIXSERVER=服务名字
$export INFORMIXDIR PATH INFORMIXSERVER
需要特别说明的是,INFORMIXSERVER变量是为应用提供服务的名字,这个服务通常有两个名字:一个是Server Name,即服务名;另一个是Server Name Alias ,即服务别名。采用TCP/IP通讯方式时,用服务别名,采用共享内存时用服务名。
2.配置Sqlhosts
Sqlhosts文件在$INFORMIXDIR/etc/目录下,文件共有四项,格式如下:
DBSERVERNAME NETTYPE HOSTNAME SERVICENAME
DBSERVERNAME在Onconfig文件中,即前面提到Sever Name和Sever Name Alias。服务名是对应共享内存的,服务别名是对应TCP/IP的。
NETTYPE是网络协议的类型。对于TCP/IP常用Onsoctcp和Ontlitcp,对于内部进程通信用Onipcshm。
Host Name是/etc/hosts中所描述的本机的名字。
Service Name是/etc/services中通讯所使用的端口号的服务名字,对于内部进程通信用Onipcshm。
3.配置Online
以上参数调整完毕后,重新以Informix用户注册,启动Onmonitor。
$onmointor
出现配置界面。
(1)磁盘参数界面的配置
其中需要调整的主要参数有如下几个:
Tape Dev 如果有磁带机,此处填磁带机设备,无则选/dev/null。
Block Size 块的大小,可保持默认值,或按照磁带的要求改变。
Total Tape Size 磁带机的容量。
Root Name 数据库的Rootdbspace的名称,即Database所建立磁盘空间的逻辑名称。
Primary Path 指分配给Rootdbspace使用的Chunk,也就是前面提到的裸设备的路径及名字,通常是/dev下的设备。
Root Size Rootdbspace的容量。
Phy.logsize 物理日志的大小。
Log.logsize 逻辑日志的大小。
Number of logical logs 逻辑日志的个数
逻辑日志大小×逻辑日志的个数+物理日志大小<Root Size。
如果应用很小,可以将日志和数据都放在Rootdbspace中,也可以通过一些命令把日志放到单独的Chunk上或 Dbspace中。
(2)共享内存参数的配置
当磁盘参数设置完毕后,进行共享内存的配置。共享内存的配置对Online是重要的,其中主要涉及以下参数:
Server Number、 Server Name、Server Alias、Locks、Buffers、Chunks、Memory Size。
Server Number 当应用访问Online系统时,常用Server Number项来确定共享内存的多少段应被使用:有多少个应用服务,那么此数量就为多少。例如如果Online上有两个应用,一个是信贷系统,一个是人事系统,每个应用都有自己的端口服务,这样在此处Server Number为2。
Server Name 此处为应用服务的名字,如果有两个应用,只填一个应用名即可。
Server Alias 在一些情况下,为了更高效地访问数据库,通常在本地采用共享内存访问,而远程用TCP/IP访问。为了实现对同一应用采用不同的通讯方式,需定义Server Alias。
Locks 锁的数量。此参数用来指定有多少个锁可用。根据应用系统的需要来定义锁的数量,同一时刻系统访问的量越大则需要的锁数越大。一般情况下,锁数越多越好,但它受共享内存大小的限制,最小值大于等于2000。
Buffers 缓冲区的数量。单纯地讲,Buffers是越多越好,因为它能提高访问数据库的速度,但它也同样受到共享内存大小的限制,最小值2000,最大值512000。
经过对这些参数的调整,Online系统的配置能够满足应用的正常运行。但调整时Share Memorysize的大小会随着 Locks、Buffers等参数的变动而变动,Share MemorySize的数量不应大于Unix系统的共享内存。
配置完以上的各项参数后,Online系统就能够正常运行了。在Onmonitor的配置中,也就是说在Onconfig配置文件中,还有许多其他的参数,大家可以在应用中根据自己的实际情况进行调整,以提高数据库的性能。