DBA-I 第一章 ORACLE体系结构(二)

上传人:人*** 文档编号:508449872 上传时间:2022-11-04 格式:DOCX 页数:26 大小:1.05MB
返回 下载 相关 举报
DBA-I 第一章 ORACLE体系结构(二)_第1页
第1页 / 共26页
DBA-I 第一章 ORACLE体系结构(二)_第2页
第2页 / 共26页
DBA-I 第一章 ORACLE体系结构(二)_第3页
第3页 / 共26页
DBA-I 第一章 ORACLE体系结构(二)_第4页
第4页 / 共26页
DBA-I 第一章 ORACLE体系结构(二)_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《DBA-I 第一章 ORACLE体系结构(二)》由会员分享,可在线阅读,更多相关《DBA-I 第一章 ORACLE体系结构(二)(26页珍藏版)》请在金锄头文库上搜索。

1、ORACLE体系结构(二)我们前面学习了了ORACLLE如何实现现客户的请求求并连接到实实例。客户端请求通过过LISTEENER审核核,LISTTENER会会指示ORAACLE分配配一个服务器器进程,并在在客户端进程程和服务器进进程间建立了了连接会话。我们称专有连接接会话,ORRACLE实实例提供的是是专有服务。就是所谓的dedicate模式。默认情况下就是dedicate模式。ORACLE除除了提供专有有连接会话,还还提供了共享享连接会话,OORACLEE实例也提供供了共享服务务。我们接下下来学习ORRACLE提提供的共享式式服务器是怎怎么样实现的的,有什么优优势。共享服务器大家家可能是第一

2、一次接触,有有点不太好理理解,这个不不着急,现阶阶段只要初步步了解下可以以了。我举个个例子:你们谁安装的的的oraclle是在liinux环境境下的?你建立一个sqqlpluss会话,看看看是不是多出出一个oraacle的OOS进程oracle117787117600014:533pts/00000:00:000rlwraapsqlpllusfuturre/futtureffang我们看到,专有有模式下。新新建一个会话话,就多出了了一个进程。但是共享模式和和这个不一样样,你开很多多个会话在服服务器上表现现为1个进程程。就是1个进程多多个会话一起起用,就是共共享服务器的的特点。那我再问下大家家,

3、共享模式式下,新开一一个会话,进进程一定不会会增加吗?不一定的,有可可能还是会增增加。比如我们假设一一个共享服务务器管理100个会话,现现在已经有110个了,再再连一个就是是11个,哪哪么还是会增增加一个进程程的。共享服务器模式式的主要优势势就是节约内内存。好,有了上面的的经验,我们们来看看共享享模式的特点点。先看下书店的书书柜陈列图我们前面讲的都都是专有服务务模式的连接接。我们再来来看共享服务务器模式下,静静安图书分店店是如何服务务的。当小丽发出一个个请求,要批批发10000本中国机械械出版社20009年后出出版的经济类类书,并通过轮船船运到宁波自己的的公司,并按按日期进行排排序捆绑存放放存

4、入小丽公司的仓仓库。如果采用共享服服务模式,那那涉及下面几个动作:店里为小丽丽(用户进程程1)分配了了售货员小英(服务器进程程1)为她服服务小英帮小丽丽取了这10000本中国国机械出版社社2009年年后出版的经经济类书小英并按出出版日期排完完序,并进行行包装。并反反馈给小丽检检查是否按自自己规定的顺顺序包装。小英将包装装后的书放到司机小思(服务器进进程2)货车里,这样司机小思来服务小小丽,帮这批批货运道码头头。司机小思将将货开往码头头这时售货员员小英可以为为小勇(用户户进程2)去去卖书。也就是一个售货货员小英跟小小勇建立了会会话,并进行行服务。小英英可以服务多多个不同会话话的任务(一一、小丽批

5、发发经济类书。二二、小勇买书书),而不需需要小英一直直为小丽服务务,所以也不不需要等待小小丽在请小英英下一个动作作前无所事事事。这时小英英既知道小丽丽的情况,也也知道小勇的的情况。对应于ORACCLE就是一一个服务器进进程可以有多多个会话(SSESSIOON),多个个会话信息需需要让一个服服务器共享,所所以叫共享服服务器进程。司机小思帮帮忙把货搬到到船上,他的的任务结束,开开车回书店。船长小川(服服务器进程33)将货运到到宁波。司机小宁(服服务器进程44)将货运到到小丽宁波的的公司。小丽这次的批发发任务共有四四个人帮它完完成(为了简简化,这里省省略了ORAACLE调度度器参与的角角色),这些些

