informix 安装说明

发表于:2007-06-22来源:作者:点击数: 标签:
自informix5.x以后,INFOR MI X公司推出新一代 数据库 引擎ONLINE DYNAMIC SERVER动态服务,一般我们简称ONLINE7.x,ONLINE是一个关系数据管理(RDBMS), 它的任务是提供一个存储、检索、修改和删除数据的环境,它的目标就是使多个物理CPU和大量内存的计算机

   

自informix5.x以后,INFORMIX公司推出新一代数据库引擎ONLINE DYNAMIC SERVER动态服务,一般我们简称ONLINE7.x,ONLINE是一个关系数据管理(RDBMS),

它的任务是提供一个存储、检索、修改和删除数据的环境,它的目标就是使多个物理CPU和大量内存的计算机创建高性能和高稳定性的操作环境,所以ONLINE7.X广泛运用于银行、保险、电信、邮电等对于速度和安全性较高的部门。

一.Informix7.30的安装

 

1.建立infomix组和informix用户

 

1) root用户登录

 

2) 使用SCOADMIN系统命令建立组名为"informix",用户名为"infomix"的用户,"home directory"缺省为"/usr/informix",在这里我使用缺省值。

 

2. 产品的安装

 

1) informix用户登录系统,编辑.profile所需的环境变量:

 

INFORMIXDIR=/usr/informix

 

INFORMIXSERVER=服务器(例如mzd2002)

 

ONCONFIG=配置文件名(例如onconfig.mzd2002

 

LD_LIBRARY=$INFORMIX/lib:$INFORMIXDIR/lib/esql

 

PATH=$INFORMIX/bin:$INFORMIX/lib:$PATH

 

Export INFORMIXDIR INFORMIXSERVER ONCONFIG PATH LD_LIBRARY

 

注:这里最重要的两个参数为INFORMIXSERVERONCONFIG文件(存放在$INFORMIXDIR/etc).

 

2) 执行 ./.profle 使上述设置的环境变量生效。

 

3) 安装INFORMIX-SQLINFORMIX-4GLINFORMIX-IDS7.3,请严格按以上步骤安装(我就曾经没按照顺序安装,结果最后ONLINE怎么也启动不了,而且报错也是莫名其妙,"CAN'T FIND MESSAGE FILE AND DBLANG").

 

4)以root用户登录并插入SQL光盘

 

# mount /dev/cd0 /mnt

 

# tar xvf /mnt/SQL.TAR

 

# ./installsql

 

输入许可证提供的序列号,如:INF#Xxxxxxx

 

输入许可证提供的KEY:如AAABBB

 

注意必须是大写字母

 

# unmount /mnt

 

插入4GL光盘

 

# mount /dev/cd0 /mnt

 

# tar xvf /mnt/4GL.TAR

 

# ./install4gl

 

# unmount /mnt

 

插入IDS7.30光盘

 

# mount /dev/cd0 /mnt

 

# cpio -icvudmB< /mnt/SERVER/IDS.CPI

 

# ./installserver

 

# unmount /mnt

 

: 先安装工具软件,后安装server;先安装低版本,后安装高版本;root下安装。

 

3.准备Informix初始化环境。

 

1 编辑/etc/hosts文件,登记网络各机器的名字及网络地址

 

例如:

 

IP地址 主机名

 

8217325(本机) informix_server1

 

8217328 informix_client1

 

2 修改 /etc/services,增加informix服务端口名

 

例如:

 

online_service 8000/tcp #informix

 

其中,online_serviceinformix服务名,8000为端口号,tcp为传输协议,该端口号必须唯一,如果和其它端口号有冲突,可以修改。

 

4) 编辑$INFORMIXDIR/etc/sqlhosts文件

 

piclearcase/" target="_blank" >cc onipcshm informix_server1 sqlexec

 

tcp ontlitcp informix_server1 online_service

 

