1. informix 体系结构
最小IO单位是page,page组成chunk。
逻辑关系: page-->chunk -->dbspace 跟oracle的类似: block-->extent--segment
物理关系: page-->extent-->tblspace
blobspace 是一种特殊的dbspace对象。用于存储单一大对象。
一个blobspace至少包含一个chunk。
sbspace,由一组chunk组成(至少包含一个chunk)。(逻辑关系)
logical log,连续的pages修改记录条目,用于数据库的逻辑恢复。
physical log,是一种特殊的用于自动恢复的日志。 记录了pages(shared memory中已经被修改的pages)的前镜像。
data caching,发生在当位于disk中的pages数据被读到shared memory中的buffer pool时。
checkpoint,有2两种,full checkpint和fuzzy checkpoint。(即增量和xx)
full checkpoint适用于如下情况:shutdown时或backuped up时。
2. review release notes
1)设置内核参数:信号内核参数,共享内存内核参数以及其他参数。
信号内核参数,semmnl {zd0}设置semaphore sets 数量
semmsl {zd0}可用semapores in a set(通常>=100)
semmns 总的可用semapores
即有如下关系:semmns=semmnl x semmsl
2)shared memory
shmmax ,一个共享内存段的{zd0}值
shmseg ,单个进程所能持有的{zd0}共享内存段的数量(即为多少个segments)
shmmni ,unix 系统本身{zd0}的segments数量
如下关系:
shmmax * shmseg = how much shared memory the server can access
shmmax * shmmni = how much shared memory is available for O/S.
3) 其他内核参数
如number of open files,TCP/IP parameters,maximum processes and users。
3. 配置和连接数据库
本地连接方式主要三种:通过shared memory,stream Pipe以及Network TLI/sockets.
远程连接数据库:通过TCP/IP。支持scokets,TLI(transport layer interface)
$INFORMIXDIR/release 其中的文件可用查看当前系统所支持的dynamic server平台。
$INFORMIXSEVER 环境变量在sqlhosts文件中进行配置。
sqlhosts的信息:dbservername nettype hostname servicename
shm:shared memory
str:stream pipes
tcp:tcp/ip protocol
spx:ipx/spx protcol
4. configure a database server
installation:
1) 准备存储空间 (allocate chunks) 文件系统或裸设备
2) 设置环境变量
3)设置sqlhosts文件
4)配置$INFORMIXDIR/etc
对于裸设备:
一、 create an unmounted piece of disk
二、chmod 660 xx
三、chgrp informix xxx
四、chown informix xxx
对于文件系统
一、touch file_name
二、chmod 660 file_name
三、chgrp informix file_name
四、chown informix file_name
设置环境变量:
INFORMIXDIR,informix软件的安装目录
PATH ,必须包含$INFORMIXDIR/bin
INFORMIXSERVER, 设置DBSERVERNAME或DBSERVERALIASES其中一个就OK了。
以下几个必须配置在数据库服务初始化之前:
-- root dbspace
-- messages
-- server information
如下例子:
ROOTNAME rootdbs
ROOTPATH /dev/online_root
ROOTOFFSET 0
ROOTSIZE 2000 ###root dbspace的大小(KB单位)
MSGPATH /usr/informix/online.log #### 系统log路径
CONSOLE /dev/console #### 系统控制信息路径
默认的一些特定参数:
SERVERNUM ###{wy}和IDS通信的ID
SERVERNAME ###默认的数据库服务名
SERVERALIASES ###name of addititional database server names
在ROOT-DBSPACE初始化的过程中发生了什么事情呢?
1、shared memory被初始化
2、VP进程被启动
3、disk space被校验和分配
4、root space被创建
5、{dy}检查点被初始化
6、sysmaster和sysutils被创建
5. Monitor
主要通过以下几种方法对server进行监控:
一、system monitoring interface(SMI) 并不是一个工具,只是提供一个接口,一个通道
二、onstat
三、oncheck
四、ISA
SMI:
不能lock SMI 表,DML操作不允许,dbschema和dbexport不能被使用在 sysmaters database;另外select rowid可能返回一些未知的结果。
sysmater表(类似于oracle的视图)