redhat5下安装informix

操作系统:Red Hat Enterprise LinuxServer release 5.5
informix版本:Informix_Ultimate_11.70.UC3_LIN_x86_32_FixPack.tar
把本机IP和hostname写到/etc/hosts里。
1.创建informix用户和组
[root@informix ~]# groupadd -g 1000 informix
[root@informix ~]# useradd -u 1000 -g informix  -m informix
[root@informix ~]# passwd informix 
Changing password for user informix. 
New UNIX password: 
BAD PASSWORD: it is based on a dictionary word
 Retype new UNIX password: 
 passwd: all authentication tokens updated successfully
[root@informix ~]# id informix
uid=1000(informix) gid=1000(informix) groups=1000(informix)
2.解压文件
[root@informix ~]# mkdir /usr/informix#数据库安装目录
[root@informix ~]#chown informix:informix /usr/informix
[root@informix ~]#tar xvf  Informix_Ultimate_11.70.UC3_LIN_x86_32_FixPack.tar  -C /usr/informix/insta
3.安装软件:
由于informix默认会把软件安装到/opt/IBM/informix下,要更改目录可以在安装的时候更改也可以安装前更改
安装前设置安装目录:
export INFORMIXDIR=/usr/informix
以下操作以root用户执行: 
1) 进入软件目录执行安装程序ids_install
[root@informix insta]# ./ids_install
 
4.配置
1)设置环境变量
以 informix 用户身份登录
[root@informix ~]# su - informix
[informix@informix ~]$vi ids.env#将以下命令行(总计3行)添加到 ids.env 文件: 
export INFORMIXDIR=/usr/informix 
export INFORMIXSERVER=demo_on 
export PATH=$INFORMIXDIR/bin:$PATH
 
[informix@informix ~]$vi .bash_profile#在后面加上
INFORMIXDIR=/usr/informix
INFORMIXSERVER=informix
PATH=$PATH:$HOME/bin:$INFORMIXDIR/bin
export PATH INFORMIXDIR INFORMIXSERVER
2)使设置环境生效:
[informix@informix ~]$. ./ids.env
[informix@informix ~]$ source .bash_profile
3)配置onconfig和sqlhosts
cd /$INFORMIXDIR/etc/
cp onconfig.std onconfig 
cp sqlhosts.std sqlhosts
 
vi onconfig
ROOTNAME rootdbs
ROOTPATH /usr/informix/dbspaces/rootdbs
MSGPATH /usr/informix/log/online.log
SERVERNUM 1
DBSERVERNAME informix 
SHMBASE 0x10000000L
TAPEDEV /dev/null
DBSPACETEMP     tmpdbs 
 
[informix@informix ~]$mkdir /usr/informix/dbspaces
[informix@informix ~]$mkdir /usr/informix/log
[informix@informix ~]$cd /usr/informix/dbspaces/
[informix@informix ~]$touch rootdbs
[informix@informix ~]$chmod 660 rootdbs
[informix@informix ~]$cd $INFORMIXDIR/tmp
[informix@informix ~]$touch tmpdbs
[informix@informix ~]$chmod 660 tmpdbs
 
vi sqlhosts#尾行加
informixonsoctcpinformix.hans.comsqlexec
 
[informix@informix ~]#vi /etc/services 
sqlexec9999/tcp
5.启动和关闭数据库
1)启动
[informix@informix ~]$oninit -ivy
启动时报:
shmget: [EEXIST][17]: key 52564801: shared memory already exists
日志信息:
10:50:13  IBM Informix Dynamic Server Started.
10:50:13  shmget: [EEXIST][17]: key 52564801: shared memory already exists
10:50:13  mt_shm_init: can't create resident segment
我的网上搜的解决方法:
NETTYPE          # Configure poll thread(s) for nettype ->暂时不设
#NETTYPE         tlitcp,1,20,NET # Configure poll thread(s) for nettype
 
NUMCPUVPS       1              # Number of user (cpu) vps ->暂时改为1
 