第一行piccINFORMIX-ONLINEserver名,onlipcshm是共享内存方式连接(只限本地),informix_server1是本地主机名(hostname),sqlexec是服务名。

 

第二行tcp是增加的一个数据库服务器别名,ontlitcp是使用传输层TCP/IP(本地或远程)访问数据库,online_service是第3)/etc/services中的online_service

 

4.准备数据库空间

 

  online允许使用两种不同的磁盘空间类型:原始的(生设备)磁盘空间和处理过的(熟设备)文件系统,使用处理过的文件做dbspace,其性能不如原始空间。使用处理过的文件就不能利用DMA功能(既直接内存访问),将数据从共享内存直接传递到磁盘,所以,为了充分发挥ONLINE的能力我建议读者使用原始空间。

 

1)使用原始磁盘空间做dbspaces

 

  原始磁盘空间的分配必须在安装SCOUNIX操作系统时完成。具体做法是:安装操作系统划分磁盘空间时,首先计算出UNIX系统所需要的磁盘空间,然后剩余的空间全部用作INFORMIX数据库原始空间,将这部分作一个或多个磁盘分区,如果磁盘空间有多个磁盘,建议做多个,可以单独分配空间给物理日志空间、逻辑日志空间及tmp空间以提高系统的性能。具体做法如: 分区名为dbs(在安装系统时分的磁盘分区),将该分区设置为裸设备(NON FS),在/dev可以找到dbs的设备名/dev/dbs,将dbs的属主和属组改为"infomix",权限改为"660",该分区即为online要求的原始空间,有关Online原始磁盘空间的信息可用命令# divvy /dev/dbs查看,同理,用此方法可以建立dbs1dbs2等原始磁盘空间。

 

2)使用处理过的文件做dbspaces

 

由于在安装系统时没有分多个磁盘分区,可以用现有的磁盘空间的文件系统.

 

下面在/dev/root文件系统下创建3dbspaces,分别为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

 

5.修改SCOUNIX5.05 内核参数

 

对于SCO UNIX平台,INFORMIX-ONLINE7.30需要调整下列核心参数值:(参照$INFORMIXDIR/release/en_us/0333下的IDS7.3文件)

 

SHMMAX:409600000

 

SHMALL:512

 

SHMMNI:8192

 

SHMSEG:6

 

SEMMNI:8192

 

SEMMNS:8192

 

SEMMAP:8292

 

SEMMNU:100

 

SEMMSL:25

 

  具体做法:从root注册登录,运行scoadmin在菜单中逐层选择Hardware/Kernel Manager,然后选择Tune Parameters,根据以上值设置核心参数,设置完重连核心,退出并重新启动UNIX

 

二.初始化informix

 

方法一:配置ONCONFIG文件(onconfig.picc)

 

$ cd /usr/informix/etc(配置文件所在目录)

 

$cp onconfig.std onconfig.picc(从标准配置文件中拷贝一份,作为配置自己系统的基础)

 

vi 编辑器修改onconfig.picc文件中的值,由于文件中的参数多,所以我主要把重要的参数进行说明:

 

ROOTNAME=rootdbs #这里我们取缺省rootdbs

 

ROOTPATH=/dev/dbs # rootdbs的第一个chunk所在原始设备全路径名,dbs为我们在前面配置的原始dbspaces

 

ROOTSIZE=1000000K# root dbspace 第一个Chunk的大小,这些空间初始创建逻辑日志、物理日志、和sysmaster数据库,当初始完毕后,就应尽快将日志和临时表从rootdbs中移到其它原始的dbspaces或处理过的文件中。

 

DBSERVER NAME(server name)=picc #Online实例必须具有的唯一名,这个名字也是环境变量$INFORMIXSERVER的值,还应当作为$INFORMIXDIR/etc/sqlhosts中的第一个字段。

 

DBSERVERALIASES(server aliases)=tcp #Online实例的别名,在网上是要唯一的,它是网络访问数据库必须的,在前面配置$INFORMIXDIR/etc/sqlhosts中要用到它。

 

