检查 oracle服务进程,Oracle后台进程详解二(检查点详解)

查询( Query )处理步骤查询不同于其它类型的SQL语句,因为如果查询成功它们会返回作为结果的数据,查询可以返回一行或者上千行,而其它语句只是返回成功或失败,查询的处理有三个主要阶段:l分析编译SQL语句执行标识选定的行或对数据应用DML更改l提取返回SELECTl语句查询的行1.分析SQL语句:在分析阶段SQL语句从用户进程传递到服务器进程,并且SQL语句的分析说明被载入共享的SQL区,在分析过程中服务器进程做如下工作:在共享池中搜索SQL语句的现有副本l通过检查语法验证SQLl语句执行数据字典查找来验证表和列的定义l分析SQL语句续ll获取对象的分析锁以便在语句的分析过程中对象的定义不会改变检查用户访问引用方案对象的权限ll确定语句的最佳执行计划将语句和执行计划载入共享的SQLl区主意:分析阶段包括处理某些要求,不论语句执行多少次这些要求通常只需要处理一次。Oracle服务器总是验证用户是否具有执行SQL语句所需的权限。2.执行SELECT语句:到了SELECT语句这一步服务器进程准备要检索数据了3.提取查询行:在提取阶段对行进行选择和排序(如有必要)并且由服务器返回给用户发出COMMIT命令时执行下面的步骤1.服务器进程随同SCN一起在重做日志缓冲区中放置一个提交记录。2. LGWR向重做日志文件中连续写入,直到提交记录(含提交记录)的所有重做日志缓冲区条目,这之后Oracle服务器就能够保证即使存在例程失败也不会丢失更改。3.通知用户COMMIT命令已完成。4.服务器进程记录信息以指出事务处理已完成,并且可以释放资源锁,将灰数据缓冲区刷新到数据文件由DBW0独立执行,在提交之前或之后进行都可以。(因此请牢记,DBWR的触发不依赖于Commit行为)快速提交( Fast Commit )快速提交机制将更改写入重做日志缓冲区而不是写入数据文件,这样确保数据得以恢复,Oracle服务器使用这种机制来保证提交的更改能够在例程失败的情况下得以恢复。它有如下优势l连续写入日志文件比写入数据文件的各个块更快。(因为日志文件是顺序写的)l只将记录更改必须的最少信息写入日志文件,然而写入数据文件却需要写入整个数据块(它记录被更改的块,更改位置,以及重做条目中的新值。)。l如果多个事务处理同时请求提交那么例程将重做日志记录合成为单个写入。l除非重做日志缓冲区特别满否则每个事务处理只需要一个同步写入,如果发生合成,那么每个事务处理的同步写入可能不到一个,因为提交之前可能会刷新重做日志缓冲区,所以事务处理的大小并不影响实际的提交操作所需的时间量。(因为,每3秒,重做日志缓冲区填满1M,重做日志缓冲区填满1/3,或者事务提交的时候,LGWR进程会将REDO LOG BUFFER中内容的写入到REDO LOG FILE中。)注:回退事务处理并不会触发LGWR写入磁盘(因为没有提交的数据本身不会被写入数据文件)。数据库写入进程( DBWR )(8i之前的条件)服务器进程在缓冲区高速缓存中记录回退和数据块的更改,数据库写入进程(DBW0)将灰数据缓冲区从数据库缓冲区高速缓存写入数据文件,它确保有足够数量的空闲缓冲区,即当服务器进程需要读取数据文件中的块时,可以覆盖的缓冲区在数据库缓冲区高速缓存中可用。由于服务器进程只在缓冲区高速缓存中进行更改,因此数据库性能得到改善,而且DBW0延迟写入数据文件直到发生下列事件之一:l灰数据缓冲区的数量达到阈值;l当进行扫描而无法找到任何空闲缓冲区时进程扫描了指定数量的块;l出现超时每三秒;l出现检查点(检查点是使数据库缓冲区高速缓存与数据文件同步的一种方法)日志写入进程(LGWR)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值