使用root注册,使用scoadmin系统命令建立组名为“informix”,用户名为“informix”的用户,
其“home directory”缺省为“/usr/informix”,在这里我使用缺省值。
其中,组号必须大于100,user id 大于200。
2. 设置安装所需要的环境变量
使用root注册,设置PATH和INFORMIXDIR环境变量
B shell:
#INFORMIXDIR=/usr/informix
#PATH=$PATH:$INFORMIXDIR
#export INFORMIXDIR
C shell:
#setenv INFORMIXDIR /usr/informix
#setenv PATH ${INFORMIXDIR}/bin:${PATH}
并将目录改变到/usr/informix,执行命令
#cd /usr/informix
3. 产品的安装(次序SQL->4GL->ESQL->IDS->GLS)
1)将SQL光盘插入光驱,执行命令
# mount /dev/cd0 /mnt
2)拷贝介质
介质如为tar格式,则执行:#tar xvf /mnt/SQL.tar
介质如为cpio格式,则执行:#cpio –icvdumB < /mnt/SQL.cpi
3)执行安装命令
# ./installsql
输入许可证提供的序列号,如:INF#Xxxxxxx
输入许可证提供的KEY:如AAABBB
注意必须是大写字母
4)卸载软件光盘,执行命令
#umount /mnt
B、安装4GL
1)将4GL光盘插入光驱,执行命令
# mount /dev/cd0 /mnt
2)拷贝介质
介质如为tar格式,则执行:#tar xvf /mnt/4GL.tar
介质如为cpio格式,则执行:#cpio –icvdumB < /mnt/4GL.cpi
3)执行安装命令
# ./install4gl
输入许可证提供的序列号,如:INF#Xxxxxxx
输入许可证提供的KEY:如AAABBB
注意必须是大写字母
4)卸载软件光盘,执行命令
# unmount /mnt
C、安装ESQL
1)将ESQL光盘插入光驱,执行命令
# mount /dev/cd0 /mnt
2)拷贝介质
介质如为tar格式,则执行:#tar xvf /mnt/ESQL.tar
介质如为cpio格式,则执行:#cpio –icvdumB < /mnt/ESQL.cpi
3)执行安装命令
# ./installesql
输入许可证提供的序列号,如:INF#Xxxxxxx
输入许可证提供的KEY:如AAABBB
注意必须是大写字母
4)卸载软件光盘,执行命令
# unmount /mnt
D、安装IDS7.31
1)将IDS7.31盘插入光驱,执行命令
# mount /dev/cd0 /mnt
2)拷贝介质
介质如为tar格式,则执行:#tar xvf /mnt/IDS.tar
介质如为cpio格式,则执行:#cpio –icvdumB < /mnt/ IDS.CPI
3)执行安装命令
# ./installserver
输入许可证提供的序列号,如:INF#Xxxxxxx
输入许可证提供的KEY:如AAABBB
注意必须是大写字母
4)卸载软件光盘,执行命令
# unmount /mnt
D、安装GLS
1)将GLS光盘插入光驱,执行命令
# mount /dev/cd0 /mnt
2)拷贝介质
介质如为tar格式,则执行:#tar xvf /mnt/LS732.tar
介质如为cpio格式,则执行:#cpio –icvdumB < /mnt/LS732.CPI
3)执行安装命令
# ./installzhcn
输入许可证提供的序列号,如:INF#Xxxxxxx
输入许可证提供的KEY:如AAABBB
注意必须是大写字母
4)卸载软件光盘,执行命令
# unmount /mnt
二、配置准备:
1.为数据存储分配原始磁盘空间
online允许使用两种不同的磁盘空间类型:原始的磁盘空间(即裸设备)和处理过的文件系统,使用处理过的文件做dbspace,其性能不如裸设备。使用处理过的文件就不能利用DMA功能(既直接内存访问),将数据从共享内存直接传递到磁盘,所以,为了充分发挥ONLINE的能力我建议读者使用裸设备。
A.裸设备做dbspaces
开始安装SCO系统时,硬盘不要全部给unix,选择custom,剩余部分以后做裸设备!
计算出UNIX系统所需要的磁盘空间,然后剩余的空间全部用作INFORMIX数据库原始空间。
一个硬盘在UNIX系统能分4个分区,一个分区上只能做7裸设备,一个informix chuck
(裸设备)不得大于 2G, 即一个作裸设备的分区最多为 14G,在分区时,一定有先计算好了,
才不会浪费磁盘空间。
1) fdisk 划分磁盘disk分区 创建UNIX分区(Create UNIX Partition)
注意:
start,end,size的数字单位是track
硬盘参数有柱面Cylinder、磁道Head、扇区Sector
cylinder*head=track
track*sector=block
1block=512b
c*h*s*512=硬盘大小(b) /1024=硬盘大小(kb) /1024=硬盘大小(Mb)
柱面*柱头*扇区=块 1block=512b
2)divvy划分文件系统filesystem分区
# divvy –m /dev/rhd02
/*** rhd02——第一块(0)硬盘(rhd)第二分区(2),对应上面的Partition2
Please enter the number of file systems you want this area
to be divided into, or press to get the default of 17 file system(s)
2
+------------------+------------+--------+---+-------------+------------+
| Name | Type | New FS | # | First Block | Last Block |
+------------------+------------+--------+---+-------------+------------+
| dbspace01 | NON FS | no | 0 | 0| 1999999|
| dbspace02 | NON FS | no | 1 | 2000000| 3999999|
| dbspace03 | NON FS | no | 2 | 4000000| 5999999|
| dbspace04 | NON FS | no | 3 | 6000000| 7999999|
| dbspace05 | NON FS | no | 4 | 8000000| 9999999|
| | NOT USED | no | 5 | -| -|
| | NOT USED | no | 6 | -| -|
| hd02 | WHOLE DISK | no | 7 | 0| 10239999|
+------------------+------------+--------+---+-------------+------------+
10238992 1K blocks for divisions, 1008 1K blocks reserved for the system
n[ame] Name or rename a division.
c[reate] Create a new file system on this division.
t[ype] Select or change filesystem type on new filesystems.
p[revent] Prevent a new file system from being created on this division.
s[tart] Start a division on a different block.
e[nd] End a division on a different block.
r[estore] Restore the original division table.
Enter your choice or q to quit:
------------------------
n:命名filesystem
s:开始block
e:结束block
t:更改类型
-------------------------
# divvy –m /dev/rhd03
+------------------+------------+--------+---+-------------+------------+
| Name | Type | New FS | # | First Block | Last Block |
+------------------+------------+--------+---+-------------+------------+
| dbspace06 | NON FS | no | 0 | 0| 1999999|
| dbspace07 | NON FS | no | 1 | 2000000| 3999999|
| dbspace08 | NON FS | no | 2 | 4000000| 5999999|
| dbspace09 | NON FS | no | 3 | 6000000| 7999999|
| dbspace10 | NON FS | no | 4 | 8000000| 8972741|
| | NOT USED | no | 5 | -| -|
| | NOT USED | no | 6 | -| -|
| hd03 | WHOLE DISK | no | 7 | 0| 8972742|
+------------------+------------+--------+---+-------------+------------+
备注:
(1)通常采用的方式是Raw Device,也称“裸设备”,就是在安装Unix磁盘时,用divvy命令在磁盘分区中建+--------------+----------+-----------+---------+---------+---------+
|Partition | Status | Type | Start | End | Size |
+--------------+----------+-----------+---------+---------+---------+
| 1 | Active | UNIX | 1 | 570000 | 570000 |
| 2 | Inactive | UNIX | 570001 | 855000 | 285000 |
| 3 | Inactive | UNIX | 855001 | 1139849 | 284849 |
+--------------+----------+-----------+---------+---------+---------+
Total disk size: 2424030 tracks (256 reserved for masterboot and diagnostics)立一块Non FS分区,对此分区的大小预先要估算好(chunk*2,000,000k=14,000,000k)。Online系统
对“裸设备”的管理比Unix文件系统的管理效率高很多。
(2)为系统准备磁盘空间时,必须首先设立正确的权限,并且建议为原始设备建立连接,并且每个chunk不
得大于 2G。在/dev目录下,自动产生dbspace01-dbspace10; rdbspace01-rdbspace10 的10个区。
(3)dbspace**修改权限、属性
# chown –R informix:informix *dbspace*
# chmod 660 *dbspace*
注:在/dev下 ,可以像文件一样操作dbspace,如rm dbspace02
(4)使用符号链接裸设备例如:用informix注册,执行命令#mkdir workdir (创建工作目录)#cd workdir
#ln –s /dev/rdbspaces01 workdbs
#ln –s /dev/rdbspaces02 tmpdbs
#ln –s /dev/rdbspaces03 logdbs
B.使用处理过的文件做dbspaces由于在安装系统时没有分多个磁盘分区,可以用现有的磁盘空间的文件系统.
下面在/dev/root文件系统下创建3个dbspaces,分别为workdbs(业务数据库)、logdbs(逻辑日志、物理日志)、tmpdbs(tmp数据库)# cd
# >workdbs logdbs tmpdbs ‘建立文件'
# chown informix:informix workdbs ‘改变属主和属组'# chown informix:informix logdbs
# chown informix:informix tmpdbs
#chmod 660 workdbs ‘将权限改为660'#chmod 660 logdbs
#chmod 660 tmpdbs
2.SCOUNIX5.05 内核参数的调整对于SCO UNIX平台,INFORMIX-ONLINE7.x需要调整下列核心参数值:
SHMMAX:409600000
SHMMIN:1
SHMALL:512
SHMMNI:100
SHMSEG:6
MAXUMEM:524287
SHMMNI:8192
SEMMNI:8192
SEMMNS:8192
SEMMAP:8292
SEMMNU:100
SEMMSL:25
具体做法:从root注册登录,运行scoadmin在菜单中逐层选择Hardware/Kernel Manager,然后选择Tune Parameters,根据以上值设置核心参数,设置完重连核心,退出并重新启动UNIX。 或从root注册登录,切换到/etc/conf/cf.d下,编辑文件mtune(核心参数范围)和stune(核心参数当前值),修改系统参数。修改后使用命令link_unix 重新链接核心,并重新启动UNIX。注意:如果提示修改的参数超界,则需修改相应核心参数的上界。
三.准备informix初始化环境
1) 编辑/etc/hosts文件,登记网络各机器的名字及网络地址,例如:
IP地址 主机名
192.168.1.2 styx (informix_server1本机)
192.168.1.5 styx1 (informix_client1客户机)
2) 修改 /etc/services,增加informix服务端口名,
一般在该文件的最后一行加入新的两行, 例如:
sqlexec 9999/tcp #informix
sty_service 7777/tcp #informix
其中,online_service是informix服务名,7777为端口号,tcp为传输协议,该端口号必须唯一,
如果和其它端口号有冲突,可以修改。
3) 编辑$INFORMIXDIR/etc/sqlhosts文件
数据库服务器名 网络协议 主机名 服务名
sty onipcshm styx sqlexec (本机服务)
sty_tcp ontlitcp styx sty_service (本地或远程)
第一行sty为INFORMIX-ONLINE的server名,onlipcshm是共享内存方式连接(只限本地),
styx是本地主机名(hostname),sqlexec是服务名。
第二行sty_tcp是增加的一个数据库服务器别名,ontlitcp是使用传输层TCP/IP(本地或远程)
访问数据库,sty_service是第3)步/etc/services中sty_service。
4)语言支持设置
以informix用户注册,
$cd msg
$mv zh_cn zh_CN.gb
目的是为了主控台较好的使用,可将语言包目录转移。
5)设置环境变量
以informix用户注册,编辑.profile文件,增加以下内容:
INFORMIXDIR=/usr/Informix
PATH=$INFORMIXDIR/bin:$HOME/bin:$PATH:.
INFORMIXSERVER=sty (数据库服务器名)
ONCONFIG=onconfig.sty (ONCONFIG配置文件)
DB_LOCALE=zh_CN.gb
CLIENT_LOCALE= zh_CN.gb
DBDATE=MDY4/ (日期类型)
export INFORMIXDIR PATH ONCONFIG DB_LOCALE CLIENT_LOCALE DBDATE
.profile文件编辑后,需退出该用户并重新进入。
6)准备ONCONFIG配置文件,
配置ONCONFIG文件(onconfig.sty)
$ cd /usr/informix/etc(配置文件所在目录)
$cp onconfig.std onconfig.sty(从标准配置文件中拷贝一份,作为配置自己系统的基础)。
用vi 编辑器修改onconfig.sty文件中的值,由于文件中的参数多,所以我主要把重要的参数进行说明:
ROOTNAME=rootdbs #这里我们取缺省rootdbs
ROOTPATH=/usr/informix/workdir # rootdbs的第一个chunk所在原始设备全路径名,
dbs为我们在前面配置的原始dbspaces。
ROOTSIZE=2000000(K)# root dbspace 第一个Chunk的大小,这些空间初始创建逻辑日志、物理日志、和sysmaster数据库,当初始完毕后,就应尽快将日志和临时表从rootdbs中移到
其它原始的dbspaces或处理过的文件中。
DBSERVER NAME(server name)=styx #Online实例必须具有的唯一名,这个名字也是环境变量$INFORMIXSERVER的值,还应当作为$INFORMIXDIR/etc/sqlhosts中的第一个字段。
DBSERVERALIASES(server aliases)=tcp #Online实例的别名,在网上是要唯一的,它是网络访问数据库必须的,在前面配置$INFORMIXDIR/etc/sqlhosts中要用到它。
RESIDENT(Forced Residency)=1 #该参数决定Online实例共享内存的常驻区是否允许从操作系统的共享内存中交换出来,如果服务器的物理内存足够大(512MB以上),建议设置为1(Y), 否则为0(N)。
LOCKS(Max of Locks)=100000 #该参数对共享内存的大小有影响,通常对于较忙的实例我们将它设置为100000。
BUFFERS(Max of buffers)=100000 #这些缓冲区是共享内存常驻区唯一的最大消耗者,对实例共享内存的影响最大。
MULTIPROCESSOR=1 #该参数打开或关闭多处理器封锁机制,如果系统是三个CPU以上,将它设为1(Y),如果是单CPU或双CUP建议设为0(N)。
NETTYPE=ipcshm,1,80,CUP #共享内存数据库服务器通讯方式
NETTYPE=tlitcp,1,80,NET #tcp数据库服务器通讯方式
配置ONLINE的参数很多,以上是只是其中最重要的一部分。
7)以informix用户注册,执行oninit –iy 初始化磁盘空间。
四、ONLINE数据服务器的数据空间分配
做完online初始化后, 查看online 状态,执行命令:
$onstat –
屏幕显示:
Informix Dynamic Server Version 7.31.UC7 -- On-Line -- Up 9 days
00:24:34 --77824 Kbytes
说明online正常启动。
1.增加dbspace 和添加 chuck
创建 dbspace,命令行:
onspaces -c -d dbspacename [-t] -p pathname -o offset
-s size
添加 chuck, 命令行:
onspaces -a dbspacename -p pathname -o offset -s size
-c 表示“创建”操作
-a dbspacename 表示添加空间的数据空间的名字
-d dbspacename,数据空间的名字
-p pathname,指向磁盘分区的符号链接的全路径
-s size,数据空间的大小,以KB为单位
-o offset,如果有的话是指磁盘分区的偏移量,0表示没有偏移量
-t(可选项),表示该数据空间是临时的,否则不需要这个选项
例如:
$cd /usr/Informix/workdir
$l
crw-rw-rw- 1 informix informix 1, 20 Jul 15 11:12 datadbs0@
crw-rw-rw- 1 informix informix 1, 21 Jul 15 11:15 datadbs1@
crw-rw-rw- 1 informix informix 1, 17 Oct 25 14:36 logdbs@
crw-rw-rw- 1 informix informix 1, 18 Oct 25 14:31 phydbs@
crw-rw-rw- 1 informix informix 1, 16 Oct 25 14:36 rootdbs@
crw-rw-rw- 1 informix informix 1, 19 Oct 25 14:31 tempdbs@
说明:已创建指向磁盘分区的符号链接
创建 dbspace:编辑crdbs.sh(创建 dbspace)
$vi crdbs.sh
onspaces -c -d logdbs -p /usr/informix/workdir/logdbs -o 0 -s 1000000
onspaces -c -d phydbs -p /usr/informix/workdir/phydbs -o 0 -s 250000
onspaces -c -d tempdbs -t -p /usr/informix/workdir/tempdbs -o 0 -s 2000000 (临时空间)
onspaces -c -d datadbs -p /usr/informix/workdir/datadbs0 -o 0 -s 2000000
onspaces -a datadbs -p /usr/informix/workdir/datadbs1 -o 0 -s 2000000
(增加chuck)
$chmod 755 crdbs.sh
$./crdbs.sh
一下就完成增加dbspace 和添加 chuck ,查看数据空间状态,执行命令:
$onstat –d
Informix Dynamic Server Version 7.31.UC7 -- On-Line -- Up 9 days 01:54:27 --77824 Kbytes
Dbspaces
address number flags fchunk nchunks flags owner name
84c5813c 1 1 1 1 N informix rootdbs
84c58878 2 1 2 1 N informix logdbs
84c58934 3 1 3 1 N informix phydbs
84c589f0 4 2001 4 1 N T informix tempdbs
84c58aac 5 1 5 2 N informix datadbs
5 active, 2047 maximum
Chunks
address chk/dbs offset size free bpages flags pathname
84c581f8 1 1 0 1000000 948911 PO- /usr/informix/workdir/rootdbs
84c583c8 2 2 0 500000 149947 PO- /usr/informix/workdir/logdbs
84c584b8 3 3 0 150000 24947 PO- /usr/informix/workdir/phydbs
84c585a8 4 4 0 1000000 999947 PO- /usr/informix/workdir/tempdbs
84c58698 5 5 0 1000000 999947 PO- /usr/informix/workdir/datadbs0
84c58788 6 5 0 1000000 999997 PO- /usr/informix/workdir/datadbs1
6 active, 2047 maximum
2.调整逻辑日志
1) 计算新增逻辑日志的个数 n=logdbs大小/50M,假设logdbs 为1G,则
N=1G/50M=20。
2)将数据库设置为静态方式。
$onmode –sy
3) 在logdbs 中创建逻辑日志,执行以下命令20次。
$onparams -a -d logdbs -s 50000
我建议编辑shell文件 如:
$vi crlog.sh
onparams -a -d logdbs -s 50000
onparams -a -d logdbs -s 50000
onparams -a -d logdbs -s 50000
………
写20次该命令行,再执行crlog.sh,一次完成。
$chmod 755 crlog.sh
$./crlog.sh
然后执行:
$ontape -s #空备份,使新增的逻辑日志可用。
查看逻辑日志状态,
$onstat –l
Informix Dynamic Server Version 7.31.UC7 -- On-Line -- Up 9 days 04:58:49 --
77824 Kbytes
Physical Logging
Buffer bufused bufsize numpages numwrits pages/io
P-2 0 256 4570 33 138.48%
phybegin physize phypos phyused %used
300035 125000 60076 0 0.00
Logical Logging
Buffer bufused bufsize numrecs numpages numwrits recs/pages pages/io
L-1 0 256 42 39 39 1.1 1.0
Subsystem numrecs Log Space used
OLDRSAM 42 1368
address number flags uniqid begin size used %used
828861e8 4 U-B---- 4 10080f 500 500 100.00
8288623c 7 U---C-L 5 200035 25000 1005 4.02
82886258 8 F------ 0 2061dd 25000 0 0.00
82886274 9 F------ 0 20c385 25000 0 0.00
82886290 10 F------ 0 21252d 25000 0 0.00
C:当前活动日志 B:表示可用 F:表示空日志
将默认建立在rootdbs 中的6个逻辑日志删除,重复6次以下命令:
$onmode –l #Force to next logical log
确保新增的逻辑日志可用。最后执行:
$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
按要求做备份,
$ontape -s
3. 调整物理日志
计算物理日志大小,将物理日志建立在phydbs 上。物理日志为逻辑日志大小的1/4。
若系统新物理日志大小为1G/4=250M,则在informix 用户下,执行:
$onmode -sy #使实例处于quiescent状态
$onparams -p -s 250000 -d phydbs -y
$ontape -s #在移动物理日志以后应立即创建一个0级备份
$onmode -m #使实例从quiescent状态改变到on-line状态
4.设置临时数据空间,修改$INFORMIXDIR/etc/$ONCONFIG 文件,修改
DBSPACETEMP tempdbs #tempdbs 为临时数据空间名
5.重启数据库
$onmode –ky
$oninit
检查数据库是否正常启动:
$onstat –
Informix Dynamic Server Version 7.31.UC7 -- On-Line -- Up 0 days 00:08:49 --
77824 Kbytes