RESIDENT(Forced Residency)=1 #该参数决定Online实例共享内存的常驻区是否允许从操作系统的共享内存中交换出来,如果服务器的物理内存足够大(512MB以上),建议设置为1Y),否则为0N)。

 

LOCKSMax of Locks=100000 #该参数对共享内存的大小有影响,通常对于较忙的实例我们将它设置为100000

 

BUFFERSMax of buffers=100000 #这些缓冲区是共享内存常驻区唯一的最大消耗者,对实例共享内存的影响最大。

 

MULTIPROCESSOR=1 #该参数打开或关闭多处理器封锁机制,如果系统是三个CPU以上,将它设为1(Y),如果是单CPU或双CUP建议设为0(N)

 

NETTYPE=ipcshm,1,80,CUP #共享内存数据库服务器通讯方式

 

NETTYPE=tlitcp,1,80,NET #tcp数据库服务器通讯方式

 

配置ONLINE的参数很多,以上是只是其中最重要的一部分,如果读者对ONLINE其它参数感兴趣,在以后的章节我会详细介绍。

 

方法二:图形界面

 

  以informix用户登录,运行onmonitor命令,选ParametersàInitialize进入磁盘初始化菜单,配置的参数和方法一相同,建议第一次配置ONLINE的用户用此方法。

 

  配置完ONLINE的参数,现在可以启动并初始化磁盘空间,以informix用户登录,执行 $ oninit -iy 注意:执行此命令后,所有在Online磁盘空间上的数据将被破坏, 也可用图形界面onmonitor命令初始化,总之,这两种命令只能在第一次初始化ONLINE磁盘空间使用,提醒各位读者谨慎使用,以后在启动数据库只需用oninit命令即可,执行$onstat - 命令可以简单查看online是否正常启动,如果正常则显示如下提示信息:

 

Informix Dynamic Server Version 7.30.UC2 -- On-Line -- Up 2 days 21:14:58 -- 163840 Kbytes
三.Informix-online7.30的日常管理及维护

 

1 自动启动关闭Informix-online数据库

 

启动ONLINE的命令是:oninit

 

  但为了便于系统管理员的管理,将启动命令建立在/etc/rc2.d目录下,名字为S90informix, 就象DOS中的批处理文件一样,当启动SCOUNIX操作系统时,online随之启动。

 

编辑文件(root用户下) /etc/rc2.d/S90informix,内容如下

 

INFORMIXDIR=/usr/informix

 

INFORMIXSERVER=picc

 

ONCONFIG=onconfig.picc

 

Export INFORMIXDIR INFORMIXSERVER ONCONFIG

 

INFORMIXDIR/bin/oninit

 

修改文件属性使它用执行权利: #chmod +x /etc/rc2.d/S90informix

 

自动关闭INFORMIX-ONLINE

 

关闭ONLINE的命令为: onmode -ky

 

将关闭命令建立在/etc/rc0.d目录下,编辑文件名为K01informix,内容如下:

 

INFORMIX INFORMIXDIR=/usr/informix

 

INFORMIXSERVER=picc

 

ONCONFIG=onconfig.picc

 

Export INFORMIXDIR INFORMIXSERVER ONCONFIG

 

INFORMIXDIR/bin/onmode -ky

 

修改文件属性使它用执行权利: #chmod +x /etc/rc2.d/K01informix

 

2. INFORMIX ONLINE 的常见工作模式

 

Off-line :实例没有运行,没有分配或初始化共享内存。

 

Quiescent:实例已经完全启动,但不允许用户访问数据库,有些管理任务,像增加删除dbspaces、逻辑日志,必须在实例处于Quiescent状态时才能完成。

 

On-line:实例完全启动,并且对所有有权访问它的用户都是可用的。

 

Shutdown::当实例从Online-line状态到Quiescent时的一种过渡状态,所有用户线索仍然可以继续完成他们的工作直到正常结束,但这时所有新的数据库连接都会被拒绝。

 

