2023拉

Oracle学习笔记003-进程结构及SQL执行过程浅谈(涉及性能影响因素)

上一篇 / 下一篇  2011-07-15 10:06:45 / 个人分类:Oracle_DBA

   作为一个DBA或性能测试工程师,做性能分析的时候,对进程/线程情况分析也是很重要的,毕竟根据客户端进程,后台进程,服务进程情况来分析是否存在连接池设置方面的问题。

   下面在这里我就简单介绍一下,关于Oracle的进程结构,希望对做性能测试的人员或DBA有所帮助。

  Oracle进程分类:

   理论上讲分3类:分别是用户进程,服务进程,后台进程,其实我们可以认为是一类,原因,服务进程,后台进程都是为后台客户端连接服务器服务的,统一为后台进程。 而用户进程为了连接Oracle服务器,在客户端上的进程。

    用户进程:指Orcale客户端进程,是SQL plusToad等工具连接Oracle服务端的工具所产生的进程。

    服务进程:主要负责和客户端连接的进程,不细说啦。

    后台进程:为用户进程分配资源及提供数据库服务,是主要的进程。

   包括1. DBWn ,全称Database Writer是把SGA中的Buffer Cache 修改过的内容写到系统磁盘文件(Data files)这里的n代表多个,例如DBW1DBW2...等,Oracle9i支持20个,设置DBW的个数,与数据库性能有很大关系的,做性能分析要关注。

     2.PMONProces Monitor监控后台进程,检查存在问题的进程并进行产生新的台进程进替换工作

    3.CKPT全称Checkpoint,在数据文件写检查点,在控制文件写控制信息等操作。

    4.LGWR全称Log Writer ,是把Redo Log Buffer 写入Redo Log files,什么情况下写Redo Log文件呢?当用户使用Commit提交数据时或Redo Log Buffer 超过1MB时,Redo Log Buffer 已用Buffer 超过总Buffer 的三分之一等情况。)

     5.SMON全称System  Monitor,检查处理DBWnLGWR工作处理情况,处理宕机未释放资源,事物失败,空间不连续等情况。

    6.ARCn全称Archived,归档文件操作,在实际的生产中一般都运行在Archivel Log模式下)

    以上是主要进程,次要进程还有LMDnQMNnCJQ0,LMON,RECO,DnnnLMS,SnnnLCKnPnnn等,这里不详细说啦。

    Tips:ps-ef | grep oracle查看在Linux操作系统下的进程情况。

 Oracle处理sql过程:

     用户通过User Process进程(sql plus Toad等工具)连接Oracle服务器(Server Process) 

     以下,以更新语句为例,安全检查(当前连接用户的权限)通过然后解析原子操作(SQL语句分解,执行计划,绑定变量等),先在SGABufferCache 检查是否存在该更新语句。

     如果不存在去磁盘DB文件读到Buffer Cache 中,然后更新,如存在执行在Buffer Cache 处理

 

 

  Database逻辑结构图:

  

 

  上图简述:

  Oracle 的 Blocks 是操作系统的文件系统Blocks整数倍,如Oracle的一个Blocks等于一个操作系统的文件系统BlocksOracle 的 一个Blocks等于两个操作系统的文件系统Blocks。一般Oracle的Blocks大小是8K,Blocks Size 磁盘I/O有一定影响,做性能分析的时候,也一定要关注

 一推连续的Blocks组成Extent ,很多Extent 组成Segment,一个或多个Segment 组成Tablesspace ,一个或多个Tablesspace组成DataBase Tablesspace可以属于多个DataBase


TAG:

北京-小林-攻城狮 引用 删除 51Xiaolin   /   2011-07-15 17:26:28
原帖由puwey于2011-07-15 11:28:08发表
好,小林,加油

  谢谢!您的欣赏与评价是我写下去的动力!!!
北京-小林-攻城狮 引用 删除 51Xiaolin   /   2011-07-15 17:25:39
原帖由ybc5162967于2011-07-15 14:04:17发表
说得很好

  嘿。。您太有“财”啦,评价给好,但是才给1分呀!
北京-小林-攻城狮 引用 删除 51Xiaolin   /   2011-07-15 17:24:29
原帖由819longjiayan于2011-07-15 14:26:18发表
小林,我看不到你的图片,我oracle的知识还没开始丰富。。。看着有点吃力。。。

  嘿。。。请使用QQ浏览器查看!
奋斗的个人空间 引用 删除 819longjiayan   /   2011-07-15 14:26:18
小林,我看不到你的图片,我oracle的知识还没开始丰富。。。看着有点吃力。。。
ybc5162967的个人空间 引用 删除 ybc5162967   /   2011-07-15 14:04:17
说得很好
ybc5162967的个人空间 引用 删除 ybc5162967   /   2011-07-15 14:02:27
1
puwey的个人空间 引用 删除 puwey   /   2011-07-15 11:28:08
好,小林,加油
puwey的个人空间 引用 删除 puwey   /   2011-07-15 11:28:00
3
 

评分:0

我来说两句

Open Toolbar