第2章Oracle的体系结构.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 2.5.2服务器进程---多线程进程 6.4.1 服务器进程(续) 在多线程(共享服务器)系统中,多个用户可共享一个进程,这大大降低了系统资源的消耗, 在Oracle多线程环境中,Oracle使用调度(Dispatcher)来处理用户的请求。 一个调度之可以处理一个用户进程,且只能处理一种通信协议。 当用户向服务器发出一个请求时调度首先对用户请求进行排队,然后服务器进程按顺序执行用户请求,执行完毕后将其放入一个专有的位置。调度可以访问此位置并把处理的结果返回用户端。一个访问周期全部结束。 第六章 Oracle服务器的例程 6.4 Oracle进程 6.4.1 服务器进程 6.4.2 后台进程 6.4.3从属进程 2.5.3 后台进程 Oracle实例包括两部分:SGA和一组后台进程。在任意时刻,Oracle数据库可以处理多个并发用户请求,进行复杂的数据操作,与此同时还要维护数据库系统使其始终具有良好的性能。为了完成这些任务,Oracle具有一组后台进程保证数据库运行所需的实际维护任务。 可以使用V$bgprocess视图查看所有可能的oracle后台进程。 并不能看到所有进程,有些进程只在特殊 情况下存在。例如ARCN。 但DBWR,LGWR,CKPT,SMON和PMON等进程是实例必需的。 * 实例的内存结构 后台进程续 DBWR进程(数据写进程) LGWR(日志写进程) CKPT(检查点进程) ARCn(归档进程) SMON(系统监视进程) PMON(进程监视进程) RECO(恢复进程) Dnnn(调度进程) 后台进程--- DBWR 该进程将缓冲区写入数据文件,是负责缓冲存储区管理的一个Oracle后台进程。 Oracle采用LRU(Least Recently Used)算法(即最近最少使用算法)保持内存中的数据块是最近使用的,使I/O使用最小化。在下列情况下DBWR要将弄脏的缓冲区写入磁盘,以释放更多的缓冲区。 当一个服务器进程将一缓冲区移入“弄脏”表,该弄脏表到临界长度时,该服务进程将通知DBWR进行写。其临界长度为初始化参数DB_BLOCK_WRITE_BATCH的一半。 当一个服务器进程在LRU表中查找时间太长时,如果没有查到可用的缓冲区,它停止查找并通知DBWR进行写。 出现超时(每次3s),DBWR将被启动 当出现检查点时。 后台进程--- DBWR续 DBWR进程的启动对整个oracle数据库的性能有很大的影响。如果DBWR过于频繁启动,则降低整个系统I/O性能;如果DBWR进程间隔很久才启动一次,则会对数据库恢复带来不利影响。 一个Oracle至少应有一个DBWR进程,初始化参数DB_WRITE_PROCESSES 可设置DBWR的进程个数。 多个进程的进程名分别个DB01,DB02 DBWR的数量不应超过系统处理器数量,否则多余的DBWR将耗费系统资源。 后台进程续 DBWR进程(数据写进程) LGWR(日志写进程) CKPT(检查点进程) ARCn(归档进程) SMON(系统监视进程) PMON(进程监视进程) RECO(恢复进程) Dnnn(调度进程) 后台进程--- LGWR LGWR负责将重做日志缓冲区的信息写入到磁盘日志文件组。 在数据库修改前,将产生修改的日志信息,它们被首先保存在日志缓冲区中,当日志数量达到一定数量时,由LGWR写入日志组。 如果日志组含有多个日志成员,则LGWR将日志信息同时写入一个日志文件组的多个日志成员文件中。如果一个组中的日志文件已损坏,则LGWR可将日志信息继续写入到其他文件中,以免影响数据库的正常运行。 后台进程--- LGWR续 在用户更新数据,用户的操作首先被记录在重做日志缓冲区中,包括成功与否。这样可保证在数据缓冲区数据丢失后,可根据重做日志来恢复。但如果频繁写重做日志的话将影响系统性能(但相对DBWR来说影响较小, 因为写入重做日志文件速度要大于写入日志缓冲速度(日志缓冲区采用由顶端向底端写入数据,其目的是使LGWR能按时间顺序的顺序记录数据,但这样一来使得日志缓冲的速度优势减低)),所以采用重做日志缓冲区来存放重做日志,当重做日志缓冲区超过一定限制时才通知LGWR写入重做日志文件。这仅仅是LGWR进程运行条件之一。 后台进程--- LGWR续 LGWR进程并不是随时都在运行,只有下述情况之一产生时,LGWR进程才开始写入: 当用户进程提交一事务时写入一个提交记录。 每3s将日志缓冲区输出。 当日志缓冲区的1/3已满时,将日志缓冲区输出。 当DBWR将修改缓冲区写入磁盘时将日志缓冲区输出。 注意: 当需要跟多的日志缓冲区时,LWGR在一个事务提交前就将日志项写出,而这些日志项仅当在以后事务提交后永久化。 在进行LGWR进程日志切换前,要

文档评论(0)

精品家园 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档