1、InformixOnline 实战指南INFORMIX-OnLine5 与 OnLine Dynamic Server 7.1 数据库服务器入门与实践吴 勇 彪目 录序言第一部分 INFORMIX 介绍第一章 INFORMIX 产品介绍第二章 INFORMIX 体系结构第三章 INFORMIX 产品安装第二部分 INFORMIX-OnLine 数据库服务器第一章 OnLine 数据库服务器的组成第一节 磁盘数据组织结构1. 数据存储块 chunk2. 数据页 page3. 数据连续页 extent4. 数据库空间 dbspace5. 数据存储块镜像 mirror6. 数据表空间 tblspac
2、e7. 二进制大对象数据空间 BLOBspace 和二进制大对象页 BLOBpage第二节 共享内存数据组织结构1. 驻留区 Resident portion2. 虚拟区 Virtual portion3. 通讯区 Communication portion4. 操作系统参数对数据库服务器共享内存的影响第三节 处理器资源组织结构1. 处理器虚拟处理器 CPU Virtual Process2. 磁盘输入输出虚拟处理器 Disk I/O Virtual Process3. 网络通讯虚拟处理器 Network Virtual Process第四节 OnLine5与OnLine动态服务器7.1在组织
3、结构上的比较1. OnLine5组织结构概要2. OnLine动态服务器7.1组织结构概要3. OnLine5 与OnLine动态服务器7.1的比较第二章 数据库服务器事件第一节 Client/Server 联接事件1. Client/Server联接形式2. Client/Server联接的环境变量与定义3. OnLine5与OnLine动态服务器7.1Client/Server联接异同点第二节 数据库服务器日志系统1. 日志与事务处理2.日志文件的大小第三节 虚拟处理器与物理处理器第三章 数据库服务器的初始化第一节 数据库服务器初始化时的考虑第二节 操作系统上的准备工作1. 为原始设备准备
4、磁盘空间2. 调节unix 核心参数第三节 建立数据在磁盘上组织实体第四节 建立数据库服务器共享内存1. OnLine5数据库服务器的初始化2. OnLine动态服务器7.1数据库服务器的初始化第五节 初始化处理器资源第六节 数据库服务器的状态第七节 数据库服务器的启动与关闭第四章 数据库服务器系统的管理 第一节 增加数据库空间 Dbspace第二节 增加数据储存实体 Chunck第三节 日志管理第四节 数据备份和恢复1 建立数据备份2 恢复数据备份3 数据备份计划第五节 数据储存实体镜象管理1 为数据储存实体增加镜像实体1.1 数据库空间首先被定义为镜像1.2 定义镜像实体1.3 构造镜像2
5、 恢复损坏的数据储存实体和镜像实体3 数据镜像的实例第五章 数据库服务器系统性能监测第一节 共享内存使用状态第二节 磁盘的输入输出情况第三节 处理器的运行状态第四节 联机用户的显示第五节 数据库日志的监控第六章 数据库服务器系统的安全机制第一节 快速数据恢复第二节 数据库空间镜像第三节 远程数据复制第四节 增量数据热备份与热恢复 第七章 数据库服务器的应用 第一节 建立用户数据库 第二节 建立用户数据表 第三节 建立分布式数据库访问 第八章 onmonitor 与 tbmonitor 实用工具菜单 第九章 tbconfig.std与onconfig.std文件 序 言INFORMIX 是一个著
6、名的关系型数据库,它以 UNIX 开放系统为其最主要的运行环境,其 数据库具有分布式Client/Server体系结构,它以极高的运行效率而闻名, 在世界范围内有着广泛的 应用实例。1993年开始 INFORMIX向用户提供了全新动态可伸缩体系结构(Dynamic Scalible Archi-tecture)动态服务器OnLine Dynamic Server,1994年又推出了第二代Client/Server开发工具 NewEra, 在世界上受到了广泛的好评。INFORMIX主要产品分为三大部分: 数据库服务器(数据库核心)、 应用开发工具和网络数 据库互联产品。INFORMIX具有两种数
7、据库服务器SE和OnLine,SE完全基于UNIX操作系统,主要 针对非多媒体的较少用户数的应用环境; 而 OnLine 则是针对大量用户的联机事务处理和多媒体应 用环境,新的动态服务器 OnLine Dynamic Server 具有多进程多线索结构和并行数据查询 PDQ 能 力,使得用户系统运行效率得到进一步的提高。INFORMIX的应用开发工具主要有两个系列:4GL和NewEra,4GL系列是INFORMIX传统的基于字符界面的开发工具,该系列中主要产品有五个, 他们 是I-SQL、4GL RDS、4GL C Compiler、4GL ID和ESQL/C;NewEra系列是INFORMI
8、X最新 提供的具有事件驱动能力、面向对象的基于各种图形界面的开发工具,作为第二代Client/Server 应 用的开发工具, 有着许多其它开发工具所没有的能力, 如应用分割能力。 INFORMIX的网络数据 库互联产品提供给用户基于多种工业标准的应用程序接口,通过它可以和其它遵守这些工业标准 的数据库联接。本书仅讲述 INFORMIX 部分主要产品的特点和应用方法, 通过它使得读者能尽快掌握 INFORMIX数据库,在实际应用中,充分发挥INFORMIX数据库的能力和效率。由于INFORMIX产 品发展很快,本书较适合于OnLine5和OnLine Dynamic Server 7.10.U
9、C的用户,其它版本的用户参考 本书时,应注意所用版本与本书所讲的区别。在本书的编制过程中,曾得到不少用户以及INFORMIX 公 司的支持,在此,我向他们表示衷心的谢意。 作 者 吴 勇 彪 1996年4月由于本书编写时间较短,如果书中存在不确切的地方,希望得到你的指正。如果你还有什么建议和要求也希望能来信提出。来信请寄:上海市乌鲁木齐北路457号512室INFORMIX上海办事处 吴勇彪收 邮政编码 200040读者信息返回表=姓名: (先生/女士) 年龄: 职务:工作单位:地址: 邮政编码:=第一部分 INFORMIX 介绍INFORMIX是一个以unix开放为重要系统为运行环境的大型关系
10、型数据库管理系统。其产品分数据库服务器和开发工具两大部分,数据库服务器的作用是提供数据操作和管理,而开发工具是 用以开发用应用程序必要的环境和工具。数据库服务器database server和用户之应用程序application之 间构成一种完全彻底的client/server和组织结构。作为client的用户应用程序application接收程序操作指令后以结构化查询语言SQL的形式传到数据库服务器database server,数据库服务器接受到client送来 的命令进行编译并检查其操作的合法性然后返回client以正确的查询和操作结果。作为client的应用程序接收到返回结果后,并显示
11、在屏幕上。当数据库系统中存在有多个数据服务器时。INFORMIX关 系数据库提供在这多个数据库服务器之间的分布式数据查询和分布式数 据操作。INFORMIX的这些数据服务器软件和用户的应用查询可以安装在同一台计算机上,在这种情况下,作为client的用户应用程序application将通过计算机的内存来向数据库服务器之间进行数据操作的请求和返回,这种情况既是大家通常所说的主机形式的集中式数据库管理系统。另外一种情况 ,就是作为client的用户应用程序和数据库服务器安装在不同的计算机上,它们之间将通过计算机网 络来传输数据操作请求的SQL命令和返会SQL命令执行的结果。这就是大家常说的clie
12、nt/server的数据库管理系统。然而不论哪种形式对INFORMIX来说他们的意义是完全一样的。他们均构成client/server数据库体系结构,大家所说的主机集中式和client/server形式只是硬件环境构成的不同和用户应用程 序所运行的操作平台的不同,这就是说当用户的应用系统由集中式向分散式移植或由分散式向集中 式移植的时,对用INFORMIX来构成的数据库系统来说,需要改变的仅仅是应用程序和数据库所在 网络的节点和不同操作系统之间应用程序移植所需要的重新编译或连接。在这种移植过程中,应用 程序本身是几乎不需要改变的。第一章 INFORMIX 产品介绍数据库主要有两种:INFORM
13、IX-SE 和 INFORMIX-OnLine,最新版本的 OnLine 称 OnLine Dynamic Server (简称 ODS)。 INFORMIX-SE 是一种简便的数据库系统,通常运行在少量用户、数据库较小和不 需要多媒体支持和高效联机事务处理的环境。由于 INFORMIX-SE结构简便,所以不需专业数据库管 理员。用5 版或以前的 INFORMIX-SE 构成 client / server 的时候,须要 加上 INFORMIX-Net。另外 INFORMIX-SE 不支持分布式数据库查询和操作。INFORMIX-OnLine是一种高效的具有联机事务处理能力的数据库管理系统,通
14、常运行在50 用户1GB数据库以下环境, OnLine提供有多媒体支持能力, 和多种数据库安全机制。 用OnLine构 成 client/server 或分布式系统时,需要加上 INFORMIX-Star。INFORMIX-OnLine Dynamic Server 是INFORMIX最新型的数据库管理系统,它在内部采用 了多线索多进程机制, 使得它除了提供 OnLine 具有的能力外, 还提供对决策支持系统的良好支 持。 提供前所未有的动态可伸缩体系结构和双机数据备份的机制。INFORMIX 的开发工具有 INFORMIX-SQL, INFORMIX-4GL, INFORMIX-ESQL 和
15、 INFORMIX-NewEra。其中 I-SQL、I-4GL 和 I-SQL/C 是 INFORMIX 应用系统传统的开发工具,这 些工具已被国内用户所熟悉。INFORMIX-SQL是一种高效简便unix平台字符的开发工具,主要用于监控数据库运行和一 些简单应用的开发。 INFORMIX-4GL是一种多平台多操作系统的字符界面的开发工具,它分 C 编怿版和快速版 RDS,C编译版使4GL的程序最终能生成基于操作系统的可执行文件,因此运行效率很高。而RDS 提供INFORMIX标准的伪代码p-code解释执行文件,其特点是编译速度非常快,它比 C 编译版更优 的是,它可以配上 INFORMIX
16、 交互式调试器 ID,使的用户应用程序的开发速度大大加快。三个 4GL 工具通常被使用在4GL程序开发的不同阶段,如图所示:INFORMIX-NewEra是一种最新的多平台多操作系统的同时支持图形和字符界面,面向对 象并且具体事件驱动能力的第二代client/server体系应用系统的开发工具。它良好地继承了INFOR-MIX-4GL的优点,并在面向对象的语言方面作出了重大改进,不但提供了一种面向对象的语言, 而且还增加了对许多第三方厂商提供的类库的支持。INFORMIX-ESQL 是一种嵌入SQL语句的第三代语言(如C、FORTRAN、COBLE、ADA)的 预编译器。它既可以作为一种独立的
17、开发工具,也可以作为INFORMIX-4GL、INFORMIX-SQL、 INFORMIX-NewEra功能的补充,这些开发工具均提供了与INFORMIX-ESQL/C 良好的接口。在以往国内用户开发应用系统的过程中, INFORMIX-SQL、 INFORMIX-4GL 和 INFOR-MIX- ESQL/C 经常被结合起来使用,以达到最佳系统的最快设计。第二章 INFORMIX 体系结构INFORMIX 是一个具有 Client / Server 体系结构的关系数据库。 OnLine 和 SE 可以构成这 种体系结构的核心Server。INFORMIX-OnLine通过共享内存与连接在主机
18、上的终端应用程序 Appl-ication提供实践操作的服务,也可以通过网络产品INFORMIX-Star 与网络上的工作站 Client 的应用 程序Application提供数据操作服务;INFORMIX-SE 通过系统内存与连接在主机上的终端应用程序 Application 提供数据操作服务, 也可以通过网络产品 INFORMIX-Net 与网络工作站上应用程序 Application 提供数据操作服务。对于以 unix 作为 操作系统的 Client,如果它 仅仅作为另一个 unix Server 的Cient 而不再作其它Client的Server的话,在它上面只需安装网络服务程序
19、Net 的子集 Relay Model,就能与主机服务器进行数据交换。Relay Model是 INFORMIX-Net 的一个组成部分,它通过 INFORMIX-Net 一起提供给用户, 用户在安装时可以选择。 数据库服务器运行在不被人注意的后 台,而用户的应用程序(不管运行在终端上还是运行工作站上)一般都运行在人们密切注意的前台屏幕上,我们可以将运行在后台的数据库服务器程序成为Server,而将运行在前台的应用程序Application 称 作 Client。如在下图中所示,应用程序Application可以通过I-Net和I-Net的子集Relay Model访问数据库 服务器I-SE。
20、数据库服务器可以和应用程序安装在同一台计算机上,因此在它们之间可以通过系统 内存来传送 SQL 形式的数据请求和返回数据操作结果,同时应用程序也可以通过计算机系统网络 适配卡来向数据库服务器发出SQL 形式的数据操作请求并通过改网络适配卡来接收数据库服务器 返回数据操作的结果。由于 I-SE 结构简单和适应于小系统特点,它不能其它数据库服务器 SE 和 OnLine 分布式数据库系统。INFORMIX-OnLine 与 INFORMIX-Star 一起可以为应用程序 Client 提供分布式的数据操作 的服务,网络 INFORMIX-Star 为 INFORMIX-OnLine 提供接收 Cl
21、ient 端以 SQL 命令形式发出的 数据操作请求,同时与其它服务器协同完成Client所要求的数据操作任务。INFORMIX-SE与 INFO-RMIX-Net 一起为应用程序 Client 提供 Client/Server 的数据操作服务,网络服务程序 INFORMIX-Net 为 INFORMIX-SE 提供接收 Client 端以 SQL 命令形式发出的数据操作请求,和返回数据操作 结果。INFORMIX-Net 的另一个用途是为应用程序提供向 Server发送数据操作请求的服务。因此用 户在选择数据库产品时必须要注意数据库服务器与网络产品的搭配。INFORMIX 6 版以后的产品
22、(无 论数据库服务器产品还是开发工具产品)都包含基本的网络连接功能。第三章 INFORMIX 产品安装INFORMIX 产品的安装一般可以分为三个阶段:1) 产品从供货介质安装到运行该产品的计算机上,2) 在该计算机上运行产品的安装命令,3) 对于服务器产品 OnLine 和 OnLine Dynamic Server 作运行前的初始化。在不同的硬件平台和操作系统上, INFORMIX 产品的安装的具体命令和形式是可能不同 的。例如在 AT&T UNIX 和 UNISYS UNIX 环境,安装第一阶段使用 pkgadd 的命令,并且自动进 行第二阶段的安装;而在 SCO UNIX 和 IBM
23、AIX 平台上第一阶段则分别 用 cpio 和 tar 命令, 第 二阶段要求用户运行 ./installxxxxxx 产品的安装命令。INFORMIX 产品在供货的时候,随介质提供 一张产品的标签, 上面印有产品运行的硬件平台、 操作系统版本号、 安装命令、 序列号和关键 字,以及 其它一些有用信息。INFORMIX安装必须严格按照先装工具后装服务器,先低版本后高版本,最后安装网络连接产品的顺序进行。如果用户希望不同版本的产品同时可以运行的话,必须将不同版本的产品安 装在不同在目录下。其原因是在相同版本的工具产品和服务器产品之间以及不同版本的产品之间 会产生有个别同名程序,安装时将同名程序覆
24、盖,从而导致系统不能正常运行。另外当产品升级 时,必须首先关闭数据库服务器,有些操作系统不允许覆盖或重写一个正在运行的程序,例如 SCO UNIX等。产品安装的一般过程如下:1) 一超级用户 root 注册,建立 informix 用户和 informix 组,并且使 informix 用户成为 informix 组的成员,2) 设立 informix 产品的主目录环境变量 INFORMIXDIR,在不同的操作系统中可能会不 同,例如在SCO UNIX,一般INFORMIXDIR=/usr/informix,而在UNISYS UNIX,一般 INFORMIX-DIR=/opt/informix
25、。通常INFORMIXDIR为informix 用户的主目录$HOME。 当有多个不同版本产品 安装在同一台计算机的不同目录下, 通过对INFORMIXDIR设置用户可以选择启动那一个版本的产 品。 然后从新设置 PATH 环境变量, PATH=$PATH: $INFORMIXDIR/bin。或者在 root 用户的 .profile 中加入 (以SCO UNIX为例)INFORMIXDIR=/usr/informixPATH=$PATH:$INFORMIXDIR/binexport PATH INFORMIXDIR然后退出 root,重新注册进入 root 用户。3) 进入 informix
26、 产品安装的主目录, cd $INFORMIXDIR4) 运行产品安装命令,产品的安装必须按照上述顺序。如果产品的安装是自动执行的则用 户应按照屏幕的提示去做; 如果产品的安装是需要用户自己手动运行时, 用户必须每安装一个产 品, 立即运行该产品的安装命令。 绝对不可将所有的产品安装到硬盘上以后, 再逐个运行这些产 品的安装命令。例如在 SCO UNIX 平台上安装以 3.5 软盘为安装介质的 OnLine 5.01.UD1、 ESQL/C 5.01.UD1、STAR 5.01.UD1、4GL RDS 4.10.UC1和4GL ID 4.10.UC1 的安装过程 如下:1) root 注册 (
27、如果informix 用户和组不存在,须先建立之)2) # INFORMIXDIR=/usr/informix # PATH=$PATH:$INFORMIXDIR/bin # export INFORMIXDIR PATH3) # cd $INFORMIXDIR # cpio -icvudBm /dev/rfd0135ds18 ( 安装 4GL RDS 4.10.UC1 ) # ./installfgl # cpio -icvudBm /dev/rfd0135ds18 ( 安装 4GL ID 4.10.UC1 ) # ./installid # cpio -icvudBm /dev/rfd01
28、35ds18 ( 安装 ESQL/C 5.01.UD1 ) # ./installesql # cpio -icvudBm /dev/rfd0135ds18 ( 安装 ONLINE 5.01.UD1 ) # ./installonline # cpio -icvudBm /dev/rfd0135ds18 ( 安装 STAR 5.01.UD1 ) # ./installstar产品安装完成后,最后一个阶段是进行 OnLine 运行前的数据空间初始化,由于数据空间 初始化的过程比较复杂,这项内容在第二部分的OnLine 初始化中详细讲解。第二部分 INFORMIX-OnLine 数据库服务器第一章
29、 OnLine 数据库服务器的组成INFORMIX-OnLine有三个基本组成部分,即OnLine数据库服务器看护进程、OnLine共享内 存和OnLine 数据在磁盘上的存储。目前INFORMIX-OnLine的较高版本是OnLine Dynamic Server 7.1(动态数据服务器)。从On Line的三个组成部分来看,OnLine5在数据库服务器的看护进程(tbinit)方面较为简单,并且它是一种 双进程机制的数据库服务器,即每当有一个用户访问数据库服务器时,在数据库服务器一端就起一个与之(用户应用程序进程)对应的数据库服务器进程sqlturbo,因此一般不作调谐;然而对于OnLin
30、e Dynamic Server 7.1来说,由于它采用了动态可调的多进程多线索的数据库服务器机制,并引入了虚 拟处理器的概念,因此它的数据库服务器看护进程的结构相对与5版的OnLine来说比较复杂,在许多情况下需要调谐。在共享内存方面,动态服务器OnLine Dynamic Server 7.1比OnLine 5增加了数据词典、存储过程和数据库触发器的缓存,增加了动态服务器的系统管理接口SMI,增加了动态共享内存的申请以外,其它部分与5版相差不多。在数据在磁盘上存储方面,动态服务器在5版OnLine的基础上,增加了数据表的磁盘分割能力,使得一个数据表可以存放那些可以并行存在的磁盘上,从而使得
31、动态服务器对大数据量的决策支持和批处理性能的大幅提高。下面我们就INFORMIX-OnLine的这三项基本组成部分分别进行讨论。第一节 磁盘数据组织结构在INFORMIX-OnLine的磁盘数据组织结构中的最上层为逻辑概念上的数据库空间dbspace, 每一个数据库空间都有一个或若干个物理单位数据存储块chunk组成,镜像数据存储块mirror保证当 根数据存储块故障时,OnLine能够继续工作。每一个数据存储块都有若干个数据页page组成,为了提高输入和输出效率,若干个连续的数据页组成数据连续页extent。用户的数据库database和数据表 table存储在缺省的或者指定的数据库空间中,数据表的逻辑概念上的存储空间数据表空间tblspace有 一个或若个安数据连续页extent组成,数据记录row存放在数据页page中。为更好的的支持多媒体应用,多媒体数据可以存放在二进制大对象数据页Blobpage中,若干个二进制大对象数据页在此二进制大对象空间Blobspace。OnLine使用逻辑日志Logical log、物理日志Physical log来管理数据库日志操作,用系统保留页Reserved pages来管理整
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1