INFORMIX系统管理员培训教材Word文件下载.docx
- 文档编号:17230694
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:22
- 大小:33.97KB
INFORMIX系统管理员培训教材Word文件下载.docx
《INFORMIX系统管理员培训教材Word文件下载.docx》由会员分享,可在线阅读,更多相关《INFORMIX系统管理员培训教材Word文件下载.docx(22页珍藏版)》请在冰豆网上搜索。
数据库服务器实际是一个虚拟的处理器池,由不同的类别VP组成线索调度器,提供比操作系统更为智能的调度能力;
当一个线索在等待时,其上的VP可以去执行另一个线索。
正是一个VP可以响应多个客户的请求,使得能够以少量的UNIX进程来管理大量的用户,这样就明显的请求数据库服务器的UNIX进程数目及上下文切换的次数,由于线索之间的上下文切换比进程之间的切换有效得多,从而最大限度地绕过了操作系统地限制,减少了操作系统的负担,从而实现了动态的负载平衡。
1.3.2共享内存管理
所有使用同一个数据库服务实例的应用都能共享数据库服务器内存空间的资料,当一个应用从一个表中读取资料后,其它的应用可以访问任何已在内存中的资料,这样磁盘访问以及相应的性能都有很大的提高。
且INFORMIX7.1版本以上可以在需要的时候动态的增加共享内存段。
1.3.3多线索、多进程能力
多线索是通过以一种称为线索的轻巧的机制来对用户的需求进行管理实现的,这样的机制称为线索,线索是通过数据库进程的池(数据库进程称为虚处理器,VP)来规划和处理的。
INFORMIX给予一种独特的能力,使您能够动态地调谐VP,也可以通过将大任务划分为子任务来加快处理。
INFORMIX使用VP来管理活动的线索,并高效地进行线索切换。
线索产生、排队、然后由第一可用的VP为其服务以保证高效的硬件使用和无瓶颈。
INFORMIX的VP设计成具有内部的智能,可以高效地协调多个并发线索。
当一条线索正在等待资源时,VP能够为另一条线索工作。
通过提供这种灵活性,INFORMIX允许少量UNIX进程管理大量的用户,因为一个VP可响应多个用户的要求。
尽管可能产生多个VP用于响应用户的要求,但用户看到的只是一个数据库服务器。
不仅一个VP能够响应多个用户的请求,一个用户请求也可由多个虚处理器来服务;
例如,对于一个处理密集型的多表连接,数据库把这个任务分成多个数据库子任务,并把这些子任务放到所有可用虚处理器同时进行处理。
由于把任务分到多个VP并行处理,INFORMIX有效地减少处理一个用户请求的时间。
1.3.4支持对称多处理(SMP)
DSA经过完全改写的目的在于充分发挥对称多处理器(SMP)和单处理器结构的能力,以提供在数据库可伸缩性、可管理性和性能等方向的突破。
INFORMIX最佳地利用了多线索、多进程、共享内存的对称多处理器(SMP)环境。
其核心内部采用了虚拟处理器,使其体系结构与对称多处理器的体系结构自然匹配。
进入90年代,只有INFORMIX重新设计了其产品独特的体系结构(即DSA),其目的在于充分利用90年代的多CPU、多磁盘的硬件系统。
尤其是,INFORMIX数据库无论运行在简单的单处理器系统,还是运行在巨型的大规模并行系统,都是基于一个相同的基本体系结构。
因此,INFORMIX具有最好的SMP及MPP的支持能力和伸缩力,这是其它数据库所无法比拟的。
1.3.5并行索引
INFORMIX能够并行建立索引。
象数据库表一样,也可将索引分片,并存放在不同的磁盘上,以提供最大性能。
1.3.6并行装载
INFORMIX提供并行插入数据库表的功能。
INFORMIX通过提供并行批量装载程序,以完善并行插入功能。
其目标是为了满足资料仓库中大量资料需要在短时间内插入到数据库的应用需求。
1.3.7并行排序
排序是建立索引、排序、合并连接、SQL中的ORDERBY查询等常用的数据库操作所需的基本活动。
排序速度的提高将对许多应用程序的性能提高发挥作用。
按邮政编码去排序一个长长的邮递清单,或按生产成本将一个长长的零件号码清单重新排序,这都是典型的能够从并行排序直接得到好处的任务。
INFORMIX提供并行排序的实用程序。
根据系统性能需求,排序线索的数目可配置和调节,从而大大地提高了系统的运行效率。
另外,INFORMIX提供的并行查询将一个任务清单分解为多个段,并将每一段送到一个处理器上去处理,使得处理速度得到进一步提高。
实际上,排序操作的速度受表中扫描资料所需时间的限制。
这一限制由于PDQ(并行数据库查询)并行扫描功能的提供,使处理速度又大大加快了。
基于以上几点,INFORMIX的排序效率是其它数据库管理系统所无法比拟的。
1.3.8并行扫描
在当今大多数的应用中,当在大型数据库上工作时,报表、连接、索引建立都需要很长的扫描操作。
INFORMIX的并行查询(PDQ)技术大大缩减了扫描时间。
表分割的能力将表分成几个小的逻辑片段,并将它们分布到几个硬盘上,于是多个处理器可以并行地扫描这些磁盘,从而获得性能的成倍增长。
对于顺序表或索引扫描,可以动态的将INFORMIX设置成提前读方式。
这样,在当前页正被处理时,可异步地提前读入若干页。
这样的结果,应用系统花在等待磁盘完成存取操作上的时候减少了,系统就可以维持较大的吞吐量。
1.3.9并行连接
复杂的查询通常需要从两个或更多个表中检索资料,然后将两个表中的记录进行匹配,并将结果返回给请求者。
这一任务称作连接。
DSA采用先进的算法,让多个处理器去扫描资料,然后并行地连接几个片段,从而使连接操作并行地执行
1.3.10并行聚合
复杂查询可能经常需要资料的总和或聚合。
由于INFORMIX具有许多并行处理的能力,包括GROUPBY命令,SUM,AVERAGE,MIN,MAX等聚合函数,因此,复杂的查询操作执行起来要快得多。
1.3.11并行的资料查询
随着硬件发展到对称多处理器、松耦合的群集机、以及大规模并行处理器结构,DSA中的PDQ技术将充分利用底层CPU的优势,以比以往的数据库体系快若干倍的速度去执行任务。
在某些情况下,原来需要数小时的查询可以在数分钟内完成。
这种性能上的收益适用于所有那些需要排序、扫描大量资料,进行表连接和执行聚合运算的复杂的数据库操作,尤其是批作业操作。
INFORMIX提供了强有力的嵌套式SQL查询能力,用户可以使用第三代语言C、COBOL,FORTRAN等,嵌入SQL语言进行资料的插入、更新和删除的操作。
这些工作都是由INFORMIX引擎提供的并行处理技术完成的。
1.3.12并行备份
INFORMIX在多设备可用的情况下,提供了将系统备份到第二处设备的方法(例如磁带、硬盘),大大降低了备份的时间。
1.3.13并行恢复
INFORMIX用Onarchive并行恢复物理和逻辑系统。
如果可用多个磁带机,恢复时间将大大降低。
对于非正常退出的情况,INFORMIX会立即进行快速恢复。
快速恢复可使用户在存取资料前,依照逻辑日志文件检查事务完成情况,并对未完事务回滚保证资料一致性。
1.3.14资料分割能力(平行并行)
在水平并行方面,INFORMIX支持基于数据库表分割的并行处理。
并且是目前唯一的在数据库服务器核心内部提供基于表分割的并行处理的厂商。
INFORMIX并行的数据库表分割是将一个大的数据库表分散在多个物理设备上。
并行优化算法能够利用这种分片调度多个线索并行查询各设备上的资料,或根据查询条件排除和跳过不符合条件的分区或设备。
INFORMIX提供四种形式的资料分割手段:
a.byHash――按散列函数进行数据分割
b.byRange――按指定范围进行资料分割
c.byExpresion――根据条件表达式和键值范围进行资料分割
d.byRound-Robin――轮流将资料分配到不同的分区
通过对数据库表的分割,能够在原有的基础上进一步提高并行处理的效果。
2、INFORMIX数据库进程
2.1虚拟处理器与线索
前面讲到INFORMIX数据库服务器进程被称作为“虚拟处理器”。
一个虚拟处理器可以为多个用户请求服务,同时一个用户请求可以有多虚拟处理器来响应。
一个线索可以理解为一系列在程序中执行的指定。
当多个线索在同一个进程中运行时,这就是“多线索”,利用多线索技术,一个进程就可以为多个用户交互服务,而不用在操作系统级别上构造多个进程实例。
由于线索对操作系统请求的资源较少,因而有些地方称其为“轻量级进程”或“线程”。
INFROMIX虚拟处理器运行多个并行线索(MCT),因此是多线索进程。
因其执行多线程线索处理完全是在用户级别上的,而不在UNIX核心级别上,这样的进程就像其它的进程一样是单个的进程。
在用ps-ef查看时,它的名字是oninit。
2.2虚拟处理器类型
虚拟处理器根据它们所做处理的类型分为不同的类,每一类虚拟处理器用来处理某些特定类型的线索:
虚拟处理器类型类别作用
CPU运行所有的会话线索和一些系统线索
PIO磁盘I/O运行写物理日志的内部线索
LIO磁盘I/O运行写逻辑日志的内部线索
AIO磁盘I/O运行除写日志之外的所有磁盘I/O
SHM网络运行内部共享内存通讯线索
TLI网络使用TLI(传输层接口)进行网络通讯
SOC网络使用SOC(套接字接口)进行网络通讯
OPT光盘执行对光盘的I/O
ADM管理执行管理功能(运行时钟)
ADT审计运行安全审计的线索
MSC多方面运行其它多方面任务线索
2.3虚拟处理器运行线索的机制
在某一时刻,一个虚拟处理器只能运行一个线索,正象操作系统靠进程间的切换来运行多个进程一样,一个虚拟处理器通过多个线索间的切换来同时为多个线索服务,通过连续的线索间的频繁切换,虚拟处理器保持CPU的连续处理,由于处理发生的速度很快,在效果上看起来是虚拟处理器同时处理多个子任务。
运行多个并发线索需要调度和协调以防止一个线索受另一个线索的干扰,INFORMIX虚拟处理器使用以下五种结构和方法来协调多个线索的并行处理:
a.控制结构
当一客户与INFORMIX连接时,INFORMIX建立一个会话结构,叫做会话控制块,用于存放有关连接和用户信息。
然后,INFORMIX为这个会话建立一线索结构,叫线索回话块,并初始化一个主线索(sqlexec)来处理客户请求。
通常INFORMIX为每一个会话运行一个主线索,而在并行处理的情况下,INFORMIX为一个客户建立多个线索和多个相应的线索控制块。
b.上下文切换
虚拟处理器通过上下文切换从运行一个线索转向运行另一个线索。
INFROMIX不像操作系统运行进程那样在一固定的时间切片期满时预占一个运行线索。
而是线索转让运行权。
c.栈
INFORMIX在共享内存的虚拟部分分配一定的区域,用于存储线索使用的函数的非共享资料,线索的这块区域叫做栈。
栈的使用可以保证虚拟处理器可以保护一个线索的非共享资料不被其它执行相同代码的并行线索覆盖。
d.队列
动态服务器使用三种类型的队列调度多个并行线索的处理:
就绪队列、睡眠队列、等待队列。
虚拟处理器对具有相同优先级别的线索的处理遵循FIFO的原则,
e.Mutex(相互排斥)
Mutex是数据库服务器用来使多个线索对共享资源的访问同步的门阀机制。
其功能与系统的信号灯相似,但允许比信号灯更高程度的并行。
Mutex提供的同步特性保证了在任意时期只有一个线索可以修改共享内存的某个区域。
2.4虚拟处理器类型
一个给定类型的虚拟处理器只能运行相同种类的线索,下面分别讲述每类虚拟处理器及其运行的线索的类型(查看虚拟处理器可用onstat-gglo):
a.CPU虚拟处理器
b.磁盘I/O虚拟处理器
c.网络虚拟处理器
d.管理虚拟处理器
e.审计虚拟处理器
f.杂项类虚拟处理器
2.5虚拟处理器优点
a.虚拟处理器可共享处理
c.虚拟处理器节省内存和资源
d.虚拟处理器可并行处理
e.联机方式下可动态地增加或删除虚拟处理器
f.将虚拟处理器与CPU捆绑
3、INFORMIX共享内存
共享内存的主要作用是资料缓冲和共享,用以控制进程间的并发处理,INFORMIX动态服务器共享内存分为三部分:
驻留部分、虚拟部分、以及通讯或消息系统部分。
3.1驻留部分
驻留部分包括共享内存头、内部表和缓冲区池。
之所以称之为驻留部分是因为操作系统可以不将这一部分内存交换到磁盘上,而通常UNIX操作系统在对进程的上下文切换的时候,可能将被切换的进程的内存区内容交换到磁盘上。
由于驻留内存可以减少磁盘I/O,因而经常访问的资料存放在共享内存的驻留部分可以提高系统性能。
3.1.1共享内存头
其中包含共享内存中其它结构(包含内部表和缓冲区池)的描述和指向这些结构的指针。
虚拟处理器第一次附加共享内存时,从共享内存头中读出所有指向其它结构的地址信息,从而根据这些信息定位其它共享内存结构。
3.1.2内部表
共享内存含有9个用于跟踪共享内存资源的内部表,其中三个表各配一个杂凑表,分别为:
缓冲区表及相应杂凑表;
chunk表;
dbspace(数据库空间表)
锁表及相应杂凑表;
页刷新表;
TABLESPACE(表空间表)表及相应杂凑表;
事物表
用户表
杂凑表
3.1.3共享内存缓冲池
共享内存缓冲池又分为三部分:
常规缓冲区、物理日志缓冲区、逻辑日志缓冲池,如果使用资料复制(热备份),驻留共享内存缓冲区还会有资料复制缓冲区。
常规缓冲区用于存储从磁盘上读取的DBSPACE页。
常规缓冲区占有共享内存驻留部分的大部分空间,一个常规缓冲区的大小是一个数据库页面的大小。
可以通过onstat-b查看一个系统页面的大小。
动态服务器通过缓冲区表来跟踪常规缓冲区的状态。
在共享内存中,常规缓冲区被组织成LRU缓冲区队列,可以用onstat-R来监控常规缓冲区的队列信息。
物理日志缓冲区临时存储将要发生修改的DBSPACE页的前映象。
这些映像页最终刷新到磁盘的物理日志当中。
在系统崩溃时利用这些物理日志中的前映像将系统恢复到一致性状态。
物理日志缓冲区有两个缓冲区,这一特性要求物理日志缓冲区的大小要相对的够大。
可以用onstat-l来监控物理日志缓冲区和逻辑日志缓冲区的使用情况。
逻辑日志缓冲区实际上分为3个,在任何时候,服务器只使用其中的一个,在将当前逻辑日志缓冲区刷新到磁盘之前,服务器把第二个逻辑日志缓冲区的作为当前缓冲区,从而保证在刷新第一个缓冲区的同时继续向逻辑日志缓冲区写入数据。
如在第一个缓冲区完成刷新之前,第二个缓冲区已满,数据库将使用第三个逻辑缓冲区。
3.2虚拟部分
共享内存虚拟部分包括大缓冲区和各个子系统(会话池、栈、控制块、系统目录、和存储过程高速缓冲、排序池和消息缓冲区)的数据结构部分。
共享内存虚拟部分的特征是可以被系统扩充,并且可以被操作系统换出到磁盘上。
为了提高大的读写操作的效率,INFORMIX使用大缓冲区结构。
与共享内存驻留部分的常规缓冲区不同,大缓冲区每个缓冲区的大小是32个页面,其I/O单元也不是以页为单位。
当从磁盘上读取或向磁盘上写入多个物理上连续的页时,将使用大缓冲区。
3.3以及通讯或消息部分
共享内存通讯部分(或消息部分)是为本地使用共享内存与连接的客户而存在的,其中包含着通过共享内存与联接的本地客户的消息缓冲区。
这一部分也是在共享内存初始化时建立的。
共享内存通讯部分的大小取决于连接的客户数或线索数,每个线索(NETTYPE为IPCSHM)约为12k。
3.4缓冲区的刷新
缓冲区的刷新是指将修改过的缓冲区资料写入到磁盘上,缓冲区在修改之后标志为“脏”,缓冲区在被刷新之后可以继续重新使用。
缓冲区的刷新也可以分为:
常规缓冲区的刷新、物理缓冲区刷新、逻辑缓冲区刷新。
所有的缓冲区刷新都是通过页面刷新线索管理的。
为保证资料的一致性,INFORMIX总是按照一定的规律刷新缓冲区(不管是刷新何种缓冲区)其中最优先的规则是:
在刷新已修改的页面之前,必须先刷新它们的“前映像”页。
常规缓冲区的刷新满足三个条件:
a.一个MLRU队列(指向共享内存驻留部分常规缓冲区表的链表)中的缓冲区的数目达到LRU_MAX_DIRTY规定的值。
b.页刷新线索跟不上用户线索的需要――当用户线索需要一个缓冲区时,没有未修改的缓冲区可供使用。
c.需要一个检查点操作。
物理日志缓冲区主要用于临时存储磁盘资料页的前映像,要执行一个物理日志缓冲区的刷新满足三个条件:
a.当前物理日志缓冲区已满;
b.共享内存中一个已修改的页必须刷新到磁盘上,而前映像然仍在物理日志缓冲区中;
c.发生了一个检查点操作;
逻辑日志缓冲区用于临时存储描述数据库页面修改的记录。
逻辑日志缓冲区被刷新到逻辑日志中,要执行一个逻辑日志缓冲区的刷新应具备以下的条件之一:
a.前逻辑日志缓冲区变满;
b.一个不带日志缓冲的数据库中的事务已准备好或已提交;
c.一个无日志数据库会话结束;
d.发生了一个检查点;
e.一个不需要在物理日志中记录前映像的页发生了改变;
n检查点操作
检查点的操作是INFORMIX数据库对缓冲区最彻底的刷新,既刷新常规缓冲区,由刷新物理日志缓冲区和逻辑缓冲区;
只有检查点操作才能保证缓冲区中的页和磁盘的上的页是完全一致的。
所谓"
检查点"
是指"
存于缓冲区中的页与存于磁盘中的页是一致的"
这样一个状态。
检查点操作一完成,所有的物理操作完成,MLRU队列也是空的。
检查点操作对于INFROMIX的"
快速恢复"
过程是必须的。
INFORMIX数据库在每个逻辑日志跨越中至少产生一个检查点,以保证可以在这个检查点开始恢复。
有五种情况中的一种成立的话将启动一次检查点操作:
1)配置文件规定的检查点时间间隔已到,并且期间至少有过一次数据库资料的修改。
(CKPINTVL);
2)磁盘上的物理日志文件的75%已满;
3)数据库检测到下一个即将使用的逻辑日志包含有一条最近发生的检查点操作的日志记录;
4)系统管理员启动检查点操作命令;
5)某种管理任务发生;
检查点操作的过程为:
1)阻止用户线索进入临界区(一系列修改磁盘空间的代码区);
2)页刷新线索刷新物理日志缓冲区;
3)页刷新线索将缓冲区池中的已修改的页写入磁盘上;
4)页刷新线索向逻辑日志写入一个检查点操作;
5)将磁盘上的物理日志逻辑上清空;
6)将逻辑日志缓冲区的资料刷新到磁盘上的逻辑日志文件中;
4、INFORMIX磁盘结构与资料存储
INFORMIX可以使用两种方式来管理磁盘空间:
可以通过UNIX操作系统管理物理磁盘I/O,也可以由自己来管理。
如果使用UNIX操作系统管理磁盘I/O,数据库以"
已加工的文件空间"
作为存储空间;
如果由INFORMIX自己来管理磁盘I/O的话,则数据库采用"
原始磁盘空间"
。
INFORMIX动态服务器为了组织自己的RDBMS,将磁盘空间结构按物理和逻辑上分成许多不同的部分,它们或许是物理上的一个组成部分,或许是针对于某些应用的逻辑性概念。
下列概念是物理磁盘空间的不同单元:
nchunk
nextent
npage
其中对系统管理员最为密切的是chunk,INFORMIX数据库磁盘空间的加载是以chunk为单位的,因此,chunk是INFORMIX数据库使用最大的物理存储空间。
在以上物理存储单元的基础上,INFORMIX根据不同的应用定义与数据库管理相关的逻辑上的概念:
n数据库空间(dbspace)
n数据库(database)
n表空间(tblspace)
n表(table)
INFORMIX为保证资料物理与逻辑上的一致性,使用了磁盘空间的存储结构:
n逻辑日志(logicallog)
n物理日志(physicallog)
n保留页(reservedpages)
4.1INFORMIX物理存储单元
INFORMIX使用物理存储单元分配磁盘空间,与尺寸不定的逻辑存储单元不同,每个物理存储单元(CHUNK、PAGE、EXTENT)具有固定分配的大小。
nChunk
Chunk是分配给数据库的一块磁盘空间,INFORMIX数据库既可以使用UNIX文件系统也可以使用裸设备来分配INFORMIX作为CHUNK,CHUNK是最大的物理存储单元,也是系统管理员分配给INFORMIX唯一的物理存储单元,当一个INFORMIX数据库的DBSPACE接近充满时,INFORMIX管理员为其增加一个CHUNK。
CHUNK之间可以来镜像,一个为主CHUNK,一个为镜像CHUNK,在CHUNK的创建之初可以由创建者指定镜像。
在实际的运用当中,INFORMIX动态服务器自动随时将主CHUNK更新的资料拷贝到镜像CHUNK。
如果使用UNIX文件系统来做CHUNK,CHUNK内容的读取要经过操作系统的内核缓冲区来完成,向UNIX文件系统中写实际上是写到UNIX文件管理器的内存缓冲区中,而不是直接的写入到磁盘。
而使用裸设备,则CHUNK的内容直接由INFORMIX动态服务器来管理,动态服务器可以在磁盘与共享内存之间使用DMA(直接内存访问)直接传输资料。
因而使用裸设备作为CHUNK,无论安全性或是性能都要更好。
nPage
页是INFORMIX动态服务器系统中基本的物理存储单元和I/O单元,数据库使用这样的单元读写数据库。
一个CHUNK物理上被分成许多个页。
INFORMIX系统中的所有资料都存储在页上。
例如,数据库中一个表的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- INFORMIX 系统管理员 培训教材