文本版|topic 高级搜索
   名人堂 帮助 论坛制度 意见反馈 | 首页 博客 周新贴 专题 求职 读书
RSS 底部
 
社区导航: 专家门诊   网络技术   操作系统   数据库   程序设计   系统应用   考试认证   CIO及信息化   站长交流   综合交流   下载基地  51CTO产品服务 设为首页 | 收藏本站
51CTO技术论坛» Oracle 10g / 9i » PMON SMON DBWR LGWR分别有什么用?       [ 打印]  [ 订阅]  [ 收藏]  [ 推荐给朋友]   [ 本帖文本页]

论坛跳转:
     
标题: [求助] PMON SMON DBWR LGWR分别有什么用?  ( 查看:1284  回复:3 )   
 
魑魅魍魉
新新人类  点击可查看详细



帖子 5
精华 0
无忧币 25
积分 15
阅读权限 20
注册日期 2006-7-18
最后登录 2006-7-22 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2006-7-18 10:37   标题:PMON SMON DBWR LGWR分别有什么用?
上一帖 |
最近在学ora不是知道以上什么意思,请大家发表一下
2006-7-18 10:371楼
[ 顶部 ]
 
老三
初级工程师  点击可查看详细


诚信兄弟  
帖子 1859
精华 2
无忧币 1810
积分 3701
阅读权限 50
来自 (保密)
注册日期 2006-6-27
最后登录 2008-8-30 离线

[查看资料]  [发短消息]  [Blog
[个人主页]    QQ       
发表于:2006-7-18 11:34 
PMON  进程监控
SMON 系统监控
DBWR  数据库写入程序
LGWR 日志写入程序



偶的Blog有理想,有目标,就有动力;成功源于你我真诚的合作!
2006-7-18 11:342楼
[ 顶部 ]
 
老三
初级工程师  点击可查看详细


诚信兄弟  
帖子 1859
精华 2
无忧币 1810
积分 3701
阅读权限 50
来自 (保密)
注册日期 2006-6-27
最后登录 2008-8-30 离线

[查看资料]  [发短消息]  [Blog
[个人主页]    QQ       
发表于:2006-7-18 11:37 
PMON进程:该进程在用户进程出现故障时执行进程恢复,负责清理内存储区和释
放该进程所使用的资源。例:它要重置活动事务表的状态,释放封锁,将该故障
的进程的ID从活动进程表中移去。PMON还周期地检查调度进程(DISPATCHER)和
服务器进程的状态,如果已死,则重新启动(不包括有意删除的进程)。
PMON有规律地被呼醒,检查是否需要,或者其它进程发现需要时可以被调用。

SMON进程:该进程实例启动时执行实例恢复,还负责清理不再使用的临时段。在
具有并行服务器选项的环境下,SMON对有故障CPU或实例进行实例恢复。SMON进程
有规律地被呼醒,检查是否需要,或者其它进程发现需要时可以被调用。

DBWR进程:该进程执行将缓冲区写入数据文件,是负责缓冲存储区管理的一个OR
ACLE后台进程。当缓冲区中的一缓冲区被修改,它被标志为“弄脏”,DBWR的主
要任务是将“弄脏”的缓冲区写入磁盘,使缓冲区保持“干净”。由于缓冲存储
区的缓冲区填入数据库或被用户进程弄脏,未用的缓冲区的数目减少。当未用的
缓冲区下降到很少,以致用户进程要从磁盘读入块到内存存储区时无法找到未用
的缓冲区时,DBWR将管理缓冲存储区,使用户进程总可得到未用的缓冲区。
ORACLE采用LRU(LEAST RECENTLY USED)算法(最近最少使用算法)保持内存中
的数据块是最近使用的,使I/O最小。在下列情况预示DBWR 要将弄脏的缓冲区写
入磁盘:
1、当一个服务器进程将一缓冲区移入“弄脏”表,该弄脏表达到临界长度
时,该服务进程将通知DBWR进行写。该临界长度是为参数DB-BLOCK-WRITE-BATCH
的值的一半。
2、 当一个服务器进程在LRU表中查找DB-BLOCK-MAX-SCAN-CNT缓冲区时,没
有查到未用的缓冲区,它停止查找并通知DBWR进行写。
3、出现超时(每次3秒),DBWR 将通知本身。
4、 当出现检查点时,LGWR将通知DBWR
在前两种情况下,DBWR将弄脏表中的块写入磁盘,每次可写的块数由初始化参数
DB-BLOCK-WRITE-BATCH所指定。如果弄脏表中没有该参数指定块数的缓冲区,DB
WR从LUR表中查找另外一个弄脏缓冲区。
如果DBWR在三秒内未活动,则出现超时。在这种情况下DBWR对LRU表查找指定数目
的缓冲区,将所找到任何弄脏缓冲区写入磁盘。每当出现超时,DBWR查找一个新
的缓冲区组。每次由DBWR查找的缓冲区的数目是为寝化参数DB-BLOCK-WRITE-BAT
CH的值的二倍。如果数据库空运转,DBWR最终将全部缓冲区存储区写入磁盘。
在出现检查点时,LGWR指定一修改缓冲区表必须写入到磁盘。DBWR将指定的缓冲
区写入磁盘。
在有些平台上,一个实例可有多个DBWR。在这样的实例中,一些块可写入一磁盘
,另一些块可写入其它磁盘。参数DB-WRITERS控制DBWR进程个数。


LGWR进程:该进程将日志缓冲区写入磁盘上的一个日志文件,它是负责管理日志
缓冲区的一个ORACLE后台进程。LGWR进程将自上次写入磁盘以来的全部日志项输
出,LGWR输出:
1、 当用户进程提交一事务时写入一个提交记录。
2、每三秒将日志缓冲区输出。
3、 当日志缓冲区的1/3已满时将日志缓冲区输出。
4、当DBWR将修改缓冲区写入磁盘时则将日志缓冲区输出。
LGWR进程同步地写入到活动的镜象在线日志文件组。如果组中一个文件被删除或
不可用,LGWR 可继续地写入该组的其它文件。
日志缓冲区是一个循环缓冲区。当LGWR将日志缓冲区的日志项写入日志文件后,
服务器进程可将新的日志项写入到该日志缓冲区。LGWR 通常写得很快,可确保日
志缓冲区总有空间可写入新的日志项。
注意:有时候当需要更多的日志缓冲区时,LWGR在一个事务提交前就将日志项写
出,而这些日志项仅当在以后事务提交后才永久化。
ORACLE使用快速提交机制,当用户发出COMMIT语句时,一个COMMIT记录立即放入
日志缓冲区,但相应的数据缓冲区改变是被延迟,直到在更有效时才将它们写入
数据文件。当一事务提交时,被赋给一个系统修改号(SCN),它同事务日志项一
起记录在日志中。由于SCN记录在日志中,以致在并行服务器选项配置情况下,恢
复操作可以同步。



偶的Blog有理想,有目标,就有动力;成功源于你我真诚的合作!
2006-7-18 11:373楼
[ 顶部 ]
 
魑魅魍魉
新新人类  点击可查看详细



帖子 5
精华 0
无忧币 25
积分 15
阅读权限 20
注册日期 2006-7-18
最后登录 2006-7-22 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2006-7-18 15:58 
谢谢大家
2006-7-18 15:584楼
[ 顶部 ]
     
论坛跳转:  

| | |

| | |

| | |

标记已读 · 删除论坛Cookies · 文本版 · WAP
 
| 诚征版主 | 版主堂 | 意见建议 | 大史记 | 论坛地图
Copyright©2005-2008 51CTO.COM  Powered by Discuz!
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系。
京ICP备05051492号