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

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: DB2/Informix

2008-04-08 16:04:07

  出处:Unix爱好者家园unix-cd.com   

1、 建立informix组和informix用户,用户目录设为 /usr/Informix 
超级用户下把安装文件夹(例如文件夹名为online)拷入informix目录 
文件夹内容包括:ESQL.CPI SQL7.20.CPI 4GL7.20.CPI IDS.CPI 
lszhcn.tar Lincese.txt 
# cat lincese.txt 
IDS 7.31.UC5-1 S/N: AAC#J900749 KEY: CYJPJX 
ESQL/C 7.23.UC13 S/N: AAC#J698416 KEY: QSUKKQ 
4GL 7.20.UD7 S/N: AAC#J900751 KEY: HRTPJY 
SQL 7.20.UD7 S/N: AAC#J900752 KEY: AOMXJQ 
./installzhc S/N:AAC#J314937 KEY: JCXQJV 
load line: cpio -icdumvB < /dev/
在/usr/informix目录下执行 cpio –icdumvB < online/SQL.CPI 等.CPI文件 
# INFORMIXDIR=/usr/Informix 
# export INFORMIXDIR 
开始安装,安装顺序为:SQL > 4GL > ESQL > IDS > ./installzhcn 
2、 informix用户登陆,设置环境变量 
$ vi /usr/Informix/.profile 
INFORMIXDIR=/usr/informix 
INFORMIXSERVER=cld3300b_tcp 
INFORMIXSERVERALIAS=cld3300b_shm 
ONCONFIG=onconfig.cld3300b 
export ONCONFIG INFORMIXDIR INFORMIXSERVER INFORMIXSERVERALIAS 
LD_LIBRARY_PATH=$INFORMIXDIR/lib:$INFORMIXDIR/lib/esql 
CLIENT_LOCALE=zh_cn.gb 
DB_LOCALE=zh_cn.gb 
#SERVER_LOCALE=zh_cn.gb 
DBDATE=y4md/ 
TERMCAP=$INFORMIXDIR/etc/Termcap 
export LD_LIBRARY_PATH CLIENT_LOCALE DB_LOCALE SERVER_LOCALE DBDATE TERMCAP 
TERM=vt100 
PATH=$PATH:$HOME/bin:$INFORMIXDIR/bin # set command search path 
MAIL=/usr/spool/mail/`logname` # mailbox location 
LANG=english_us.8859 
export TERM PATH MAIL LANG 
3、 配置文件的默认路径和名称为$INFORMIXDIR/etc/sqlhosts。 
该文件的第一个字段包含了配置参数的DBSERVERNAME的值,该值只能有一个。 
对于dbservername nettype hostname servicename 
各字段的含义为; 
* dbservername onconfig文件中的DBSERVERNAME的值 
* nettype 对于共享内存连接应设为onipcshm 
对于tli tcp/ip连接应设为ontlitcp 
对于scokets tcp/ip连接应设为onsoctcp 
* hostname 机器的主机名 
* servicename 文件/etc/services中的服务名, 
对于采用共享内存方式连接的无用 
我的设置如下: 
# dbservername nettype hostname servicename 
cld3300b_tcp ontlitcp surrogat ifx_service 
cld3300b_shm onipcshm surrogat sqlexec 
# vi /etc/services 
最后添一条ifx_service 23451/tcp 
4、配置核心参数 
(1)、共享内存配置 
# vi /etc/conf/cf.d/mtune (UNIX默认核心参数) 
# vi /etc/conf/cf.d/stune 修改其中值,即可替代mtune中设置的默认值 
参数设置参考以下文档: 
# more /usr/Informix/release/en_us/0333/IDS_7.3 
需要修改的值如下(根据机子情况而定): 
INFORMIX-OnLine Shared Memory Parameters (in Bytes): 
=================================================== 
SHMMAX: 409600000 
SHMMIN: 1 
SHMALL: 512 
SHMMNI: 100 
SHMSEG: 6 
Kernel Parameters recommended for Informix ONLINE: 
================================================== 
MAXUMEM:524287 
SEMMNI: 8192 
SEMMNS: 8192 
SEMMAP: 8192 
SEMMNU: 100 
SEMMSL: 25 
我的配置如下: 
NODE"surrogat" 
NSPTTYS 64 
EVQUEUES72 
EVDEVS80 
NUMSP256 
NSTREAM 4352 
NHINODE 1024 
GPGSLO2000 
GPGSHI6000 
PLOWBUFS1024 
NSTRPAGES6000 
NAIOPROC20 
NAIOREQ 400 
NAIOBUF 400 
NAIOHBUF 100 
NAIOREQPP 400 
NAIOLOCKTBL 50 
MAX_PROC 10000 
MAXUMEM 524287 
NCALL 256 
NCLIST 512 
NSTREVENT 14848 
NUMTIM 1888 
NUMTRW 1888 
SDSKOUT 64 
SEMMAP 8192 
SEMMNI 8192 
SEMMNS 8192 
SEMMSL 150 
SEMMNU 100 
SHMMAX 409600000 
TTHOG 4096 
SECLUID 0 
SECSTOPIO 1 
SECCLEARID 1 
SHMMIN 1 
注意事项: 
#vi mtune 
{此文件格式如下: 
... *Shared Memory Parameters 
SHMMAX 1048576 131072 80530637 
SHMMIN 1 1 1 
其中:第一列为UNIX系统参数名,第二列为参数当前值,第三列为参数最小值,第四列为参数最大值。} 
然后根据上面记录下来的数据依此检查每个参数,如果: 
Ⅰ、A. 所记录的系统参数名存在; 
B. 所记录的系统参数值在最小值和最大值之间 
则用记录下来的参数值取代此参数的当前值。 
Ⅱ. 如果所记录的参数的值大于最大值,则修改此参数的当前值为最大值。 
Ⅲ. 如果所记录的参数值小于最小值,则不修改此参数值。 
(2)、重新连接核心,使新的核心参数生效 
依次执行命令: 
#cd /etc/conf/cf.d 
#./link_unix 
系统提示: 
Do you want this kernel to boot by default?(y/n) 输入:y 
Do you want the kernel environment rebuilt?(y/n) 输入:y 
#reboot 
5、准备数据库空间dbspace 
(1)、通常采用的方式是Raw Device,也称“裸设备”,就是在安装Unix磁盘时,用divvy命令在磁盘分区中建立一块Non FS分区,对此分区的大小预先要估算好。Online系统对“裸设备”的管理比Unix文件系统的管理效率高很多。 
在为系统准备磁盘空间时,必须首先设立正确的权限,并且建议为原始设备建立连接,并且每个chunk不得大于2G。 
# divvy –m /dev/rhd02 
我的配置如下: 
+-------------------+------------+--------+---+-------------+------------+ 
| Name | Type | New FS | # | First Block | Last Block | 
+-------------------+------------+--------+---+-------------+------------+ 
| dbspace00 | EAFS | no | 0 | 0| 1999999| 
| dbspace01 | NON FS | no | 1 | 2000000| 3999999| 
| dbspace02 | NON FS | no | 2 | 4000000| 5999999| 
| dbspace03 | NON FS | no | 3 | 6000000| 7999999| 
| dbspace04 | NON FS | no | 4 | 8000000| 9999999| 
| dbspace05 | NON FS | no | 5 | 10000000| 11999999| 
| | NON FS | no | 6 | 12000000| 12002696| 
| hd02 | WHOLE DISK | no | 7 | 0| 12002696| 
+-------------------+------------+--------+---+-------------+------------+ 
# divvy -m /dev/rhd03 
我的配置如下: 
+-------------------+------------+--------+---+-------------+------------+ 
| Name | Type | New FS | # | First Block | Last Block | 
+-------------------+------------+--------+---+-------------+------------+ 
| dbspace10 | NON FS | no | 0 | 0| 1999999| 
| dbspace11 | NON FS | no | 1 | 2000000| 3999999| 
| dbspace12 | NON FS | no | 2 | 4000000| 5999999| 
| dbspace13 | NON FS | no | 3 | 6000000| 7999999| 
| dbspace14 | NON FS | no | 4 | 8000000| 9746099| 
| dbspace15 | NON FS | no | 5 | 10000000| 11695000| 
| | NOT USED | no | 6 | -| -| 
| d1037all | WHOLE DISK | no | 7 | 0| 11695823| 
+-------------------+------------+--------+---+-------------+------------+ 
在/dev目录下,自动产生了rdbspace00 – rdbspace05 和 rdbspace10 – rdbspace15 的12个区。 
# chown Informix:Informix rdbspace* 
# chmod 660 rdbspace* 
(2)、建立连接 
# mkdir /dbspaces 
# cd dbspaces 
$ ln –s chunk00 /dev/rdbspace00 等 
我的连接如下: 
lrwxrwxrwx 1 root sys 15 Nov 14 09:44 chunk00 -> /dev/rdbspace00 
lrwxrwxrwx 1 root sys 15 Nov 14 09:45 chunk01 -> /dev/rdbspace01 
lrwxrwxrwx 1 root sys 15 Nov 14 09:45 chunk02 -> /dev/rdbspace02 
lrwxrwxrwx 1 root sys 15 Nov 14 09:45 chunk03 -> /dev/rdbspace03 
lrwxrwxrwx 1 root sys 15 Nov 14 09:45 chunk04 -> /dev/rdbspace04 
lrwxrwxrwx 1 root sys 15 Nov 14 09:45 chunk10 -> /dev/rdbspace10 
lrwxrwxrwx 1 root sys 15 Nov 14 09:46 chunk11 -> /dev/rdbspace11 
lrwxrwxrwx 1 root sys 15 Nov 14 09:46 chunk12 -> /dev/rdbspace12 
lrwxrwxrwx 1 root sys 15 Nov 14 09:46 chunk13 -> /dev/rdbspace13 
lrwxrwxrwx 1 root sys 15 Nov 14 09:46 chunk14 -> /dev/rdbspace14 
lrwxrwxrwx 1 root sys 15 Nov 14 09:43 rootdbs -> /dev/rdbspace05 
lrwxrwxrwx 1 root sys 15 Nov 14 09:43 tempdbs -> /dev/rdbspace15 
6、 数据库初始化 
数据库初始化主要包括初始化磁盘空间和初始化共享内存区。 
第一步首先是磁盘空间的初始化: 
* 运行onmonitor---parameter--- Initialize 
[第一屏] 
INITIALIZATION:进行期望的改变并按ESC 键记录这一改变。 
按中断键中止改变。按F2或CTRL-F获取显示字段级的帮助。 
DISK PARAMETERS 
Page Size [ 2] Kbytes Mirror [N] 
Tape Dev. [/dev/null ] 
Block Size [ 16] Kbytes Total Tape Size [ 10240] Kbytes 
Log Tape Dev. [/dev/null ] 
Block Size [ 16] Kbytes Total Tape Size [ 10240] Kbytes 
Stage Blob [ ] 
Root Name [rootdbs ] Root Size [ 2000000] Kbytes 
Primary Path [/dbspaces/rootdbs ] 
Root Offset [ 0] Kbytes 
Mirror Path [ ] 
Mirror Offset [ 0] Kbytes 
Phy. Log Size [ 100000] Kbytes Log. Log Size [ 20000] Kbytes 
Number of Logical Logs [ 20] 
Do you wish Dynamic Server to handle mirroring? (y/n) 
注解: 
* 消息和磁带参数设置: 
#系统归档磁带设备: 
Tape Dev.Temp [/dev/null ] 磁带设备路径 
Block Size [ 16] Kbytes 磁带块大小 
Total Tape Size [10240] Kbytes 磁带最大容量 
#日志归档磁带设备: 
Log Tape Dev. [/dev/null ] 日志磁带设备路径 
Block Size [ 16] Kbytes 日志磁带设备大小 
Total Tape Size [10240] Kbytes 输出到磁带的最大数据量 
Stage Blob [ ] INFORMIX的关机缓冲区 
* ROOT初始化参数设置: 
#root dbspace的配置: 
Root Name [rootdbs ] root dbspace的名字 
Root Size root dbspace的大小 
Primary Path [/dbspaces/rootdbs ] root dbspace的设备路径 
Root Offset [ 0] Kbytes root dbspace设备的偏移量 
#磁盘镜像配置参数: 
Mirror [ N ] 镜像标志(YES=1,NO=0) 
Mirror Path [ ] 镜像root dbspace的设备路径 
Mirror Offset [ 0] Kbytes 镜像root dbspace设备的偏移量 
#物理日志配置: 
Phy. Log Size [100000] Kbytes 物理日志文件大小 
#逻辑日志配置: 
Log. Log Size [20000] Kbytes 逻辑日志大小 
Number of Logical Logs [ 20] 逻辑日志文件数量 
消息和磁带参数设置中归档磁带设备:Tape Dev.temp、Log Tape Dev应根据具体磁带机的配置情况进行设置,在此将该字段设为 [/dev/null ]; 
ROOT初始化参数设置中Primary Path 字段设为 [/dbspaces/rootdbs ],即指向根数据库空间的路径。一般在安装UNIX时,即为其预留出单独的某个分区(此处设分区名为rootdbs)。Root Size 即是分配给informix存放数据的空间大小,以Kbyte为单位。它的大小计算如下: 
A.以root登陆,使用命令: 
#divvy 
B.记录下Name 为dbspace分区的First Block 和 Last Block 
例:某dbspace空间的First Block值为:750001 
Last Block值为:1253436 
C.计算Root Size的值<=Last Block - First Block+1 
所以,以上面的数据为例,Root Size<=1253436-750001+1 
=503436 
注意:Root Size的值应能被2整除。 
对于物理日志与逻辑日志和的大小的确定有以下几个原则: 
* Phy. Log Size(物理日志文件大小)= root size/20 
* Log. Log Size (单个逻辑日志大小) = Phy. Log Size /2 
* Number of Logical Logs [ 20] (逻辑日志文件数量) 
修改完毕后按ESC键确认,如果参数配置有不合理之处,光标将停留在相应字段处。如果设置正确将进行下一步; 
共享内存的初始化: 

