本文由satoni在论坛所发,CU技术文章整理,供大家参考学习,转载请注明出处,谢谢。
第三章 数据库服务器的初始化
第一节 数据库服务器初始化时的考虑
用户在建立和初始化其数据的时候,最重要考虑的问题是:数据存储实体选用哪种方案,rawevice 还是cookedfile,是否对数据库空间建立镜像,怎样建立?对于OnLine动态服务器7.1的使用者 还可以考虑数据库系统是否需要数据复制的安全系统以及 如何建立数据复制等等问题。
Raw device和cooked file对于OnLine来说其概念和管理是一致的,因此对较小的数据库系统 其效果相差无几,但对大数据库系统,由于cooked file采用unix的I/O机制,而raw device则采用On-Line自身的I/O机制,因此在效率上raw device会明显快于cooked file,且raw device的数据安全性也 高于cooked file,假设用户不小心删除数据储存实体chunk的文件名后,以cooked file方式定义的数 据库将被删除,而以raw device方式定义的数据储存实体 Chunk 只是描述它的设备文件名被删除, 作为真正的存储数据的数据库空间并没有受到影响, 通过重新建立设备文件名的方法,该数据储 存实体不难恢复,而 cooked file 则无法恢复。
另外从效率上考虑,Raw device的使用在unix系统上还有块设备和字符设备之分,用unix命 令ls-l列设备目录,我们可以看到,有些设备文件名的标识为b而另一些则为c,其中标识为c的设备 为字符设备,作为OnLine数据储存实体来说,字符设备更有利于发挥主机服务器的DMA能力,所以 我们总是定义字符设备为数据储存实体。
数据存储空间的镜像与数据库服务器的复制是OnLine的数据安全机制,我们将在数据安全的章节中给以详细的讲述。
第二节 操作系统上的准备工作
在建立和初始化数据库服务器系统的时候,需要作的准备工作有以下几点:
1 为数据库所使用原始设备计划磁盘空间,并使得在UNIX操作系统上取得该原始设备的描 述。
2 修改INFORMIX环境下的配置文件$INFORMIXDIR/etc/sqlhosts和计算机系统对网络节点、 网络端口的定义文件/etc/hosts、/etc/hosts.equiv和/etc/services。
$ vi $INFORMIXDIR/etc/sqlhosts
online7 ontlitcp changsha sqlexec7
(虚拟服务器名) (网络协议类型) (主机名) (服务端口名)
# vi /etc/hosts
132.147.162.1 changsha
(网络结点) (主机名)
# vi /etc/hosts.equiv
changsha
(主机名)
# vi /etc/services
sqlexec7 8888/tcp
(服务端口名) (端口号)
3 调节操作系统的核心参数,以适应OnLine动态服务器7.1对unix在共享内存及信号量等方面 的需要。
用系统提供的参数管理的工具 ( 例如SCO UNIX的sysadmsh)来进行调整。需要调整的参数也 因数据库产品的版本不同而有所不同,具体可以在成功地安装了数据库服务器后,查看$INFORMIX-DIR /release/ ONLINE_ 7.1中对操作系统参数要求的说明。
例如对于在SCO UNIX 3.2.4.2平台上使用OnLine7的用户, 需要调整的核心参数有SHM- MAX、SHMSEG、SHMMNI、SEMMNI和SEMMSL。因此用户可注册到 root,然后运行 sysad- msh ,在菜单中选择System,然后选择Configure,再选择Kernel,在Kernel选项中选择Parameter, 然后调 整第9项Shared Data中的参数SHMMAX、SHMSEG和SHMMNI以及第8项Semphore中的参数 SEMMNI和 SEMMSL,设置完毕后在Kernel选项中选择 Rebuild,重新构造unix引导核心。 然后退 出sysadmsh,并重新启动 unix。同时需要注意的是,在重新构造核心后,数据库服务器存储 原始设 备名的属主和组定义的改变。
第三节 建立数据在磁盘上组织实体
数据在磁盘上以数据存储块的形式存在,但在逻辑上则是以数据库空间的形式存在。 每 一个数据库空间至少有一个数据存储块,其中最先定义的数据存储块为主数据存储块,而其它的 数据存储块则为附加数据存储块。同时在所有的数据库空间中必定有一个根数据库空间(rootdbs)。 建立数据在磁盘上的组织实体是建立与逻辑概念的数据库空间相对应的数据存储块。数据存储块 的组织方式 有两种:原始磁盘设备形式和 UNIX文件形式。相比起来,原始磁盘设备形式具有较 高的运行效率和可靠性,但是原始磁盘设备形式的数据存储块的建立需要数据库管理员对数据库 服务器所运行的系统的磁盘设备的描述具有足够的知识和经验。
原始磁盘设备形式的数据存储实体的建立方法是将一个特定的原始磁盘 (或部分磁盘) 用 UNIX的链接命令ln链接到一个便于记忆和管理的设备文件。例如在 AT&T SVR4系统中, 有一个 磁盘/dev/rdsk/c0t1d1,而定义中的原始磁盘设备名为rootdbs1,因此数据库管理员以root用户注册, 然后用以下的命令来 构造数据存储实体,
# cd $INFORMIXDIR
# ln /dev/rdsk/c0t1d1 rootdbs1
# chmod 660 rootdbs1
# chown informix rootdbs1
# chgrp informix rootdbs1
UNIX文件形式的数据存储实体的建立方法是产生一个0字节的UNIX文件,使用命令如下:
# cd $INFORMIXDIR
# cat /dev/null >; rootdbs1
# chown informix rootdbs1
# chgrp informix rootdbs1
第四节 建立数据库服务器共享内存
至此,我们可以开始初始化数据库服务器,以informix用户注册,用命令onmonitor命令。 在初始化前必须正确地定义了环境变量INFORMIXDIR、PATH和INFORMIXSERVER以及文件 $INFORMIXDIR/etc/sqlhosts、/etc/hosts、/etc/hosts.equiv和/etc/services。
首先注册到 informix,运行 onmonitor,在菜单中选择 Parameter,然后选择Initialize,便进 入数据库空间初始化的屏幕。然后设置在屏幕上显示的参数。
---------------------------------------------------------------------------
INTIALIZATION: Make desired changes and press ESC to record changes.
Press Interrupt to abort changes. Press F2 or CTRL-F for field-level help.
DISK PARAMETERS
Page Size [ 2] Kbytes Mirror [N]
Tape Dev. [/dev/rct0 ]
Block Size [ 16] Kbytes Total Tape Size [ 150000] Kbytes
Log Tape Dev. [/dev/rct0 ]
Block Size [ 16] Kbytes Total Tape Size [ 150000] Kbytes
Boot Name [rootdbs ] Root Size [ 20000] Kbytes
Primary Path [/usr/informix/rootdbs1 ]
Offset [ 0] Kbytes
Mirror Path [ ]
Offset [ 0] Kbytes
Phy. Log Size [ 1000] Kbytes Log. Log Size [ 500] Kbytes
Number of Logical Logs [ 6]
---------------------------------------------------------------------------
第一屏设置完成后按ESC,onmonitor在完成数据库空间初始化以后便接着要求用户设置共享内存。如果用户在以后需要调整共享内存时可以运行onmonitor,然后选择Parameters菜单,再选 择 Shared-Memory项。对于初次调整共享内存,用户需要注意的是Server Number是不可以重复的,并且 Server Name以小写为好,尤其是对于用户需要建立分布式数据库系统的情况更为重要。可以说对用 户影响最大的BUFFERS和LOCKS。
---------------------------------------------------------------------------
SHARED MEMORY: Make desired changes and press ESC to record changes.
Press Interrupt to abort changes. Press F2 or CTRL-F for field-level help.
SHARED MEMORY PARAMETERS
Server Number [ 10] Server Name [online7 ]
Server Aliases [ ]
Dbspace Temp [ ]
Deadlock Timeout [ 60] Secs Number of Page Cleaners [ 1]
Forced Residency [N] Stack Size (Kbytes) [ 32]
Non Res. SegSize (Kbytes) [8000]
Physical Log Buffer Size [ 32] Kbytes
Logical Log Buffer Size [ 32] Kbytes
MAX # of Logical Logs [ 6] Transaction Timeout [ 300]
MAX # of Transactions [ 20] Long TX HWM [ 50]
MAX # of Userthreads [ 20] Long TX HWM Exclusive [ 60]
MAX # of Locks [ 2000] Index Page Fill Factor [ 90]
MAX # of Buffers [ 200] Add SegSize (Kbytes) [ 8192]
MAX # of Chunks [ 8] Total Memory (Kbytes) [ 0]
MAX # of Open Tblspaces [ 200]
MAX # of Dbspaces [ 8]
============
Shared memory size [ 864] Kbytes Page size [ 2] Kbytes
Enter a unique value to be associated with this version of INFORMIX-OnLine.
---------------------------------------------------------------------------
设置完共享内存后按ESC键,OnLine便初始化共享内存,当OnLine成功地初始化共享内存 后,OnLine便进入第三个屏幕数据库服务器性能参数调整。在这个屏幕中用户说明OnLine 动态服务 器 7.1所运行的计算机是否一个SMP体系结构的计算机,若是则置 Multiprocessor Machine 为 Y,否 则为N。当 Multiprocessor Machine 为Y时,用户可以进一步地设置有多少个服务器进程与 CPU 结合 (Num Procs to Affinity),并且从第几个CPU开始与数据库服务器进程结合 ( Proc num to start with)。 如果该 计算机为单处理器计算机系统,则设置 Single CPU VP为Y,否则为N。 怎样设置 CPU VP 和AIO VP,在“Informix ODS 性能指南”一书中有详细介绍。在屏幕的右下方是该数据库服务器 的网络 链接形式的定义,它必须与$INFORMIXDIR/etc/sqlhosts中的设置相符。例如在$INFORMIX- DIR /etc/sqlhosts中定义数据库服务器online的网络链接形式为onsoctcp,则在 NETTYPE settings中 设置Protocol 为soctcp ,其它项可先用其缺省 值。
---------------------------------------------------------------------------
PERFORMANCE: Make desired changes and press ESC to record changes.
Press Interrupt to abort changes. Press F2 or CTRL-F for field-level help.
PERFORMANCE TUNING PARAMETERS
Multiprocessor Machine [N] LRU Max Dirty [ 60]
Num Procs to Affinity [ 0] LRU Min Dirty [ 50]
Procs num to start with [ 0] Checkpoint Interval [ 300]
Num of Read Ahead Pages [ 4]
CPU VPs [ 1] Read Ahead Threashold [ 2]
AIO Vps [ 2]
Single CPU VP [Y] NETTYPE settings:
Use OS Time [N] Protocol Threads Users VP-class
Disable Priority Aging [N] [soctcp] [ ] [ ] [ ]
Off-Line Recovery Threads [ 10] [ ] [ ] [ ] [ ]
On-Line Recovery Threads [ 1] [ ] [ ] [ ] [ ]
Num of LRUS queues [ 8] [ ] [ ] [ ] [ ]
---------------------------------------------------------------------------
设置完这一屏参数后,按ESC。 接下来我们将设置动态数据复制、运行监控和并行数据操 作等参数, 由于目前数据库系统处于初建阶段, 暂不考虑动态数据复制,当系统进入该屏幕后按 ESC。
---------------------------------------------------------------------------
DATA REPLICATION: Make desired changes and press ESC to record changes.
Press Interrupt to abort changes. Press F2 or CTRL-F for field-level help.
DATA REPLICATION PARAMETERS
Interval [ 30]
Timeout [ 30]
Auto [0]
Lost & Found [/usr/informix/etc/dr.lostfound ]
---------------------------------------------------------------------------
这时系统进入运行监控屏幕,在这屏幕中我们将定义系统运行的信息日志文件以及当系统运行发现问题时,系统的运行状态将写到那一个目录下。
---------------------------------------------------------------------------
DIAGNOSTICS: Make desired changes and press ESC to record changes.
Press Interrupt to abort changes. Press F2 or CTRL-F for field-level help.
DIAGNOSTIC PARAMETERS
Message Log [/usr/informix/online.log ]
Console Msgs. [/dev/console ]
Alam Program [ ]
Dump Shared Memory [Y]
Dump Gcore [N]
Dump Core [N]
Dump Count [ 2]
Dump Directory [/tmp ]
---------------------------------------------------------------------------
设置完运行监控参数后,按ESC键。这时系统进入最后一个设置屏幕,并行数据操作屏幕 , 由于我们刚开始建立数据库系统,暂不考虑并行数据操作参数的设置。 因此我们按ESC键来结束我 们的数据库服务器初始化操作过程。
---------------------------------------------------------------------------
PDQ: Make desired changes and press ESC to record changes.
Press Interrupt to abort changes. Press F2 or CTRL-F for field-level help.
PARALLEL DATABASE QUERIES PARAMETERS
PDQ Priority [100]
Maximun Priority [100]
Decision Support Queries [ 10]
Decision Support Memory (Kbytes) [ 8192]
Maximun Decision Support Scans [ 4]
Dataskip [ ]
Optimizer Hint [0]
---------------------------------------------------------------------------
当数据库服务器初始化成功时,系统处于quencent状态。这时用户可在菜单上选择Exit, 退出Parameters,然后选择Mode, 再选择 Online,INFORMIX-OnLine便进入online状态。
第五节 初始化处理器资源
OnLine动态服务器7.1采用多进程 多线索体系结构, 即用较少的数据库服务器进程来作所有 的数据库操作, 因此处理器资源的利用 将直接影响用户系统的运行性能。 处理器资源的初始化可以 的数据库系统初始化的过程中实现,也可以 在以后用onmonitor实用程序的Parameters菜单中的 Perf -ormance项来进行,参数调整以后需重新启动数据库服务器才能有效。同时在系统的运行过程中,用户可以根据自己的需要,通过 onmonitor 实用程序的Mode菜单中的 Add-proc和 Dropproc 随时调整系 统的处理器资源,而不需要重新启动数据库服务器。
第六节 数据库服务器的状态
INFORMIX-OnLine具有五个不同的状态,它们分别是online、quiesent、recovery、shut- down 和offline。这五个状态分别是为OnLine运行中不同目的而设计的。
----------------------------------------------------------------------------
Mode: Startup On-line Graceful-shutdown Immediate-shutdown Take-offline ...
----------------------------------------------------------------------------
online 状态是系统响应联机用户数据库访问的状态。 在这个状态下,用户可以查询、插入 、 修改和删除他们的数据,以及各种简单或复杂的事务处理。
quiesent 状态是数据库管理员管理系统的状态。在这个状态下,除了数据库管理员,任何 普通用户都不能进入数据库系统,不能对数据库作任何的访问和操作。 通常在这个状态下,数据 库管理员进行数据备份、批量处理、调整 OnLine 参数以及其它各种数据 库系统的管理。
recovery 状态是OnLine为保持数据库一致性而进行的内部事务处理状态,因此这个状态拒 绝任何人访问数据库系统,包括数据库管理员。
shutdown 状态是 OnLine关闭前的一个等待联机退出的状态。在这个状态下,已经进入数 据库系统,并且正在进行数据库访问或操作的用户被要求尽快结束工作,退出数据库系统,而尚 未联机 和那些没有进行数据库访问和操作的用户将被拒绝进入数据库系统。
offline 状态是 OnLine 处于关闭的状态。
第七节 数据库服务器的启动与关闭
启动和关闭OnLine最简单的方法 onmonitor,选择Mode,然后用Startup和Online来启动数据 库服务器。 或者用Take-offine来关闭 数据 库服务器。
通过命令形式,oninit 启动数据库服务器;onmode -ky 关闭 数据 库服务器。
从系统管理的角度来看,最好是在系统启动的最后自动启动数据库服务器和在系统关闭时最先关闭数据库服务器。这样便需要建立启动文件和关闭文件。
以SCOUNIX为例,启动文件建立在/etc/rc2.d目录下,其名字可以是S99informix,启动文件 如下:
INFORMIXSERVER=online7
INFORMIXDIR=/usr/informix
PATH=$PATH:$INFORMIXDIR/bin
export INFORMIXSERVER INFORMIXDIR PATH
exho "Start up OnLine Dynamic Server "
oninit&
ipcs -bm
命令ipcs用于检查unix系统的共享内存和信号量,用这种方法可以很容易地知道数据库服 务器 是否正常地启动。
关闭文件建立在/etc/rc0.d目录下,其名字可以是K01informix,关闭文件的内容如 下:
INFORMIXSERVER=online7
INFORMIXDIR=/usr/informix
PATH=$PATH:$INFORMIXDIR/bin
export INFORMIXSERVER INFORMIXDIR PATH
echo "Stop OnLine Dynamic Server"
onmode -ky&
ipcs -bm
阅读(1692) | 评论(0) | 转发(0) |