informix安装与配置
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
经常在论坛中看到有新人寻求informix的安装步骤,回想自己当初刚接触时,也是得到了众多好心人的帮助。
如今将自己的实际经验与从前前辈们的安装文档自整理下放到这里,希望能对有需要的人有所帮助。
由于毕竟经验有限,其中难免有遗漏或者不足的地方,欢迎大家批评指正!
1. 创建informix组和informix用户,组ID和用户ID为301(注:此处可根据需要自己设置),并为informix用户设置密码
group:informix
user:informix
2. 为Informix数据库安装创建文件系统,并赋予权限,例:
/informix
chown -R informix:informix /informix
3. 修改环境变量.profile文件
INFORMIXDIR=/informix;
PA TH=$PA TH:$INFORMIXDIR/bin;
ONCONFIG=onconfig.test;
INFORMIXSERVER=online;
TERMCAP=$INFORMIXDIR/etc/termcap;
TERM=vt100;
export INFORMIXDIR PA TH ONCONFIG INFORMIXSERVER TERMCAP TERM
4. 数据库安装
必须用root用户安装
安装目录选择informix
./ids_install(此为10版本的集成安装,显示如下:
Product Setup Type
------------------------------------------------ ------------------------
1. [ ] IBM Informix IConnect
2. [x] IBM Informix Client-SDK Typical
3. [x] IBM Informix Dynamic Server Typical
4. [x] IBM Informix JDBC Driver
)若为10以下的版本,可以选择进入SERVER文件夹,执行installserver进行安装。
5. 为informix实例创建裸设备,可根据需要自行添加。
例:裸设备名称分别为:testroot,testdata01,testdata02,testphy,testtmp,testindex,testlog 为裸设备修改属主和权限
chown informix:informix /dev/test*
chown informix:informix /dev/rtest*
chmod 660 /dev/test*
chmod 660 /dev/rtest*
6. 为裸设备创建链接文件
su – informix
cd /informix
mkdir data
************************
ln –s /dev/rtestroot testroot
ln –s /dev/rtestindex testindex
ln –s /dev/rtestphy testphy
ln –s /dev/rtestlog testlog
ln –s /dev/rtesttmp testtmp
ln –s /dev/rtestdata01 testdata01
ln –s /dev/rtestdata02 testdata02
****************************
7.修改onconfig和sqlhosts文件
cp onconfig.std onconfig.test
vi onconfig
必须修改的参数如下:
ROOTNAME rootdbs # Root dbspace name
ROOTPA TH /informix/data/testroot # Path for device containing root dbspace ROOTOFFSET 0 # Offset of root dbspace into device (Kbytes)
ROOTSIZE 2000000 # Size of root dbspace (Kbytes)
MSGPA TH /informix/online.log
SERVERNUM 0 # Unique id corresponding to a Dynamic Server instance DBSERVERNAME online # Name of default database server
TAPEDEV /informix/data/back
LTAPEDEV /informix/data/backup
如果不需要将逻辑日志备份存放到磁盘上,可以设置成为
LTAPEDEV /dev/null
NETTYPE ipcshm,1,100,CPU
DBSERVERNAME online # Name of default database server
CLEANERS 8 # Number of buffer cleaner processes
SHMVIRTSIZE 81920 # initial virtual shared memory segment size
SHMADD 16384 # Size of new shared memory segments (Kbytes) BUFFERPOOL size=4K,buffers=500000,lrus=8,lru_min_dirty=50.000000,lru_max_dirty= 60.000000
#
其它参数可根据需要进行设置。
如果逻辑日志备份到NULL,需要更改以下参数为:
ALARMPROGRAM /informix/etc/log_full.sh # Alarm program path
默认目录是的/usr/informix改成/informix
在/informix/etc/services下填加online testport 50001/tcp(此端口号请根据需要自行添加,不可与其他已有端口冲突。
)
vi sqlhosts
#demo_se seipcpip se_hostname sqlexec
online onsoctcp testhost testport
各段含义依次是:
DBSERVERNAME(数据库服务器名在onconfig文件中引用)
NETTYPE(格式为ddiiippp,dd段为on或ol;iii段为网络接口,取值ipc为进程间通信、soc为插槽;ppp段为shm:共享内存连接、tcp为网络连接中的TCP/IP协议、str为流管道、nmp为命名管道、spx为网络连接中的IPX/SPX协议)
HOSTNAME(或IP address):定义包含informix实例的计算机
SERVICE NAME:使用的服务,这个服务在系统的服务文件中定义(UNIX中为/etc/services)9. $oninit –ivy初始化,并创建各DBspace。
开启大块功能:(注:9.4以上版本不再受每个CHUNK不得超过2G空间的限制,需要开启大块功能支持。
)
$onmode -BC 1
$onspaces –c –d phydbs –p /informix/data/testphy –s 1000000 –o 0
$onmode -s
$onparams –p –s 950000 –d phydbs –y
$ontape –s –L 0
6.逻辑日志移到自dbspace中
估计逻辑日志数量及大小,确定逻辑日志空间大小,例:
50M*18=900M
$onspaces –c –d logdbs –p /informix/data/testlog –s 1000000 –o 0
$onmode –s
$onparams –a –d logdbs –s 50000
此命令反复执行18次,填加18个新日志。
移动当前日志指针$onmode –l
反复执行该命令用以将新添加的逻辑日志激活。
onstat -l查看初始逻辑日志number
onparams –d –l 1 删除number为1的逻辑日志,改变number可将所有系统自动创建的逻辑日志文件删除。
做日志校验
$onmode –c 用于将当前日志与校验点位置达到一致。
10.生成tempdbs indexdbs datadbs
$onspaces –c –d tempdbs –t –p /informix/data/testtmp –s 2000000 –o 0
$onspaces –c –d indexdbs –p /informix/data/testindex –s 2000000 –o 0
$onspaces –c –d datadbs –p /informix/data/testdata01 –s 5000000 –o 0
$onspaces –a –d datadbs –p /informix/data/testdata02 –s 5000000 –o 0
informixonline的安装
在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
$PA TH=$PA TH:$INFORMIXDIR/bin
$INFORMIXSERVER=服务名字
$export INFORMIXDIR PA TH 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 逻辑日志的个数
逻辑日志大小×逻辑日志的个数+物理日志大小如果应用很小,可以将日志和数据都放在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配置文件中,还有许多其他的参数,大家可以在应用中根据自己的实际情况进行调整,以提高数据库的性能。
sco unix 506下安装配置informix online 7.22
SCO UNIX 5.07安装+INFORMIX7.23
SCO UNIX的安装没有费太多力气,和其他的UNIX一样,唯一需要注意的问题,由于此版本较老,如果缺少驱动(比如没有
网卡的驱动),那只能放弃.由于有一个PDF的安装教程,这里就不详细写安装过程了.
只把几个要注意的地方写出来.
1 光驱的问题,最好在bios中将光驱检测出来,并记住光驱所在的IDE通道和主从位置,硬盘不支持SATA,需要在bios中模拟为PATA.
2 CD-KEY,SCO UNIX需要序列号,注意大小写
2ZJ064432
gwncbsby
3 可以修改默认的时区,改为Asia China Standard Time(CST,中国标准时间)
Hard disk setup安装,默认设置为UNIX only :Bad Tracking ON
为了加快速度,可以关闭这个磁盘检测.按空格修改选项,把Disk 0 bad track type 设为none 不检测磁盘,加快速度
4 检测硬件的地方,autodect 如果网卡可以检测出来,就可以设置ip地址等,如果检测不到,只能,从网上下载驱动.
等操作系统装好后手动安装.
5 重启后登录系统,每次登录系统前需要手动按CTRL+D,输入系统日期可以直接回车跳过
第一次安装好启动会提示电源管理(power managment)没有配置,执行mkdev pm,按1添加模块到内核后然后按提示relink内核,然后重启.
安装好系统后配置网卡netconfig
配置显卡mkdev graphics
配置鼠标mkdev mouse
安装好系统后执行ifconfig-a ,如果没有网卡,需要运行netconfig添加网卡,然后re-link到内核中,然后设置ip地址,
然后重启,重启可以用reboot,也可以执行shutdown -g0 -i6
安装好以后,默认shell是sh,很古老,没有命令补齐,没有历史命令,我们要把它改成bash,网上下载bash for SCO-UNIX
的TAR包
复制到/tmp目录,然后解压缩tar xvf bash.tar.解开是
VOL.000.000
VOL.000.000.files
VOL.000.000.sum
然后怎么安装呢
#custom
安装选择software->Install New->From scosysv->Media Device:按空格选择Media Images,然后回车,然后输入目录
/tmp
就开始安装了.
安装好后在/usr/local/bin/bash,还需要修改用户的shell
vi /etc/passwd
第一行就是root,在最后的冒号后加上/usr/local/bin/bash
然后注销重新登录,提示符就是bash-2.02# 了
和linux相比,这个提示符依然很土.我们想在提示符上加上路径提示.
export PS1='/w # ' 或者export PS1='`pwd` # '
现在提示符就变成了/var/tmp #
想要永远生效,则修改$HOME/.profile
加入此行
PS1='`pwd` # '
informix 7.23安装
1.添加用户
#groupadd informix
useradd 默认不创建用户的家目录需要手动指定,用户和组需要分别手动创建,而redhat下useradd会自动创建用户和
同名的组并创建家目录
#mkdir /usr/informix
#useradd -g informix -d /usr/informix informix
用户创建成功后可以more /etc/passwd,如果看到有一行informix的信息,说明创建成功
需要设置密码后才能su到该用户,而redhat可以不设密码
#passwd informix
还需要给家目录设置属主,redhat是自动设置的.
#chown -R informix:informix /user/informix
#su - informix
#vi .profile
INFORMIXDIR=/usr/informix
INFORMIXSERVER=infoserver
PATH=$INFORMIXDIR/bin:$PATH
ONCONFIG=onconfig
export INFORMIXDIR INFORMIXSERVER PATH ONCONFIG
#exit退回root用户
这里要用root才能安装,可是教程上都说用informix用户来安装,误导啊.
#export INFORMIXDIR=/usr/informix
#mount /dev/cd0 /mnt
如果是ISO文件,需要挂载ISO,这里和linux不一样,mount -o loop xxx.iso无法挂载
你可以使用ISO文件在SCO下直接安装,但必须保证你的机器上已经安装了光驱,并且在核心中含有CDROM设备,即hwconfig -h 列表中有CDROM信息。
接下来你可以通过下面的步骤来处理:
cd /dev
mv cd0 cd0.bak
cd /tmp (此处假定你的informix723.iso放在/tmp目录中)
marry -a informix723.iso
cd /dev
ln -s /dev/marry/tmp/informix723.iso cd0
l cd0 显示结果如下:
brw-r----- 1 root sys 76, 1 Feb 26 10:45 cd0@
mv rcd0 rcd0.bak
mknod rcd0 c 76 1
l *cd0 显示结果如下:
brw-r----- 1 root sys 76, 1 Feb 26 10:45 cd0@
crw-r--r-- 1 root sys 76, 1 Feb 26 10:48 rcd0
mount /dev/cd0 /mnt
记得安装完成之后
cd /dev
rm cd0 rcd0
mv cd0.bak cd0
mv rcd0.bak rcd0;
marry -d /tmp/informix723.iso
2.安装SQL
#cp /mnt/SQL.TAR /usr/informix
#cd /usr/informix
#tar xvf SQL.TAR
#./installsql
输入安装光盘上的序列号和KEY
License: S/N: AAC#J610071
Key : PQJIJH
3.安装ESQL
#cpio -iBmducv < /mnt/ESQL.CPI
#./installesql
License: S/N: AAC#J610060
Key : DXEWJJ
4.安装IDS
#cpio -iBmducv < /mnt/SERVER/IDS.CPI
#./installonline
License: S/N: AAC#J610070
Key : WTQAJP
5.准备数据库空间,
当前目录为希望放informix 库数据的文件系统目录,# mkdir rootdbs
# cd rootdbs
# cat /dev/null>chunk1 (chunk 的文件名由自己起) # chmod 660 chunk1
# chown informix:informix chunk1
# cd ../etc
# cp onconfig.std onconfig
6.修改配置文件
# vi onconfig
修改以下各项为下列值:
ROOTPATH /usr/informix/rootdbs/chunk1 #改为chunk 的全路径。
MSGPATH /usr/informix/online.log #(这一目录应和home directory 及INFORMIXDIR 统一)
TAPEDEV /dev/null
LTAPEDEV /dev/null
DBSERVERNAME inforserver # 同.profile中INFORMIXSERVER名字,和sqlhosts中统一(记得一定要改
这个)
NETTYPE tlitcp,1,10,CPU # 网络协议类型
# vi sqlhosts
注释第二行并加上
infoserver ontlitcp scosysv informix
编辑/etc/services
加入数据库tcp/ip端口:
informix 20000/tcp #informix service
这个数字自己随便选,别重复,别离谱就行.
7.配置内核参数/etc/conf/cf.d/mtune 和stune
内核参数的数值参考文档/usr/informix/relaese/en_us/0333/ONLINE.DOC
: mtune和stune的区别?
前者说明了系统核心参数可调的最小值/最大值
后者说明了当前系统的参数.
# vi /etc/conf/cf.d/mtune
{此文件格式如下:
... *Shared Memory Parameters
SHMMAX 1048576 131072 80530637
SHMMIN 1 1 1
其中:第一列为UNIX系统参数名,第二列为参数当前值,第三列为参数最小值,第四列为参数最大值。
}
然后根据上面记录下来的数据依此检查每个参数,如果:
Ⅰ、A. 所记录的系统参数名存在;
B. 所记录的系统参数值在最小值和最大值之间
则用记录下来的参数值取代此参数的当前值。
Ⅱ. 如果所记录的参数的值大于最大值,则修改此参数的当前值为最大值。
Ⅲ. 如果所记录的参数值小于最小值,则不修改此参数值。
SHMMAX为共享内存的大小,一般设为物理内存的1/4,这里的单位是字节,67108864就是64M.
当前值最小值最大值
SHMMAX 67108864 131072 409600000
SHMMIN 1 1 1
SHMALL 512 256 15360
SHMMNI 100 100 2000
SHMSEG 6 6 15
MAXUMEM 524287 2560 1048576
SEMMAP 8192 10 8192
SEMMNI 8192 10 8192
SEMMNS 8192 60 8192
SEMMNU 100 10 100
SEMMSL 25 25 150
#/etc/conf/cf.d/link_unix
#reboot
8.初始化数据库
新手可以用图形界面来初始化.在控制台运行onmonitor,发现部分选项中的文字和表格框是歪的,很影响查看参数.
最后发现是TERM类型不对,修改为默认的TERM类型vt100后正常了
export TERM=vt100
#onmonitor
选择Parameters ->Initialize
移动光标键来修改每个参数,全部修改完后按ESC提交,(和习惯不一样,嘻嘻,一般ESC都是取消的意思)
如果错了可以按ctrl+break键撤销操作.
出现DISK PARAMETERS界面配置如下参数后键入Esc键
出现SHARED MEMORY PARAMETERS界面配置如下参数后键入Esc键
出现PERFORMANCE TUNING PARAMETERS界面配置如下参数后键入Esc键
出现DATA REPLICATION PARAMETERS界面后键入Esc键
出现PARALLEL DATABASE QUERIES PARAMETERS界面后键入Esc键
配置成功后退出onmonitor界面
这些参数都可以在onconfig中设置
或者用命令行来执行
#oninit -iy
出错了
oninit: Fatal error in initializing ASF with 'ASF_INIT_DATA' flags;
asfcode ='25507'.
仔细检查发现是onconfig中的NETTYPE tlitcp,1,10,CPU 处有拼写错误,tcp写成了ctp
该错误是在运行图形界面下的onmonitor发现的.修改后初始化成功(无任何错误提示)
ONLINE的运行及监控
1:启动oninit
2: 关闭onmode -ky
3:状态onstat -
你可以onstat -- help看一下,仔细研究onstat
数据库到这里就安装成功了,接下来使用数据库就是DBA的事情了,如果有需要可以自己查informix的手册
关于informix网络连接的设置
一、Linux数据库端设置
1./opt/informix/etc/sqlhosts文件
[informix@informix ~]$ vi /opt/informix/etc/sqlhosts
#**************************************************************************
#
# Licensed Material - Property Of IBM
#
# "Restricted Materials of IBM"
#
# IBM Informix Dynamic Server
# (c) Copyright IBM Corporation 1996, 2004 All rights reserved.
#
# Title: sqlhosts.demo
# De.ion:
# Default sqlhosts file for running demos.
#
#**************************************************************************
# IANA ([url][/url]) assigned port number/service names for Informix:
# sqlexec 9088/tcp
# sqlexec-ssl 9089/tcp
#INFORMIXSERVER PROTOCOL HOSTNAME SERVICE_NAME
demo_on onsoctcp informix sqlexec
#demo_se seipcpip se_hostname sqlexec
2./etc/hosts文件
[informix@informix ~]$ vi /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
10.8.1.240 informix
3. /etc/services文件
[informix@informix ~]$ vi /etc/services
sqlexec 5000/tcp
4. /opt/informix/etc/onconfig文件
NETTYPE soctcp,1,50,CPU
二、windows设置
C:/WINDOWS/system32/drivers/etc目录下的两个文件hosts,service
1.Hosts文件
# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each # entry should be kept . an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least .e # space.
#
# Additionally, comments (such as these) may be inserted . individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 # source server
# 38.25.63.10 # x client host
127.0.0.1 localhost
10.8.1.240 informix
2.services文件
man 9535/tcp #Remote Man Server
sqlexec 5000/tcp
2.安装informix client SDK
Setnet32设置
ILogin设置
linux数据库主机名:informix informix数据库服务器名称:demo_on informix数据库名称:stores_demo。