[第二屏] 
SHARED MEMORY:进行期望的改变并按ESC 键记录这一改变。 
按中断键中止改变。按F2或CTRL-F获取显示字段级的帮助。 
SHARED MEMORY PARAMETERS 
Server Number [ 8] Server Name [cld3300b_tcp ] 
Server Aliases [cld3300b_shm ] 
Dbspace Temp [tempdbs ] 
Deadlock Timeout [ 60] Secs Number of Page Cleaners [ 1] 
Forced Residency [N] Stack Size (K) [ 32] 
Non Res. SegSize (K) [ 32768] Optical Cache Size (K) [ 0] 
Dbspace Down Option [1] 
Preserve Log For Log Backup [N] 
Heterogeneous Commit [N] Transaction Timeout [ 300] 
Physical Log Buffer Size [ 2048] K Long TX HWM [ 50] 
Logical Log Buffer Size [ 2048] K Long TX HWM Exclusive [ 60] 
Max # of Logical Logs [ 20] Index Page Fill Factor [ 90] 
Max # of Locks [ 200000] Add SegSize (K) [ 8192] 
Max # of Buffers [ 200000] Total Memory (K) [ 0] 
Resident Shared Memory size [ 440686] Kbytes Page Size [ 2] Kbytes 

Enter a unique value to be associated with this version of INFORMIX-OnLine. 
注解: 
* 系统参数配置: 
Server Number [ 8] 每个服务器的唯一值 
Server Name [cld3300b_tcp ] 数据库服务器主名 
Server Aliases [cld3300b_tcp ] 数据库服务器别名 
Dbspace Temp [cld3300b_tcp ] 临时数据库空间 
Deadlock Timeout [ 60 ] 在分布环境下等待锁的最长时间 
Forced Residency [ N ] 强制驻留标志 
Stack Size (K) [ 32 ] 堆栈大小 
Non Res. SegSize (K) [32768] 非驻留段大小 
Transaction Timeout [ 300] 交易超时间隔 
Physical Log Buffer Size [2048] K 物理日志缓冲区大小 
Logical Log Buffer Size [2048] K 逻辑日志缓冲区大小 
Max # of Logical Logs [ 20] 逻辑日志最大数 
Max # of Locks [200000] 锁最大数 
Max # of Buffers [200000] 缓冲区最大值 
Index Page Fill Factor [ 90] 索引页填充因子 
Resident Shared Memory size [440686] Kb共享内存驻留区大小 
Page Size [ 2] Kb页大小 
* 同样的,键入ESC 确认正确后,进入下一步: 

