DBA-I第一章ORACLE体系结构(四).docVIP

  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文档。上传文档
查看更多
DBA-I第一章ORACLE体系结构(四)

第一章 ORACLE体系结构(四) 本节将重点来学习ORACLE实例的进程部分。 Process ==== 我们先了解进程的概念和进程的类型 图例 27 ORACLE进程执行特定任务的一系列的操作,ORACLE里有多种类型的进程,分别是 ⊙ 用户进程:我们可以理解为客户端进程,是用户提出某个请求建立的一个进程,如我们的SQLPLUS、一些第3方工具、一些应用代码等等都是。 ⊙ 服务器进程:它是用来服务于用户请求的ORACLE进程。可以是专有服务器进程和共享服务器进程,并把处理的结果返回给用户进程。 ⊙ 后台进程:这些进程通常是伴随着数据库的启动而启动的,并执行各种维护工作,例如块磁盘写,维护联机重做日志,清理异常进程等。也可以在数据库打开后启动非强制的后台进程。当然这里还有一种称为从属进程和伪进程。从属进程是类似后台进程,但它们是代表后台进程或服务器进程执行额外工作的进程 上图是建立一个专有的服务器进程,其中这里最重要的进程是后台进程。 图例 29 不同数据库版本,不同产品,有着不同的后台进程,但有些是最基础的最核心的后台进程。每个ORACLE版本都被强制启动一些后台进程,如LGWR,DBWR,但是进程在我们OS上表现的形式不一样,在WINDOWS是通过线程的方式来处理进程的任务,从而把所有的线程组合成一个ORACLE进程。 在UNIX环境,我们就可以清晰的看到后台进程、服务器进程及客户端进程。 ps -ef | grep ora_ | grep -v grep 可以用ps来查看后台进程,客户端进程可以跟服务器进程分离,并可以在不同的机器上,我们先来了解(进程/会话/连接)之间的关系。 服务器进程/用户会话/连接 ============== ⊙ 服务器进程和用户建立会话,在专有模式下有服务器进程和用户进程,我们可以通过v$process来查看信息。 Select sid from v$mystat where rownum=1 是查看当前会话的sessionid 上图可以通过当前会话来查看服务器进程号和用户进程号。用户进程号就是客户端进程,上图绿色框LOCAL=YES和BEQ表示客户端通过IPC进行本机连接。客户端进程由V$PROCESS.CLIENTPID指出,看蓝色框值是5112,我们可以通过ps查看该进程是sqlplus客户端。 而红色框是服务器进程是SPID(SERVER PROCESS IDENTIFIED),值为5114 可以通过ps 查看是10g的服务器进程。 ⊙ 连接:连接是客户端到数据库实例的物理通道 连接可以经过网络NET8或者通过IPC(内部协议接口)实现 一个典型连接 ⊕ 客户段进程 ←→ 专有服务器进程 (专有模式) ⊕ 客户段进程 ←→ 调度器进程 (共享模式) 我们来用SQLPLUS来建立一个连接 当前连接上有一个会话和一个进程,会话ID=16,进程地址070000004B481688 上图执行完set autot on后,该专有连接方式的连接上,出现两个会话,而进程地址相同。SID=18就是用于统计时用的会话。 当关闭统计时,统计的会话自动关闭,只有原始会话 用ps查看该进程 我们用disconect关闭连接,但是进程还在 会话也在。只是物理通道没有了,我们来看内存使用情况 内存资源仍然被占有,所以单个连接可以有多个会话关联到单个进程,即使在专有模式。单个连接可以有0个、1个或者多个会话,但是专有模式单个会话对应单个进程。在没有连接的情况下,会话和进程可以一直存在。我们再来看共享服务模式 我们看到连接到了S000共享服务器进程。但是当该会话休眠时会怎么样呢 前面的共享服务器去服务别的会话了,所以当前会话只是跟调度程序D000关联,进入了响应队列。那当前会话再次活动时会怎么样呢 故意激活另一个会话,好让刚才S000服务于它,那当前会话可能就不是由S000来服务了。上图看到由S001来服务了,这里大家应该联想到了司机和船长了吧。这些核心的后台进程涉及到很多内核的操作,它关系到ORACLE正确安全有效的运行,并直接跟我们的实例中个内存模块和其它后台进程关联着,所以要了解后台进程的机制,要温固我们前面内存的知识。后台进程也分强制后台进程和可选后台进程。 强制后台进程 ======= 我们首先按时间触发次序,来介绍第1个强制后台进程LGWR。 谈到LGWR,他关联最主要的内存组件是REDO LOG BUFFER。另外还涉及REDO LOGFILE,它是物理组件。REDO是我们记录了数据库提供的服务的所有交易历史,包括买卖和退货,也就是REDO和UNDO。UNDO其实也是记录在REDO中一REDO记录形势存在,只是它的日志关系到的是保留回退的数据,所以也记在REDO里了。 那这些交易历史记

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档