Duangw

系统管理

索引:

  1. 基本概念
  2. 管理命令
  3. 安装

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有两种类型:

(6).blobpage

通常的页大小对于大数据的blob类型不太适合。一个bloppage是通常页大小的若干倍。

(7).区间

为表分配磁盘空间是以extent(区间)为单元进行的,一个extent是在创建表时确定好的连续磁盘空间大小,每个表都涉及两个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 的安装顺序为:

  1. informix―ESQL/C
  2. informix―SQL
  3. 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 的解包顺序为:

  1. Informix―ESQL/C
  2. Informix―SQL
  3. 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:

其他方法

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。