[第三屏] 
性能:作所需要的修改然后敲 ESC 来记录改动。 
按中断键中止改变。按F2或CTRL-F获取显示字段级的帮助。 
PERFORMANCE TUNING PARAMETERS 
Multiprocessor Machine [N] LRU Max Dirty [ 20] 
Num Procs to Affinity [0] LRU Min Dirty [ 10] 
Proc num to start with [0] Checkpoint Interval [300] 
Num of Read Ahead Pages [ ] 
CPU VPs [ 1] Read Ahead Threshold [ ] 
AIO VPs [ 12] 
Single CPU VP [N] NETTYPE settings: 
Use OS Time [N] Protocol Threads Users VP-class 
Disable Priority Aging [Y] [tlitcp] [ 1] [ 20] [NET] 
Off-Line Recovery Threads [ 10] [ipcshm] [ 1] [ 20] [CPU] 
On-Line Recovery Threads [ 1] [ ] [ ] [ ] [ ] 
Num of LRUS queues [ 8] [ ] [ ] [ ] [ ] 
Are you running on a multiprocessor machine? 
注解: 
* 系统参数配置: 
Multiprocessor Machine [N] 0 单处理器,1 多处理器 
CPU VPs [ 1] 用户CPU VPS 数量 
NETTYPE settings: 为NETTYPE配置轮询线索 
Protocol Threads Users VP-class 
[ipcshm] [ 1] [ 20] [CPU] 
说明:此处的参数在初次初始化Informix的时只需修改Protocol Threads Users VP-class,Protocol Threads 
VP-class 三个参数的设置见上表, usr下的数值应设置成你所购买的数据库的用户数。 
* 键入ESC 确认正确后,进入下一步: 
接下来几屏都默认,然后初始化。 
(7)、新建tempdbs、datadbs和add chunk 
新建tempdbs: 
# onmonitor dbspaces > create 
[屏幕输出] 
按ESC键建立新的DBspace。 
请按中断键取消该选项并返回Dbspaces菜单 
按F2或CTRL-F获取显示字段级的帮助。 
CREATE DBSPACE 
Dbspace Name [ tempdbs ] Mirror [N ] Temp [Y ] 
PRIMARY CHUNK INFORMATION: 
Full Pathname [ /dbspaces/tempdbs ] 
Offset [ 0] Kbytes Size [ 2,000,000 ] Kbytes 
MIRROR CHUNK INFORMATION: 
Full Pathname [ ] 
Offset [ 0] Kbytes 

