AIX环境下的INFORMIX安装和配置
羊舌志
2023-12-01
一、INFORMIX数据库服务器产品安装
1、建立“Informix”组和“Informix”用户
以root用户身份注册。
1) 用AIX“smit mkgroup”命令建立一个名为“Informix”的组,组号大于100。
2) 用AIX“smit mkuser”命令建立一个名为“informix”的用户,用户号大于100,该用户属于“Informix”组。
3) 设置“主目录”为:/Informix/info。
4) 使用#passwd informix,设置Informix用户口令为“Informix”。
5) 第一次注册以后可以修改口令。
2、安装产品
1) 安装准备
以root注册,建一目录,如:/cdrom,将光驱安装到这一目录上去。
#mount -r -v cdrfs /dev/cd0 /cdrom
设置安装所需要环境变量:
#INFORMICDIR=/informix/info
#PATH=$PATH:$INFORMIXDIR/bin
#export INFORMIXDIR PATH
将当前目录改变到$INFORMIXDIR:
#cd $INFORMIXDIR
2) 先安装SQL,将SQL光盘插入光驱
a、 介质如果为tar,则执行:#tar xvf /cdrom/SQL.TAR
介质如果cpio,则执行:#cpio -icvdumB </cdrom/SQL.CPIO
b、 执行安装命令#./installsql
输入序列号,如INF#X999999
输入KEY,如AAABBB
3) 然后安装ESQL/C
c、 类似2)中a、,注意文件名为ESQL.TAR或ESQL.CPIO
d、 执行安装命令#./installesql
输入序列号,如INF#X999999,注意字母必须大写
输入KEY,如AAABBB,注意字母必须大写
4) 安装Online,将Online光盘插入光驱,方法同2)。
5) 最后安装GLS,将GLS光盘插入光驱,方法同 2)。
二、INFORMIX ONLINE数据库服务器初始配置
1、操作系统上的准备工作
1) 为数据存储分配原始磁盘空间
可以选择UNIX文件或原始磁盘空间作为Online数据存储空间。
本系统使用原始磁盘空间作为Online数据存储空间。这种方式效率高,安全性好,但要注意在安装操作系统时,预留这部分磁盘空间,并且不能格式化,还应该知道该磁盘空间的设备和大小,并用UNIX连接命令“ln”,将之连接到一个便于记忆和管理的的设备文件。
例:用#smit lvm增加一个逻辑卷rootlv,则/dev/rootlv为安装时预留的原始磁盘空间,通过链接命令“ln”,链接到/informix/disk/disk1。
以root用户注册:
#chgrp informix /dev/rootlv
#chown informix /dev/rootlv
#chmod 660 /dev/rootlv
#ln -s /dev/rootlv /informix/disk/disk1
2) 调节UNIX核心参数
如果UNIX核心参数的缺省值小于Online所需,则需先调整UNIX核心参数。一般情况下,AIX UNIX核心参数缺省值可满足Online需求,暂不调整。
3) 交换驱的调整
使用#smit chps根据以下表格调整SWAP区:
内存 SWAP区
64M >=128M
128M >=256M
256M >=256M
512M >=512M
>=1G =实际物理内存
4) /tmp文件系统的调整
使用#smit chjfs将/tmp文件系统调整到200M。
5) 将异步I/O的设备状态置为“可用”
#mkdev -l aio0
2、设置环境变量
以Informix用户的身份注册,使用vi设置$HOME/.profile文件,加入下列环境变量:
INFORMIXDIR=/informix/info
PATH=$PATH:$INFORMIXDIR/bin
INFORMIXSERVER=数据库服务器名
ONCONFIG=onconfig.xd
DB_LOCALE=zn_CN.gb
CLIENT_LOCALE=an_CN.gb
export INFORMIXDIR PATH ONCONFIG INFORMIXSERVER DB_LOCALE CLIENT_LOCALE DBDATE
注意:
1) .profile文件编辑完后,
2) 执行命令行:$. $HOME/.profile,
3) 输出新设的环境参数。另外其他与informix同
4) 组用户的HOME目录下的.profile文件中也需加入同样的环境参数设置。
5) 不用多国语言支持(GLS),不要设DB_LOCALE及CLIENT_LOCALE。
3、准备ONCONFIG配置文件
$cd $INFORMIXDIR/etc
$cp onconfig.std $ONCONFIG
用vi编辑器修改$ONCONFIG文件中重要参数的值。其中,要注意的参数是:
ROOTPATH /informix/disk/disk1
ROOTOFFSET 100
ROOTSIZE 40000
TAPEDEV 数据备份恢复介质,在第一次初始化时用/dev/null。
LTAPEDEV 日志备份/恢复介质,在第一次初始化时用/dev/null。
PHYSFILE LOGDBS/4,假设logdbs为400M,PHYSFILE=100M,在第一次初始化时用缺省值。
PHYDDBS 物理日志所在空间,在第一次初始时用缺省值。
LOGFILES 逻辑日志的个数,在第一次初始化时用缺省值。
DBSERVERNAME 同$INFORMIXSERVER定义值。
NETTYPE 共1行,为:NETTYPE soctcp,1,用户数,CPU
BUFFERS 物理内存/16/PAGESIZE,即假设PAGESIZE=4K,物理内存为256M,BUFFERS=2560000K/16/4K=4000
LOCKS BUFFERS×10
LOGSMAX 逻辑日志的最大个数,logdbs空间大小/10M+6,假设logdbs为400M,则LOGMAX=400M/10M+6=46
4、准备连接文件$INFORMIXDIR/etc/sqlhosts
$cd $INFORMIXDIR/etc
$vi sqlhosts
Online server名 用户协议 主机名 Service名
5、修改/etc/hosts及/etc/services文件
/etc/hosts:应包含主服务器、客户机及网上各机器的名字及网络地址。/etc/services:用vi编辑该文件,加入新的一行:
端口名 6666/tcp
6、启动Online数据库服务器并初始化磁盘空间
1) 启动Online
$oninit -iy
注意:为执行这个命令时,所有在Online磁盘空间上的数据都将被破坏,该命令只能在第一次初始化Online磁盘空间时使用。
2) 为Informix Dynamix Server设计dbspace
a. dbspace划分原则
无论系统提供几个硬盘给Online使用,dbspace均可设计有一个rootdbs、一个logdbs,若干个tempdbs和datadbs。
b. 计算dbspace大小
rootdbs 20M
logdbs datadbs空间/4,其中每一chunk小于2G
phydbs logdbs/3,其中每个chunk小于2G
tempdbs 其中每一chunk小于2G
datadbs 其中每一chunk小于2G
c. 为安全起见,每个硬盘前保留100K空间。
例1:系统提供一个大小为2G的物理硬盘给Online。将硬盘连接到/informix/disk/disk1上。
计算logdbs大小=(2G-40M-80M)/5.3,简化为350000K
计算phydbs大小=350000K/4,简化为100000K
Dbspace 设备名 大小(K) 位移(K) Temp
Rootdbs Disk1 40000 100
Logdbs Disk1 350000 40100
Phydbs Disk1 100000 390100
Tempdbs Disk1 80000 490100
Datadbs1 Disk1 1429900 570100
例2:系统提供3个物理硬盘,假设大小均为2G,并制作成设备文件
/informix/disk/disk1, /informix/disk/disk2, /informix/disk/disk3
Dbspace 设备名 大小(K) 位移(K) Temp
Rootdbs Disk1 40000 100
Logdbs Disk2 1500000 100
Phydbs Disk1 100000 40100
Tempdbs Disk1 100000 140100
Datadbs1 Disk3 1999900 100
Datadbs2 Disk2 499900 1500100
3) 初始化logdbs,tempdbs,及datadbs
用命令行建立dbspace,以下表格为例:
Dbspace 设备名 大小(K) 位移(K) Temp
Rootdbs Disk1 40000 100
Logdbs Disk2 500000 100
Phydbs Disk2 130000 500100
Tempdbs Disk2 100000 630100
Datadbs1 Disk1 1959900 40100
$onspaces -c -d logdbs -p /informix/disk/disk2 -s 500000 -o 100
( This command create a dbspace with the path
"/informix/disk/disk2
" ,size
"500000k
" ,and offset
"100
");
$onspaces -c -d phydbs -p /informix/disk/disk2 -s 130000 -o 500100
$onspaces -c -d tempdbs -t -p /informix/disk/disk2 -s 100000 -o 630100
$onspaces -c -d datadbs -p /informix/disk/disk1 -s 1979900 -o 20100
7、调整逻辑日志和物理日志
1) 调整逻辑日志
在logdbs中建立逻辑日志,再将建立在rootdbs中的逻辑日志删除,启用新建的逻辑日志。步骤如下:
a. 计算新增逻辑日志个数n=logdbs大小/10M,假设logdbs为400M
则:n=400M/10M=40
b. 在logdbs中建立逻辑日志,重复执行40次以下命令:
$onparams -a -d logdbs -s 10000
(This command add a sized 10000k logical log to dbspase logdbs)
然后执行:
$ontape -s
c. 将建立在rootdbs中的逻辑日志删除,重复执行6次以下命令:
$onmode -l
( This command forced to the next logical log, after run 6 times , set the 7th logical log to be used and free the 1st to 6th logical log );
最后执行:
$onparams -d -l 1 -y
(This command dropped the logical log with id of 1);
$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
2) 调整逻辑日志大小, 将物理日志建立在phydbs上。物理日志为逻辑日志的1/4,假设logdbs是400M,则物理日志大小为100M。在informix用户下,执行:
$onmode -sy
( shutdown to single user with no comfirmation)
$onparams -p -s 100000 -d phydbs -y
(change physical log to size
"100000k
")
$onmode -m
8、重新启动Online数据库服务器
1) 修改$INFORMIXDIR/etc/$ONCONFIG文件
a. 指定备份文件,将以下参数改为
TAPEDEV=/dev/tape
LTAPEDEV=/dev/tape
b. LOGSIZE 10000K
PHYSDBS phydbs
PHYSFILE 1/4*logdbs
2) 重新启动一次数据库, 执行命令:
$onmode -ky
(Set informix Server mode to shut_down )
$oninit
3) 检查数据库是否正常启动,执行命令:
$onstat -
如果显示以下信息:
INFORMIX-Online Version 7.22.UC3 --On-Line - Up 00:23:34
**** Kbytes