系统管理
索引:
1.基本概念
(1).chunk
指定给online系统的有效物理磁盘空间单元被称作chunk。一个chunk是一片连续的空间单元,online数据最终存放于此。可能是unix的一个原始设备(raw device),也可能是一个unix文件。
(2).dbspace
这是一个逻辑上的概念,一个dbspace时若干chunk的集合,每个dbspace至少有一个chunk。
每一个online系统至少应有一个dbspace:根dbspace(root dbspace),所有控制online系统的系统信息都被置于其上。
(3).page
页是online系统的基本I/O单位。当特定的机器/操作系统确定之后,page的大小也确定了,是不可改变的。
(4).tblspace
分配给一个特定表的所有页的集合。一个tblspace必须处在唯一的dbspace上,但不必在同一个chunk上。
(5).blobspace
是若干个chunk的集合,这个集合形成了一个装卸BLOB数据的磁盘空间池。
BLOB数据类型用于存放大数据,最大可以达到2GB,在informix中BLOB有两种类型:
- TEXT:包括纯文本信息,为ASCII码形式;
- BYTE:支持任何形式的二进制信息,其中包括图像和数据。
(6).blobpage
通常的页大小对于大数据的blob类型不太适合。一个bloppage是通常页大小的若干倍。
(7).区间
为表分配磁盘空间是以extent(区间)为单元进行的,一个extent是在创建表时确定好的连续磁盘空间大小,每个表都涉及两个extent大小:
- extent size:为表初次分配的extent大小;
- next size:追加到该表的extent大小。
一个extent至少为4page,该值必须为页的偶数倍。
2.管理命令
(1).oninit
启动数据库。
(2).onmode
onmode -ky:关闭数据库。
(3).onstat
查看状态。
3.安装
(1).建立informix用户和组
建立informix组。我们假设组号为100;
建立informix用户,Login组为informix组。我们假设用户号为200。
(2).设置数据库空间
方式一:数据空间采用大文件方式
# cd /usr # mkdir tesedbs # chown informix tesedbs # chgrp informix tesedbs # chmod 770 tesedbs # cd tesedbs # >online_root # chgrp informix online_root # chown informix online_root # chmod 660 online_root
方式二:数据空间采用设备方式
在安装open server5.0.5时,为数据空间创建分区u,分区的大小可根据数据空间的大小酌情选择,一般来说,略大于数据空间即可。
# cd /usr # mkdir tesedbs # chown informix tesedbs # chgrp informix tesedbs # chmod 770 tesedbs # cd tesedbs # ln /dev/ru /usr/tesedb/online_root(这里假设分区u的设备名为/dev/ru) # chgrp informix online_root # chown informix online_root # chmod 660 online_root
两种方法的比较
比较而言,方法二创建的数据空间安全并且速度快,方法一简单易行,因此,方法一适用于一般用户,方法二适用于高级用户。
注意:此时该文件大小为0,待做完初始化后,文件大小改变,它是为数据库开辟的磁盘空间,不应改动。
(3).informix 5.X的安装
设置informix 环境变量
设置INFORMIXDIR和PATH:
# INFORMIXDIR=/usr/informix # export INFORMIXDIR # PATH=$PATH:$INFORMIXDIR/bin # export PATH
进入目录:
# cd $INFORMIXDIR
安装顺序
informix 的安装顺序为:
- informix―ESQL/C
- informix―SQL
- informix―Online
一般只需要安装informix―SQL和informix―Online。
安装方法
将标有“INFORMIX-ONLINE”的光盘插入光驱中,以root登录,执行:
# mount /dev/cd0 /mnt
以informix用户登录,执行:
$ cd /usr/informix $ cpio -icvdBum < /mnt/ONLINE.CPI
cpio命令只是将INFORMIX文件拷贝到计算机硬盘,完整的安装还应执行相应的安装命令。
以root登录,执行SQL产品的安装命令:
# ./installonline
如果安装成功,系统会显示:
Installation of INFORMIX-ONLINE complete .......
此时键入:
# umount /mnt
然后将光盘取出,ONLINE安装就结束了。
修改数据共享内存参数
运行scoadmin命令,选择“Hardware/Kernel Manager”,再选择Kernel菜单下的“Tune Parameters”子菜单。
键入16,根据实际内存大小设定SHMMAX参数,此参数决定了核心所使用的内存大小。
建议将:SHMMAX 524288
改为:SHMMAX 4194304
键入15,设定SEMMAP为30。
重链核心,重启系统。
初始化informix数据库
即配置/usr/informix/etc/tbconfig文件。
以informix用户登录,键入:
$ cd /usr/informix/etc $ cp tbconfig.std tbconfig $ tbmonitor
在INFOMIX-Online的主菜单上选择Parameters,再选择Initialize,数据库参数配置如下:
DISK PARAMETERS Page Size[ 2]Kbytes Mirror [N] Sys.Log File [/usr/informix/online.log ] System Msgs. [/dev/console ] Tape Dev. [/dev/null ] Block Size [16] Kbytes Total Tape size [ 150000] kbytes Log Tape Dev. [/dev/null ] Block Size [16] kbytes Total tape Size [ 150000] Kbytes Root Name [rootdbs ] Root Size [ 51200] Kbytes Primary Path [/usr/tesedbs/online_root ] Offset [ 0] Kbytes Mirror Path [ ] Offset [ 0] Kbytes Phy. Log Size [1000] Kbytes Log. Log Size [500] Kbytes Number of Logical Logs [ 6]
注意:Root Size可以根据自己的实际情况来配置更大一些(上例中,服务器内存为64M),Root Size若设置值为102400(k),对应值为100M。
在配置过程中,若/dev/console 不可用,另开一屏tty,以root登录,键入:
# chmod 776 /dev/console
按ESC键,屏幕显示:
Do you really want to continue?
键入y,回到菜单,选择shared-memory,并回车:
SHARED MEMORY PARAMETERS Page Size [ 2] Kbytes Server Number [ 0] Server Name [ONLINE ] Deadlock Timeout [ 60] Seconds Forced Residency [N] Number of Page Cleaners [ 10] Physical Log Buffer Size [ 200] Kbytes Logical Log Buffer Size [ 200] Kbytes Max # of Logical Logs [ 20] Max # of Users [ 50] Max # of Locks [ 5000] Max # of Buffers [ 5000] Max # of Chunks [ 8] Max # of Open Tblspaces [ 500] Max # of Dbspaces [ 8] ============ Shared memory size [ 12776] Kbytes
注意:上述参数中主要修改Max#of Users,Max#of Buffers(上例中,服务器内存为64M,推荐值为50,5000)。
(4).informix 7.X的安装
安装软件包
以root用户登录,进入informix目录如/usr/informix,执行命令:
INOFRMIXDIR=/usr/informix;export INFORMIXDIR
执行命令:
cpio -icvdBum < AAAAA
其中AAAAA为INFORMIX软件包的文件名。
解包INFORMIX软件,并执行相应shell完成注册。
Informix 的解包顺序为:
- Informix―ESQL/C
- Informix―SQL
- Informix―Online
修改数据共享内存参数
root登录,在提示符下执行scoadmin:
# scoadmin
依次选择“HardWare/Kernel Manager”,“Parameters:[Tune Parameters...]”,对系统参数做如下调整:
第16项:SHMMAX 524288--->409600000
第15项:SEMMAP--->30
如果系统参数已达到或超过调整值,可按照系统已有配置;
在上层菜单中选择“Kernel: [Relink Kernel ]”重新链接核心;
重新启动。
设置informix环境
在文件/etc/services中追加一行:
ontese 8200/tcp
改用informix用户登录,执行命令:
INFORMIXDIR=/usr/informix;export INFORMIXDIR ONCONFIG=onconfig;export ONCONFIG INFORMIXSERVER=TESESRV;export INFORMIXSERVER
在文件/usr/informix/etc/sqlhosts中追加一行:
TESESRV ontlitcp localhost ontese
配置数据空间
执行命令onmonitor,选择菜单“Parameters->Initialize”初始化数据空间。如下所示:
第一页:
DISK PARAMETERS Page Size [ 2 ] Kbytes Mirror [N] Tape Dev. [/dev/rct0 ] Block Size [ 16 ] Kbytes Total Tape Size [ 250000 ] Kbytes Log Tape Dev. [/dev/null ] Block Size [16 ] Kbytes Total Tape Size [10240 ] Kbytes Stage Blob [ ] Root Name [ tesedbs ] *Root Size [ 150000 ] Kbytes Primary Path [/usr/tesedbs/online_root ] Root Offset [ 0 ] Kbytes Mirror Path [ ] Mirror Offset [ 0 ] Kbytes *Phy. Log Size [2000 ] Kbytes *Log. Log Size [ 800 ] Kbytes *Numbers of Logical Logs [ 10 ]
第二页:
SHARED MEMORY PARAMETERS Server Number [ 1] Server Name [tesesrv ] Server Aliases [ ] Dbspace Temp [ ] Deadlock Timeout [ 60] Secs Number of Page Cleaners [1] Forced Residency [N] Stack Size (K) [ 32] Non Res. SegSize (K) [ 8000] Optical Cache Size (K) [ 0] Dbspace Down Option [2] Preserve Log For Log Backup [N] Heterogeneous Commit [N] Transaction Timeout [ 300] Physical Log Buffer Size [640]K Long TX HWM [ 50] Logical Log Buffer Size [640] K Long TX HWM Exclusive [ 60] Max # of Logical Logs [ 20] Index Page Fill Factor [ 90] Max # of Locks [80000] Add SegSize (K) [ 8192] Max # of Buffers [400] Total Memory (K) [ 32000] Resident Shared Memory size [10118] Kbytes Page Size [2] Kbytes
第一页和第二页中有部分参数必须调整,因此在这里详细列出,而后面的参数用默认值即可。
另外,前面以"*"标注的参数项,其值可以酌情设定。
(5).打开informix 的事务处理机制
在安装完应用系统的数据库后,应打开informix的事务处理机制,以便应用系统程序中的事务处理生效。
informix-online5.X设置步骤
informix用户登录,运行tbmonitor进入主菜单。
将informix引擎的off_line状态,改为Quiesceut状态。方法为:在主菜单中选Mode-> Immediate-Shutdown;
做Archive。方法:主菜单中选Archive->Create->0;
改变逻辑日志方式。方法:
主菜单中选logical-logs à databases;
选中应用系统的数据库(tese的数据库名为vtdb),查看logstatus,若为B则状态正确。
用ctrl-b进入修改画面。
选中buffered logging用ctrl-b确认。
再次进入第二步中如果log status为B,则配置成功。
INFORMIX 7.X设置方法
使用如下命令:
ontape -s -mode databasename
其中,mode:
- B-----有缓冲日志;
- U-----无缓冲日志;
- A-----依从ANSI标准。
其他方法
informix-online5.10,informix用户登录:
$ tbinit $ tbtape -s -B vtdb
根据提示输入0回车即可
informix-online7.2,Informix用户登录:
$ oninit $ ontape -s -L 0 -B vtdb $ onmonitor -> logical-logs -> database
查看vtdb数据库logstatus,若为B则状态正确。
(6).扩大数据库空间
若剩余空间不足,可以通过为rootdbs增加chunk来扩大可使用的空间,方法如下:
informix 5.x:
tbspaces -a RootName -s size(k) -o 0 -p FileName
Informix 7.x:
onspaces -a RootName -s size(k) -o 0 -p FileName
其中,RootName为tbmonitor(onmonitor)中设置的Root Name,如rootdbs;size为新chunk的大小,以K为单位;FileName为新chunk的物理文件名,该文件必须事先存在,建立方法类似于:
# >new_root # chgrp informix new_root # chown informix new_root # chmod 660 new_root
也可使用菜单的方式,同样的也需先建立new chunk的物理文件,然后执行tbmonitor或onmonitor,选择Dbspaces->Add_chunk。