BUFFERS         10000           # Maximum number of shared buffers  ->暂时减小10倍为10000
CKPTINTVL       3600               # Check point interval (in sec)   ->这个设置成3600先。
oninit -ivy前请先用ipcs检查下是否有informix用户占用了内存段。
但NUMCPUVPS和BUFFERS 在onconfig文件里没有找到。
同时我又把SERVERNUM 设置为1,但我在另一个安装好的库上看到这个没有设置值
这次启动成功。
[informix@informix ~]$oninit -ivy
Reading configuration file '/usr/informix/etc/onconfig'...succeeded
Creating /INFORMIXTMP/.infxdirs...succeeded
Checking config parameters...succeeded
Allocating and attaching to shared memory...succeeded
Creating resident pool 10596 kbytes...succeeded
Allocating 100016 kbytes for buffer pool of 2K page size...succeeded
Creating infos file "/usr/informix/etc/.infos.informix"...succeeded
Linking conf file "/usr/informix/etc/.conf.informix"...succeeded
Initializing rhead structure...succeeded
Writing to infos file...succeeded
Initialization of Encryption...succeeded
Initializing ASF...succeeded
Initializing Dictionary Cache and SPL Routine Cache...succeeded
Bringing up ADM VP...succeeded
Creating VP classes...succeeded
Onlining 0 additional cpu vps...succeeded
Onlining 2 IO vps...succeeded
Forking main_loop thread...succeeded
Initializing DR structures...succeeded
Forking 1 'ipcshm' listener threads...succeeded
Starting tracing...succeeded
Initializing 8 flushers...succeeded
Initializing SDS Server network connections...succeeded
Initializing log/checkpoint information...succeeded
Initializing dbspaces...succeeded
Opening primary chunks...succeeded
Opening mirror chunks...succeeded
Validating chunks...succeeded
Initialize Async Log Flusher...succeeded
Starting B-tree Scanner...succeeded
Initializing DBSPACETEMP list...succeeded
Init ReadAhead Daemon...succeeded
Checking database partition index...succeeded
Initializing dataskip structure...succeeded
Checking for temporary tables to drop...succeeded
Updating Global Row Counter...succeeded
Forking onmode_mon thread...succeeded
Creating periodic thread...succeeded
Starting scheduling system...succeeded
Verbose output complete: mode = 5
 
运行测试程序:dbaccessdemo7
2)关闭
[informix@informix ~]$onmode -ky
 
关闭数据后又重新启动时又报错
日志信息:
14:47:39  IBM Informix Dynamic Server Started.
 
Tue Aug  2 14:47:40 2011
 
14:47:40  Event alarms enabled.  ALARMPROG = '/usr/informix/etc/alarmprogram.sh'
14:47:40  Booting Language <c> from module <>
14:47:40  Loading Module <CNULL>
14:47:40  Booting Language <builtin> from module <>
14:47:40  Loading Module <BUILTINNULL>
14:47:46  DR: DRAUTO is 0 (Off)
14:47:46  DR: ENCRYPT_HDR is 0 (HDR encryption Disabled)
14:47:46  IBM Informix Dynamic Server Version 11.70.UC3 Software Serial Number AAA#B000000
14:47:46  DISK INITIALIZATION ABORTED: potential instance overwrite detected.
To disable this check, set FULL_DISK_INIT to 1 in your config file and retry.
 
14:47:46  oninit: Fatal error in shared memory initialization
 
14:47:46  IBM Informix Dynamic Server Stopped.
 
14:47:46  mt_shm_remove: WARNING: may not have removed all/correct segments
网上给的解决方法:
在11.70中加入了FULL_DISK_INIT 这个参数,对当前已经初始化的dbspace进行保护,若是需要初始化dbspace,需要更改这个参数为 1 .
 只要初始化成功了,该参数就自动变为0. 
以后启动就不需要使用-i 这个命令了,直接使用oninit -vy 就行了。 -i 只需要在第一次初始化的时候使用。。
设置成1启动成功。
 
创建数据库:
1、使用dbaccess进入informix交互环境
2、选择Database,回车
3、选择 Create,回车
4、输入数据库名:hans,回车
5、选择 Dbspace(表空间)  ,回车
6、选择跟局数据数据库bureaudb一样的表空间,回车
7、选择 Log ,回车
8、选择 Log,回车(选择日志模式,其他不支持事务)
9、选择 Exit,回车
10、选择 Create-new-database ,回车。
此时数据库应该已经建立。
查看某个数据库的表空间:
1、使用dbaccess进入informix交互环境
2、选择Database,回车
3、选择 Select,回车
4、选择局数据数据库bureaudb,回车
5、选择Info,回车
6、选择dBSpace,回车
posted @ 2012-07-20 17:02  晴天有时下鱼  阅读(480)  评论(0编辑  收藏  举报