6、人都是受静静安书店的委托服服务于小丽。而每个服务器进进程都会在执执行完任务后后反馈给客户户会话信息上图对应于ORRACLE就就是一个会话话可以由多个个服务器进程程来完成。而在专有服务模模式下,那小小英要一直为为小丽服务,一一直到把货运运到小丽公司司为止,它们们建立的会话话就结束了,而且进程也随之消消亡。在这期期间小英要既既当营业员、司司机、船长,而而且这期间小小丽要有事情情要处理,比比如去银行转转帐,那么小小英只有等待待小丽回来才才能继续工作作,而不能去去服务其他顾顾客,这很显显然大量浪费费了小英的效效率。在ORACLEE模式下,专专有模式会话话进程和服务务器进程一一一对应,服务务器进程要服服

7、务到结束,最最后一起消亡亡。 而在共享享服务模式下下,那小英在在卖完书后,即即使小丽这个个时候去收银银台交费,小小英也不需要要等待她,马马上可以去处理新新的客户小勇勇,这样售货货员的效率就就提高了。即即使小丽又要要重新需要小小英处理问题题,如小丽拿拿了收银凭据据,小英就要停下下小勇的服务务,把小丽的的书给她,并并输入电脑,再再回头处理小勇勇的工作。在ORACLLE模式下,共共享模式,用用户进程不需需要服务器进进程处理的的的时候,服务务器进程可以以服务别的用户户进程,当原原来的用户进进程继续请求求这个服务器器进程时,可可以打断后一一个用户进程程,继续处理理前一个用户户进程的工作作。这里小丽再次找

8、找小英时,她们们已经彼此认识,已已经是朋友了了,不需要再再重新打交道道,重新建立立信任关系,节约了之间间沟通的成本本。那小英知道了小小丽的姓名,任务起始时间,结束时间,当前的状态,任务的目的等。也同样知道了小勇相应的信息。这些是会话信息,会话信息对于所有的进程可以共享的。开始备课上节课 我们开开始DBA-I的第一节节课给大家整体介绍绍了下Oraacle 服服务器的体系系结构及其主主要组件,我我们简单回顾顾下。第一个问题:OORACLEE SERVVER由什么么组成?ORACLLE服务由一一个实例和一一个数据库组组成。ORACLE SERVEER的概念是是,一个ORACLLE SERRVER就是

9、是一个DATTABASEE 库文件加加上一个INNSTANCCE,按我们图书书馆的例子就就是上海图书书馆的静安书书城店提供的的就是一个ORRACLE SERVEER。第二个问题:OORACLEE实例(INNSTANCCE)由什么么组成?主内存结构(SSGA)+后后台进程那RAC的概念念是什么?RRAC的概念念就是多个实实例关联一个个数据库。ORACLLE SERRVER = 1个DBB + 1个个INSTAANCEINSTAANCE = MEMOORY + PROCEESSRAC = N个ORRACLE SERVEER = 11个DB + N个INNSTANCCE第三个问题:分分别简述下SSG

10、A,PGGA,UGAA是什么?第四个问题:我我们知道ORRACLE的的物理结构指指的是OS里里直接能查看到的文件件。那ORAACLE DB有哪几几种物理文件件? Controol filles Data ffiles Redo llog fiiles第五个问题:简简单说下专有有服务器和共共享服务器的的区别?专有服务器一个个服务器进程程专门服务一一个用户进程程,即使用户进进程空闲,服服务器进程还还是继续等待待随时为该会会话服务,不不能去干其他他事情。专有模式会话进进程和服务器器进程一一对对应,服务器器进程要服务务到结束,最最后一起消亡亡。共享服务器一个个服务器进程程可以服务多多个用户进程程,一个

