【IT168 服务器学院】第三章 数据库服务器的初始化
第一节 数据库服务器初始化时的考虑
用户在建立和初始化其数据的时候,最重要考虑的问题是:数据存储实体选用哪种方案,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。同时需要注意的是,在重新构造核心后,数据库服务器存储原始设 备名的属主和组定义的改变。