当前位置:文档之家› Informix安装全攻略

Informix安装全攻略

Informix安装全攻略
(1)增加informix用户和组
groupadd informix
useradd informix -g informix
passwd Informix

(2)准备安装点及挂载光盘

在/opt下建立informix目录作为安装目录
在/mnt下建立cdrom目录作为光驱的挂载点
然后 mount /dev/cdrom /mnt/cdrom

(3)安装Informix Dynamic Server 9.4

在/mnt/cdrom/linux-informix-94//ids里执行ids_install
输入1安装Informix Dynamic Server
输入/opt/Informix 安装路径


若在安装过程中出现:
etc/brand: error while loading shared libraries: libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory
解决办法如下:
在/usr/lib下做一个名为libstdc++-libc6.2-2.so.3的软链接到高版本的libstdc++
代码:
$ cd /usr/lib
$ ls libstdc++*

在我的系统上ls命令的结果是 libstdc++.so.5.0.7 libstdc++.so.6.0.3
libstdc++.so.6.0.3就是我们要找的,给它做个链接
代码:
$ sudo ln -s libstdc++.so.6.0.3 libstdc++-libc6.2-2.so.3
(4)编辑sqlhosts文件

cd /u1/informix/etc
cp sqlhosts.std sqlhosts
vi sqlhost

说明:
INFORMIXDIR/etc/sqlhosts文件是连接文件。

它包含能使Informix客户端应用连到网络上的任何Informix数据库服务器的信息。它规定数据库服务器的名称、连接的类型、主机的名称和服务名称。即使客户机应用和OnLine数据库服务器在同一计算机上也必须准备sqlhosts文件。
Sqlhosts必须包含一个登录项(一行),它是你为连到网络上的每个数据库服务器的每种连接所提供的。在sqlhosts文件中的每一个登录项有如下五个域:
o dbservername域
o nettype域
o hostname域
o servicename域
o options域


前四个域是必须的。Options是可选的。这些域解释如下:
o dbservername 是数据库服务器名
与ONCONFIG配置文件中的DBSERVERNAME和环境变量INFORMIXSERVER的内容是一致的。跨越所有相关网络的每个数据库服务器必须有唯一的dbservername。如果sqlhsots文件有相同的dbservername的多个登录项,则只使用第一个。
o nettype
描述在客户应用和数据库服务器之间的接口/协议组合的类型。
nettype由三个子域组成的八个字母的序列。
nettype的前两个字母代表数据库服务器产品,如下:
on OnLine(这是建议形式)
ol OnLine
se INFORMIX-SE
dr INFORMIX-Gateway with DRDA
 
nettype中间三个字母按如下方式表示实现通讯的网络程序接口:
ipc IPC(进程通讯)
soc sockets
tli TLI(传输级接口)


其中ipc是在同一计算机内部进程间通过共享内存进行通讯的方式。其他两项是网络程序接口,详细情况见后。
nettype最后三个字母按如下方式表示特定的IPC机制或通讯协议。
shm 共享内存通讯
str 数据流管道通讯
tcp TCP/IP网

络协议
spx IPX/SPX网络协议
 
nettype值汇总

nettype值 说明 连接类型
onipcshm OnLine 使用共享内存通讯 IPC
onipcstr OnLine 使用数据流管道通讯 IPC
ontlitcp OnLine 使用TCP/IP协议TLI 网络
onsoctcp OnLine 使用TCP/IP协议的sockets 网络
ontlispx OnLine 使用IPX/SPX协议的TLI 网络
o hostname
数据库服务器驻留的计算机名称。在文件/etc/hosts中要有定义和说明。
也可以使用IP地址。但建议不要这样使用。
o servicename
其解释取决于nettype域中规定的连接类型。
1. 共享内存和数据流管道通讯
当nettype域指定一个共享内存连接或数据流管道连接时,OnLine内部使用在servicename登录项中的值,去建立一个支持这种连接的文件。对于onipcshm和onipcstr连接,sericename可以是OnLine驻留的计算机的环境中任何唯一的短字母组。Informix建议对于数据流管道连接,使用dbservername作为servicesname。
2. 使用TCP/IP的网络通讯
当使用TCP/IP连接协议时,servicename必须对应于/etc/services文件中servicename登录项:
/etc/services文件中的端口号告诉网络软件如何发现指定主机上的服务器。它与选择的服务名无关,只要它在该文件中的定义唯一即可。
o options
为指定连接提供额外的灵活性。
(5)编辑.profile文件

