本人第一次写原创,写的不好请多指教;中间可能会有疏忽,欢迎提出意见;
第一步:下载
ids 9.4 for linux:
ftp://ftp.youngcow.net/Special/Database/DatabaseServer/Informix/InformixDynamicServerVersion9.4/IIUG-IDS-9.4-linux.zip
这个线程有限制
http://202.96.110.133/informix/ids9.4/IIUG-IDS-9.4-linux.zip
这个更快,视网络定吧;
csdk for linux:
ftp://ftp.software.ibm.com/software/data/informix/downloads/clientsdk.2.81.UC2.LINUX.tar
第二步:linux搭建安装informix的环境
建立informix组:groupadd -g 20000 informix
建立informix用户:useradd -u 20000 -g 20000 -d /home/informix -m informix
修改informix用户环境变量:
修改 .bash_profile文件 增加以下环境变量
INFORMIXDIR=/home/informix
INFORMIXSERVER=cs_dbs
ONCONFIG=onconfig.cs
DBDATE=MDY4*
LD_LIBRARY_PATH=$INFORMIXDIR/lib:$INFORMIXDIR/lib/esql:$LD_LIBRARY_PATH
export INFORMIXDIR INFORMIXSERVER ONCONFIG LD_LIBRARY_PATH
PATH=$PATH:$INFORMIXDIR/bin
export PATH
这个就不用偶解释了吧;
第三步:准备安装文件
zip文件解压就不用偶说了吧;呵呵
把解开的一个Linux-IDS.9.40.tc1e1.cpio与clientsdk.2.81.UC2.LINUX.tar文件传入环境中;
解开Linux-IDS.9.40.tc1e1.cpio:cpio -idmv <Linux-IDS.9.40.tc1e1.cpio;
生成的文件你看的到;
解开clientsdk.2.81.UC2.LINUX.tar:tar xvf clientsdk.2.81.UC2.LINUX.tar;
生成csdk.cpi;
解开csdk.cpi cpio -idmv <csdk.cpi;
生成的文件你看的到;
第四步:开始安装
首先用informix用户登陆
安装ids:在informix目录下运行./installserver
碰到提示,直接回车;
完成后su到root运行RUN_AS_ROOT.server;
这样你的ids就安装好了;
安装csdk:在inforomix目录下运行./installclientsdk;
碰到提示敲yes,回车;
完成后su到root运行RUN_AS_ROOT.clientsdk;
这样你的clientsdk就装好了;
第五步:开始配置
1、配置/etc/services文件
sqlexe 1526/tcp
sqlexec 1528/tcp
--sqlexe和sqlexec是services 名字,1526、1528是端口号;
--TCP/IP表示TCP/IP协议
2、配置/etc/hosts文件
192.168.28.1 linux(本主机名称)
3、配置$INFORMIXDIR/etc/sqlhosts文件
cs_dbs onipcshm linux sqlexe
cs_dbs_tcp onsoctcp linux sqlexec
--这里配置了共享内存方式和soctcp方式连接数据库的两种方式;linux代表主机名;sqlexe/sqlexec分别代表在services文件中配的服务;
--另外需要注意的是,informix for linux 9.4版中release提到不支持tlitcp方式;所以这里采用的onsoctcp方式;
--若sqlhosts文件配置了tlitcp方式或者说sqlhosts文件中的配置和onconfig.cs文件配置不一样,会出现很多人都经常碰到的25507错误;
4、建立空间
以informix用户操作
在INFORMIXDIR中建立dbs目录;(便于区分拉)
首先touch rootdbs logdbs phydbs blobdbs tmpdbs datadbs
然后chmod 660 *
保证所有的dbs文件都是informix用户informix组;权限都是660;
5、配置$INFORMIXDIR/etc/onconfig.cs文件
以下列出需要注意的几点内容:
--rootdbs路径、空间
ROOTNAME rootdbs # Root dbspace name
ROOTPATH /home/informix/dbs/rootdbs # Path for device containing root dbspace
ROOTOFFSET 0 # Offset of root dbspace into device (Kbytes)
ROOTSIZE 100000 # Size of root dbspace (Kbytes)
--物理日志的dbs空间,先用rootdbs的20M;
PHYSDBS rootdbs # Location (dbspace) of physical log
PHYSFILE 20000 # Physical log file size (Kbytes)
--逻辑日志用默认的
# Logical Log Configuration
LOGFILES 6 # Number of logical log files
LOGSIZE 2000 # Logical log size (Kbytes)
--把磁带的东西都改成/dev/null
TAPEDEV /dev/null # Tape device path
TAPEBLK 32 # Tape block size (Kbytes)
TAPESIZE 10240 # Maximum amount of data to put on tape (Kbytes)
# Log Archive Tape Device
LTAPEDEV /dev/null # Log tape device path
LTAPEBLK 32 # Log tape block size (Kbytes)
LTAPESIZE 10240 # Max amount of data to put on log tape (Kbytes)
--配置数据库服务器参数,根据自己机器配置的实际情况分配locks和buffers;
SERVERNUM 0 # Unique id corresponding to a OnLine instance
DBSERVERNAME cs_dbs # Name of default database server
DBSERVERALIASES cs_dbs_tcp # List of alternate dbservernames
NETTYPE ipcshm,1,8,CPU # Configure poll thread(s) for nettype
NETTYPE soctcp,1,8,NET # Configure poll thread(s) for nettype
LOCKS 5000 # Maximum number of locks
BUFFERS 500 # Maximum number of shared buffers
NUMAIOVPS 2 # Number of IO vps
PHYSBUFF 32 # Physical log buffer size (Kbytes)
LOGBUFF 32 # Logical log buffer size (Kbytes)
CLEANERS 1 # Number of buffer cleaner processes
SHMBASE 0x10000000 # Shared memory base address
SHMVIRTSIZE 8000 # initial virtual shared memory segment size
SHMADD 8192 # Size of new shared memory segments (Kbytes)
另外就是onconfig.cs文件中所有/usr/informix都替换成/home/informix/
6、初始化数据库了
oninit -ivy
成功后用onstat -i 就可以看到了
Informix Dynamic Server Version 9.40.UC1E1 -- On-Line -- Up 00:31:47 -- 18872
Kbytes
onstat>;
7、完善数据库空间
下面提供一个我经常使用的shell
echo "Add blobdbs, tmpdbs0, phydbs, logdbs..."
echo "====================================================="
onspaces -c -b blobdbs -g 32 -p /home/informix/dbs/blobdbs -o 0 -s 48000
onspaces -c -d tmpdbs -t -p /home/informix/dbs/tmpdbs -o 0 -s 100000
onspaces -c -d phydbs -p /home/informix/dbs/phydbs -o 0 -s 50200
onspaces -c -d logdbs -p /home/informix/dbs/logdbs -o 0 -s 200000
echo "\nShut Down Server to Quiescent Mode..."
echo "====================================================="
onmode -s -y
sleep 5
echo "Adding Logical Log\n"
onparams -a -d logdbs -s 20000
onparams -a -d logdbs -s 20000
onparams -a -d logdbs -s 20000
onparams -a -d logdbs -s 20000
onparams -a -d logdbs -s 20000
onparams -a -d logdbs -s 20000
onparams -a -d logdbs -s 20000
onparams -a -d logdbs -s 20000
onparams -a -d logdbs -s 20000
onparams -a -d logdbs -s 10000
echo "\nArchiving Database Server Please Wait 20 seconds.\n"
echo "====================================================="
ontape -s
sleep 5
onmode -l
onmode -l
onmode -l
onmode -l
onmode -l
onmode -l
onmode -c
sleep 10
echo "\nDrop the old Logical Log Files... \n"
echo "====================================================="
onparams -d -l 1 -y
onparams -d -l 2 -y
onparams -d -l 3 -y
onparams -d -l 4 -y
onparams -d -l 5 -y
onparams -d -l 6 -y
echo "\nChange Physical Log Files, please wait about 1 minutes...\n"
echo "====================================================="
onparams -p -s 50000 -d phydbs -y
sleep 100
echo "\nNow add more dbspaces/chunks...\n"
echo "====================================================="
onspaces -c -d datadbs -p /home/informix/dbs/datadbs -o 0 -s 500000
echo "\nTake a level 0 archive.\n"
echo "====================================================="
ontape -s -L 0
echo "\nReboot IDS...\n\n"
echo "====================================================="
onmode -ky
oninit
sleep 10
echo "\n====================================================="
echo "Well done! \n"
echo "====================================================="
最后修改onconfig.cs文件
DBSPACETEMP tmpdbs # Default temp dbspaces
onmode -ky
oninit
大功告成了,呵呵;
lianyong 回复于:2004-04-11 18:13:15
支持原创,顶!
satoni 回复于:2004-04-11 23:26:22
谢谢老兄的支持啊
markchen 回复于:2004-04-12 23:01:22
:em02: 太好了,我按楼主的方法搭好了自己的调试环境,非常感谢.
satoni 回复于:2004-04-12 23:03:43
呵呵,我的第一个原创啊。。写的不好情大家指教
]-unixman-[ 回复于:2004-04-12 23:05:07
好东西,保留,保留,找个时间去试试
]-unixman-[ 回复于:2004-04-12 23:06:42
楼主,你是长沙的,我也咯
satoni 回复于:2004-04-12 23:08:24
引用:原帖由 "]-unixman-["]楼主,你是长沙的,我也咯 发表:
灌水灌成你这样,真是没话说了。。。艾。。。
这个帖子实在不错,怎么老大不置精华啊
hwhuwww 回复于:2004-04-13 12:36:49
不错啊,我正好需要,谢谢楼主
satoni 回复于:2004-04-13 20:13:16
能帮到你就可以了。。呵呵
loverVC 回复于:2004-04-13 21:42:30
楼主,你现在在线啊,我正在按照你的提示装,当我用./installserver时,
提示INFORMIX is not set.
这是什么意思啊,我在.bash_profile里面按照你说的做的哈,
不知道什么原因,可否指点一下,小弟不胜感激!!!
satoni 回复于:2004-04-13 21:48:06
INFORMIXDIR没设置吧。。。你设置了环境变量,使其生效没有啊
shuipen 回复于:2004-04-14 08:42:36
Follow the artical,I set up the informix successfully.
Good luck to everyone!
zlp8681 回复于:2004-04-14 10:35:11
大虾,你好
有个问题请教一下。
我用divvy划分裸设备(一个硬盘) 划了rootdbs,logdbs,phydbs,datadbs 我想问一下,datadbs是不是只能划2G?
进而划出多个datadbs?
若datadbs能划成15G,能在这个datadbs上建立多个chunk吗?
谢谢
satoni 回复于:2004-04-14 12:42:12
只能划成2G,你如果你要增大datadbs地空间,你就增加chunck就可以了
hukeqin333 回复于:2004-04-15 10:22:44
INFORMIX7。3以前的版本每个CHUNK最大只能2G,但9。4肯定能够大于2G的,所以只有把一个CHUNK的空间划的大点就可以咯,没有必要增加多个CHUNK
另外谁知道能够把数据库的共享内存超过2G,怎么修改LINUX的内核参数
loverVC 回复于:2004-04-17 02:36:21
引用:原帖由 "satoni"]INFORMIXDIR没设置吧。。。你设置了环境变量,使其生效没有啊 发表:
楼主,这个问题我已经解决了,我现在用命令./installserver,当出现
extracting contents of IDSServer.cpi. Please wait......
cpio: premature end of file
后面就没有反应了,后来我就退出了,但没有看到RUN_AS_ROOT.server文件,我就运行了./installclientsdk和RUN_AS_ROOT.clientsdk,
但在bin 目录下却找不到oninit等这样的命令,我估计还是ids没有装成功,现在我困惑的是,为什么在./installserver 后安装后一些文件就没有反应了,还望楼主不闲麻烦,能够帮帮小弟。。
satoni 回复于:2004-04-17 12:43:35
你重新把你的ids包传过去,重新解压一下,是不是解压时不完整啊
一粒白沙 回复于:2004-04-26 08:01:09
按楼主的办法装完后,运行oninit -ivy
到Bring up ADM VP 时即出现$提示符,初始化终止。
online.log中仅有如下内容:
5:56:39 Informix Dynamic Server Started.
Sat Apr 24 15:56:40 2004
15:56:40 Event alarms enabled. ALARMPROG = '/home/informix/etc/alarmprogram.sh'
15:56:40 Booting Language <c>; from module <>;
15:56:40 Loading Module <CNULL>;
15:56:40 Booting Language <builtin>; from module <>;
15:56:40 Loading Module <BUILTINNULL>;
请楼主指点迷津。
一粒白沙 回复于:2004-04-26 08:04:36
我的系统是turbo10,我在红旗4上也是同样的问题,请楼主指点迷津。
大漠孤星 回复于:2004-04-26 19:51:22
楼主的安装手册写得的确很好。
有几个问题补充一下
1,以前我安装informix for linux总是循规蹈矩地isql ->;csdk->;ids
难道可以先ids后csdk吗?等下载完了俺明天试一下。
2,希望楼主补充chunk用裸设备建立的部分。如果需要补充我可以写一下,但是最好是你补充出来:)
3,一般的安装都是在rehat上安装。楼主应该写出你的所有硬件,系统环境。我们可以探讨一下在turbo,红旗等其他版本上运行会出什么问题。。希望有条件的朋友多写心得。
感谢楼主提供ftp地址,感谢楼主的知识共享。
z-kj 回复于:2004-11-19 17:11:17
[size=18]我照楼主的方法去安装,现在运行onstat -i出现了一个问题(见图),不知如何解决,请大家拉一把![/size]
[/list]
norlan 回复于:2004-11-19 20:25:23
这是因为你没有把你的server开起来:
先oninit -,再onstat -
geoney 回复于:2004-12-27 20:19:48
引用:原帖由 "loverVC" 发表: 楼主,你现在在线啊,我正在按照你的提示装,当我用./installserver时,
提示INFORMIX is not set.
这是什么意思啊,我在.bash_profile里面按照你说的做的哈,
不知道什么原因,可否指点一下,小弟不胜感激!!!
我安装也出现了这样的提示:INFORMIX is not set
你是怎么解决的啊?能给小弟提示一下
我用的是suse linux
geoney 回复于:2004-12-27 20:21:20
引用:原帖由 "loverVC" 发表:
楼主,这个问题我已经解决了,我现在用命令./installserver,当出现
extracting contents of IDSServer.cpi. Please wait......
cpio: premature end of file
后面就没有反应了,后来我就退出了,但没有看到RU..........
我安装也出现了这样的提示:INFORMIX is not set
你是怎么解决的啊?能给小弟提示一下
我用的是suse linux
geoney 回复于:2004-12-27 21:10:11
引用:原帖由 "satoni"]INFORMIXDIR没设置吧。。。你设置了环境变量,使其生效没有啊 发表:
怎样使之生效啊?
小弟刚学informix,望高手指点啊
geoney 回复于:2004-12-28 14:47:37
小弟按照你的方法安装,./installserver后出现如下提示:
.........
..............
installing directory doc
chown:正在更改‘doc'的所有者:不允许的操作
Installation of Informix Dynamic Server failed
小弟刚学informix,现在不知道如何办,望高手指点,谢谢!
Johnny_Fu 回复于:2005-01-05 00:29:02
本人初学LINUX和INFORMIX,按照楼主的帖子做,可是在做到
安装ids:在informix目录下运行./installserver时出现如下错误。望能解答!!感谢!!!!
海天狼 回复于:2005-01-05 13:46:51
不错,刚学!
wyj8888 回复于:2005-01-05 14:36:30
satoni
精灵王
麻烦你再开通一下喽! 谢谢!
shwz 回复于:2005-06-17 12:55:38
不错的帖子
收下
weizzil_chinaun 回复于:2005-06-17 16:48:20
首先,谢谢你!
提一些小小的建议:
就像大漠孤星说的一样,应把硬件平台及操作系统写详细。我在redhat9.0上安装时,可以成功。但是,使用预编译器时就有问题,应为redhat9.0对esql/c不太支持。
zuoson 回复于:2005-06-20 13:58:47
偶出现的错误和"Johnny_Fu"帖子里的一样,谁能解答一下哈?
谢了~~~
liuhuigao 回复于:2005-07-23 11:39:39
热心人! 致敬.
求大侠能否提供informix-4gl for linux. 谢谢.
tideyan 回复于:2006-09-12 19:55:31
我如楼主所述设置所有项。但出现如下错误:
[informix@banksnx informix]$ oninit -v
Checking group membership to determine server run modesucceeded
Reading configuration file '/home/informix/etc/onconfig.cs'...succeeded
Creating /INFORMIXTMP/.infxdirs ... succeeded
Creating infos file "/home/informix/etc/.infos.cs_dbs" ... "/home/informix/etc/.conf.cs_dbs" ... succeeded
Writing to infos file ... succeeded
Checking config parameters...succeeded
Allocating and attaching to shared memory...FAILED
oninit: Fatal error in shared memory creation
tideyan 回复于:2006-09-12 23:30:39
有人帮忙解决吗?共享内存有问题。
tideyan 回复于:2006-09-12 23:44:46
online.log中的内容:
23:43:11 Event alarms enabled. ALARMPROG = '/home/informix/etc/alarmprogram.sh'
23:43:11 Booting Language <c> from module <>
23:43:11 Loading Module <CNULL>
23:43:11 Booting Language <builtin> from module <>
23:43:11 Loading Module <BUILTINNULL>
23:43:17 Informix Dynamic Server Started.
23:43:17 shmget: [EEXIST][17]: key 52564801: shared memory already exists
23:43:17 mt_shm_init: can't create resident segment
tideyan 回复于:2006-09-13 14:36:43
有人回答我的问题吗?
|