Chinaunix首页 | 论坛 | 博客
  • 博客访问: 91346786
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: DB2/Informix

2008-04-03 20:36:42

第一步: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 生成的文件你看的到; 

解开clientsdk.2.81.UC2.LINUX.tar:tar xvf clientsdk.2.81.UC2.LINUX.tar; 
生成csdk.cpi; 

解开csdk.cpi cpio -idmv 生成的文件你看的到; 

第三步:开始安装 

首先用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 
阅读(476) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~