su - informix

vi .profile
添加内容如下:
INFORMIXDIR=/u1/informix;export INFORMIXDIR
INFORMIXSERVER=test_on;export INFORMIXSERVER
ONCONFIG=onconfig.test;export ONCONFIG
PATH=$INFORMIXDIR/bin:$PATH;export PATH
DB_LOCALE=zh_cn.gb;export DB_LOCALE
CLIENT_LOCALE=zh_cn.gb;export CLIENT_LOCALE
SERVER_LOCALE=zh_cn.gb;export SERVER_LOCALE
DBDATE=Y4MD/;export DBDATE
DBCENTURY=C;export DBCENTURY
DBDELIMITER=^A;export DBDELIMITER
LD_LIBRARY_PATH=$INFORMIXDIR/lib:$INFORMIXDIR/lib/esql;export LD_LIBRARY_PATH
TERMCAP=$INFORMIXDIR/etc/termcap;export TERMCAP

(6)初始化数据库
su - informix
先建立表空间文件:mkdir /u1/cookfile
touch infxroot infx01
chmod 660 /u1/cookfile/*
onmonitor->Parameters->Initialize
注意事项:
第一页:
Tape Dev.和Log Tape Dev.改成/dev/null
rootdbs路径改为刚建的/u1/cookfile/infxroot,大小自定
第二页(shared memory):
Server Number要唯一
Server Name要与当前的$INFORMIXSERVER一样,且一定要在sqlhosts中存在
Server Aliases也要在sqlhosts中存在
第三页:
配一下sqlhosts中用到的nettype settings
第五页:
若有多个online,Message Log最好区分开来,如online_01.log
Dump Shared Memory改为N
(7)新建一个Dbspace
onmonitor->Dbspaces->Create
名称、大小自定,Mirror、Temp都为N,路径/u1/cookfile/infx01
至此Informix Server已基本安装完毕,数据库处于Quiescent状态,执行onm

ode -m 就可处于联机状态
(8)初始化数据库
oninit -ivy
成功后用onstat -i 就可以看到了
Informix Dynamic Server Version 9.40.UC1E1 -- On-Line -- Up 00:31:47 -- 18872
Kbytes
(9)问题解答
1.profile 不生效,

解决:

把login shell 改为ksh即可。在图形界面下users and groups设置。
使用不一样的sh,启动载入的环境文件也是不一样滴~~~
CSH:.cshrc
SH:.profile
BASH:.bash_profile


2.初始化出现:
Checking group membership to determine server run modesucceeded
Reading configuration file '/opt/informix4/etc/onconfig'...succeeded
Creating /INFORMIXTMP/.infxdirs ... succeeded
Creating infos file "/opt/informix4/etc/.infos.scp4" ... "/opt/informix4/etc/.co
nf.scp4" ... succeeded
Writing to infos file ... succeeded
Checking config parameters...succeeded
Allocating and attaching to shared memory...FAILED
oninit: Fatal error in shared memory creation
online.log出现:
01:45:13 shmget: [EEXIST][17]: key 52a24801: shared memory already exists
01:45:13 mt_shm_init: can't create resident segment
解决:
修改配置文件onconfig中的服务器标识号(默认为0),只要是唯一就可以了,不能过太。在多实例安装中常出现此问题。例如
SERVERNUM 49 # Unique id corresponding to a Dynamic Server instance

3.初始化最后出现
Unable to open input file 's'
Unable to open input file 'c'
Online.log中为:
Dataskip is now OFF for all dbspaces
01:47:33 On-Line Mode
01:47:33 Building 'sysmaster' database ...
01:47:33 Assert Failed: build_smi failed
01:47:33 Informix Dynamic Server Version 7.31.UD6W4
01:47:33 Who: Session(12, informix@ibmocs, 0, 1074267956)
Thread(21, build_smi, 40059904, 1)
File: rspseudo.c Line: 7603
01:47:33 Results: Cannot build/check 'sysmaster' database
01:47:35 See Also: /tmp/af.3fd20b5, shmem.3fd20b5.0
01:47:35 Error 1 occurred executing /bin/sh /bin/sh -c /opt/informix4/etc/log_f
ull.sh 3 7 "Dynamic Server Initialization failure." "build_smi failed" /tmp/af.3
fd20b5

解决:
解决了这个问题,但不知问题所在。使用informix用户安装不应出现这个问题。用同组中的其它用户也可以安装成功的,只是有一步要注意,都不知为什么.
最好看看你的根目录下面有没有INFORMIXTMP目录。并且看看informix 用户有没有权限。
看看是不是你的数据库没有空间了,或者逻辑日志满了,或者你的导入文件本身存在问题等等。

4.提示信息到nitializing 1 flushers...succeeded就结束了

Online.log中的内容:
1:59:28 Event alarms enabled. ALARMPROG = '/opt/informix4/etc/log_full.sh'
01:59:33 DR: DRAUTO is 0 (Off)
01:59:33 AIX MP latch code enabled
01:59:33 Requested shared memory segment size round

ed from 588KB to 592KB
01:59:33 Informix Dynamic Server Version 7.31.UD6W4 Software Serial Number AC
P#J267193
01:59:33 listener-thread: err = -25572: oserr = 67: errstr = : Network driver c
annot bind a name to the port.
System error = 67.
01:59:33 Attempting to bring listener thread down.

01:59:33 Server stopped.

01:59:33 Informix Dynamic Server Stopped.
01:59:33 mt_shm_remove: WARNING: may not have removed all/correct segments

解决:
端口问题。
看sqlhosts是否正确,与/etc/services中的是否对应。 (改为1528就行了)

5.执行如onstat,onmode,ontape,dbaccess等命令时,总是提示:
Incorrectly built binary which accesses errno or h_errno directly. Needs to be fixed.
解决:
在环境变量里加上 export LD_ASSUME_KERNEL=2.4.1 主要是AS3缺省使用的是NTPL,而不是pthread
加了 LD_ASSUME_KERNEL=2.4.1 后使用 pthread库就不会有这个错误了!

6.要在其他用户中登录数据库,只需在配置文件中配置:
INFORMIXDIR=/opt/informix
export INFORMIXDIR
PATH=$INFORMIXDIR/bin:$PATH
export PATH
INFORMIXSERVER=cs_dbs
export INFORMIXSERVER
ONCONFIG=onconfig.cs
export ONCONFIG

7.如何修改hostname

很多人使用hostname 主机名 来修改,其实这个只是做为暂时的,重启后将恢复到原来的名字.

很多人说修改/etc/hosts文件,其实这个文件里的主机名只是为来提供给dns解析的.如果你用不上dns,只需要修改主机名,那修改这个没用.

其实是修改这个文件etc/sysconfig/network这个文件里的主机名.

NETWORKING=yes
HOSTNAME=主机名

记得重启!!!



完整:

第一步:
#hostname oratest
第二步:
修改/etc/sysconfig/network中的hostname
第三步:
修改/etc/hosts文件


https://www.doczj.com/doc/4614586372.html,rmix服务已经启动,但是在windows数据源那里连不上
解决:

把sqlhosts里的主机名改成ip 如192.168.1.18
然后 onmode –ky 再 oninit –y 重启数据库

(10).安装csdk.cpi (包括esql编译器)
mount /dev/cdrom /mnt/cdrom

把它拷贝在磁盘上,如$HOME/priv/lxj/tmp,
再在$INFORMIXDIR执行 cpio -idmv < $HOME/priv/lxj/tmp/csdk.cpi 解压
(不能在/mnt/cdrom直接执行cpio,因为光盘是只读的,创建不了目录,生成的文件可以看到installclientsdk,这个也一定要在$INFORMIXDIR下执行,所以要解压到$Iinformixdir,完成后再以root身分执行RUN_AS_ROOT.clientsdk)

相关主题
文本预览
相关文档 最新文档