新建datadbs: 
# onmonitor dbspaces > create 
[屏幕输出] 
按ESC键建立新的DBspace。 
请按中断键取消该选项并返回Dbspaces菜单 
按F2或CTRL-F获取显示字段级的帮助。 
CREATE DBSPACE 
Dbspace Name [ datadbs ] Mirror [ N] Temp [N] 
PRIMARY CHUNK INFORMATION: 
Full Pathname [ /dbspaces/chunk00 ] 
Offset [ 0] Kbytes Size [ 2,000,000] Kbytes 
MIRROR CHUNK INFORMATION: 
Full Pathname [ ] 
Offset [ 0] Kbytes 
为datadbs加chunk: 
# onmonitor dbspaces > add_chunk 
[屏幕输出] 
按ESC键增加新的大块。 
按中断键取消该选项并返回Dbspaces菜单 
按F2或CTRL-F获取显示字段级的帮助。 
ADD CHUNK TO DBSPACE 
Dbspace Name [datadbs ] Mirror [N] Temp [N] 
PRIMARY CHUNK INFORMATION: 
Full Pathname [ /dbspaces/chunk01 (添加你想要的chunk) ] 
Offset [ 0] Kbytes Size [ 2,000,000] Kbytes 
MIRROR CHUNK INFORMATION: 
Full Pathname [ ] 
Offset [ 0] Kbytes 
然后执行 onitit –iy 
至此,数据库安装、配置和初始化基本完成。 
--------------- INFORMIX ONLINE 7.31安装完成 -----------
阅读(483) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~