下面介绍各个模式相互转换的命令:

 

oninit(将一个配置好的实例从Off-line状态一直变为On-line状态)

 

oninit -s(将一个配置好的实例从Off-line状态一直变为Quiescent状态,现有的用户线索可以继续直到正常结束,但所有新的数据库请求连接将被拒绝)

 

onmode -sy(将实例从On-line状态经过shutdown)

 

onmode -uy(立即终止现有的实例,使之成为Quiescent,所有的用户线索和数据库请求都将被中断)

 

onmode -ky(实例从on-lineQuiescent变为off-line状态)

 

介绍完ONLINE的几种常用工作模式后,下面我们就可以为online增加工作区、逻辑日志、物理日志、临时文件数据库空间了。
3
.管理Informix Online磁盘空间

 

  Online初始化时,自动建立了一个名为rootdbsdbspace。该rootdbs存储Online的管理信息,包括物理日志、逻辑日志等。当你建立一个数据库时,如果不指定dbspace,作为缺省,该库建立在rootdbs中。所以,如果你想将库建立在某个dbspace中,则必须指定dbspace,例如:dbimport 数据库名 -d dbspace

 

  注意:在建dbspace时,要指定原始磁盘设备名路径,所需磁盘空间大小,以及该块磁盘空间在原始磁盘设备中的偏移量,偏移量非常关键,要小心设置,否则容易造成chunk块之间空间上的重叠与覆盖。

 

1 onspaces 命令建立dbspace

 

onspaces -c -d dbspaces -p 磁盘设备 -o 偏移量 -s 空间大小

 

其中: -c 表示建立新的dbspace

 

-d dbspace 名字

 

-p 原始磁盘设备全路径名,如/dev/dbs

 

-o 偏移量,以K字节为单位

 

-s dbspace中第一个chunk的尺寸,以K字节为单位

 

例如: 假设原始磁盘设备/dev/dbs1000M空间,其中rootdbs100Mtmpdbs 100Mworkdbs800M

 

$ onspaces -c -d tmpdbs -p /dev/dbs -o 100000 -s 100000

 

$onspaces -c -d workdbs -p /dev/dbs -o 200000 -s 8000000

 

2)onspaces 命令建立物理日志、逻辑日志空间

 

物理日志保存数据被修改前的映象,物理日志的位置和大小可以改变,使用onparams命令可以改变日志的位置和大小,必须在ONLINDEQuiescent(静态方式)后执行。

 

$ onparams -p -s 大小 -d dbspace

 

大小是以K为单位,建议物理日志大小为100M

 

  逻辑日志是保存数据在修改后的映象,ONLINE初始化时,逻辑日志个数最少为3个,所以在初始化前可以给逻辑日志个数为3,大小可以少一点例如1000K,等初始化完后,在添加新的逻辑日志,最后再将前面的3个逻辑日志删除,总逻辑日志最好在500M左右。具体做法如下:

 

informix用户登录,

 

$ onmode -uy (Online切换到Quiescent状态)

 

$ onparams -a -d logdbs -s 100000

 

其中logdbsdbspaces -s 100000 表示增加了100M空间。

 

  再连续执行4遍上述命令,这样新的逻辑日志空间总共为500M,可以用onstat -l 查看逻辑日志情况,接下来就要删除前面3个旧逻辑日志,删除前做一个0级备份

 

# ontape -s -L 0

 

$ onparams -d -l logid

 

logid 为逻辑日志id号,可以用onstat -l 查看,然后就可根据id号删除3个旧逻辑日志。

 

四.Informix Online数据库备份及恢复。

 

1. 使用ontape 工具备份

 

1.)ontape 有三个备份级别

 

0 实例中所用的页都被写到磁带上

 

1 备份从0级备份以后发生变化的数据

 

2 备份从1级备份以后发生变化的数据

 

$ ontape -s

原文转自:http://www.ltesting.net