11、用户进进程也可以被被多个服务器器进程服务。共享模式,用户户进程不需要要服务器进程程处理的的时时候,服务器器进程可以服服务别的用户户进程,当原原来的用户进进程继续请求求这个服务器器进程时,可可以打断后一一个用户进程程,继续处理理前一个用户户进程的工作作。大家结合我们图图书馆 小丽丽买书,售货货员小丽,司司机小思,船船长小川,司司机小宁为小小丽服务的例例子 再理解解下。我们上节课讲到到,在共享服务模式式下,那小英英在卖完书后后,即使小丽丽这个时候去去收银台交费费,小英也不不需要等待她她,马上可以去处理新新的客户小勇勇,这样售货货员的效率就就提高了。即使小丽又要重重新需要小英英处理问题,如小丽拿了收

12、银凭据,小英就要停下小勇的服务,把小丽的书给她,并输入电脑,再回头处理小勇的工作。这是小丽再次找找小英时,她们们已经彼此认识,已已经是朋友了了,不需要再再重新打交道道,重新建立立信任关系,节约了之间间沟通的成本本。那小英知道了小小丽的姓名,任务起始时间,结束时间,当前的状态,任务的目的等。也同样知道了小勇相应的信息。这些是会话信息息,会话信息息对于所有的进进程可以共享享的。所以这里涉及进进程中共享的的信息如下:会话信息:这次任务起起始时间,结结束时间,当当前的状态,排排序的反馈信信息、任务的的目的等。CURSOOR信息: CURRSOR是什什么?还有如小丽批发发这10000本书的方法法等在也是

13、可以让让另一个售货货员共享的,什么意思呢?就就有点类似 管理中的专专人负责的特特点,你只负负责某一件事事情,整体类类似于流水线线的概念。这在ORACLLE中通过SSQL语句实实现,并将执执行计划记录录下来,我们们称共享SQL 区,放在共共享池中。但是对于每发送送一个语句,在专有模式,相对于服务器进程是私有的,所以我们称私有SQL区,输入进程内存。但是对于共享服服务模式,一一个会话的信信息可以让所所有的进程共共享,那么属属于会话生命命周期里,这这个私有SQQL区可以是是共享的,也也可以是执行行完后隐式关关闭。我们后后面会学到SSESSIOON CACCHE CUURSOR。私有SQL区或或者称C

14、URRSOR,一一个SQL就就会对应一个个CURSOOR,在CUURSOR关关闭时释放。CURSOR(私私有SQL 区)这里有有两个部分搜索10000本书方法法(执行计划划)有些称为为固定部分,如如小丽的姓名名(绑定变量量),这些信信息在整个会会话中可以不马上释放你既可以指指定我不想要要这些信息(一一些程序的显显式关闭游标标),如procduure 中cclose cursoor也可以让它它自动去除这这些信息(默默认的SQLL语句执行完完就关闭游标标),如selectt * frrom taab;当前取书已已经到第9999本了。这这些是运行时时状态的信息息,等SQLL语句执行完完就释放掉了了。

15、注意,每个会话话会限制CUURSOR数数(任务数),如小丽刚才的会话总共有四个服务器进程服务的四个任务。如果每次执行完一个CURSOR(任务)后不马上释放这些CUROSR(任务)信息,那么超过open_cursors数后会抛出open cursor数超出错误,否则会占过多的资源。比如静安店最多多服务一个客户的子任务务(CURSSOR)数是是3,比如卖书、司司机运货到码码头、书通过过船运到宁波波,而且每个个任务做完后后登记的信息息没有清除,那么小宁要完成第四次子任务时候就不允许。这是因为怕一个大任务中小任务的信息太多造成大量内存使用。(特别是程序的循环操作,循环open cursor一个SQL一千次,不执行close就会发生上述问题)所以对于应用程程序代码,要要仔细考虑CCURSORR的释放机制制。而上面的的这些CURRSOR信息息在共享服务务模式是共享享的,属于 UGA,并并存放在SGGA中,在有大池池的情况下存存放在大池。还有一部分内存存是完全私有有的,比如有些局部部变量作为程程序的栈空间间,还有些私有有工作空间,如如排序区,HH

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 市场营销

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号