oracle的三种进程

oracle的三种进程

ID:9992038

大小:407.50 KB

页数:10页

时间:2018-05-20

oracle的三种进程_第1页
oracle的三种进程_第2页
oracle的三种进程_第3页
oracle的三种进程_第4页
oracle的三种进程_第5页
资源描述:

《oracle的三种进程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Oracle的三种进程用户进程:在用户请求连接Oracle服务器时启动需要从数据库请求信息的数据库用户必须先建立与Oracle服务器的连接。连接由SQL*Plus这类的数据库接口工具请求,并开始用户进程。用户进程并不与Oracle服务器直接进行交互操作,而是通过用户程序接口(UPI)生成各种调用。用户程序接口则可以创建会话并启动服务器进程。服务器进程:与Oracle服务器实例相连接,在用户建立会话时启动用户建立连接后,服务器进程便会启动,以处理用户进程的请求。服务器进程可以是专用服务器进程或共享服务器进程。在专用服务器环境中,

2、服务器进程只处理一个用户进程的请求。用户进程断开连接后,服务器进程就会终止。在共享服务器环境中,服务器进程将处理多个用户进程的请求。服务器进程可以通过Oracle程序接口(OPI)与Oracle服务器进行通信。后台进程:在Oracle实例启动时启动维护并加强物理结构和内存结构之间的关系• 必备的后台进程:(五个进程分别对应了Oracle的物理结构和内存结构)–DBWn(数据文件)-LGWR(重做日志文件)-CKPT(控制文件)-PMON(SGA)-SMON(PGA)•可选的后台进程:–ARCnLMDnRECO–CJQ0LMON

3、Snnn–DnnnPnnn–LCKnQMNn数据库写入程序(DBWn)-->n可以是0-n服务器进程在数据库缓冲区高速缓存中记录对还原块和数据块所做的更改。DBWn将数据库缓冲区高速缓存中的灰数据缓冲区写入数据文件。这可确保数据库缓冲区高速缓存中有足够数量的空闲缓冲区(即当服务器进程需要读取数据文件中的块时可以覆盖的缓冲区)可用。由于服务器进程只在数据库缓冲区高速缓存中进行更改,因此提高了数据库的性能。DBWn延迟写入数据文件,直到发生下列事件之一:•增量或正常检查点•灰数据缓冲区的数量达到阈值•进程扫描指定数量的块而无法找到

4、任何空闲缓冲区时•出现超时•实时应用集群(RealApplicationClusters,RAC)环境中出现ping请求•使一般表空间或临时表空间处于脱机状态•使表空间处于只读模式•删除或截断表•执行ALTERTABLESPACE表空间名BEGINBACKUP操作DBWn写入数据文件的数据跟是否提交事务没关,有时没提交事务的数据也会被写入数据文件,假设发生rollback会按需把这些数据回滚掉,这些数据就不再用得上,是垃圾数据了。日志写入程序(LGWR)-->使用REDO日志写入器(LGWR)LGWR在下列情况下执行从重做日志

5、缓冲区到重做日志文件的连续写入:•当提交事务时•当重做日志缓冲区的三分之一填满时•当重做日志缓冲区中记录了超过1MB的更改时•在DBWn将数据库缓冲区高速缓存中修改的块写入数据文件以前•每隔三秒因为恢复操作需要重做,所以LGWR只在重做写入磁盘后确认提交操作。(如果重做写入失败,数据提交操作应该也会失败)LGWR还可以调用DBWn来写入数据文件。发出COMMIT 命令时执行下面的步骤1.        服务器进程随同SCN 一起在重做日志缓冲区中放置一个提交记录。2.        LGWR 向重做日志文件中连续写入,直到提交

6、记录(含提交记录)的所有重做日志缓冲区条目,这之后Oracle 服务器就能够保证即使存在例程失败也不会丢失更改。3.        通知用户COMMIT 命令已完成。4.        服务器进程记录信息以指出事务处理已完成,并且可以释放资源锁,将灰数据缓冲区刷新到数据文件由DBW0 独立执行,在提交之前或之后进行都可以。(因此请牢记,DBWR的触发不依赖于Commit行为)回滚段UNDO与REDO的关联回滚段可以说是用来保持数据变化前映象而提供一致读和保障事务完整性的一段磁盘存储区域。当一个事务开始的时候,会首先把变化前的数

7、据和变化后的数据先写入日志缓冲区(REDO缓冲区),然后把变化前的数据写入回滚段(UNDO块),最后才在数据缓冲区中修改(日志缓冲区内容在满足一定的条件后可能被写入磁盘,但在事务提交的时候日志必须写入磁盘,而数据缓冲区中的数据依赖于检查点的发生和DBWR进程的活动)检查点(CKPT)每隔三秒,CKPT进程就会向控制文件存储数据,以标识重做日志文件中恢复操作的起始位置,该操作称作检查点。检查点的用途是确保数据库缓冲区高速缓存中在时间点之间发生修改的所有缓冲区内容都已写入数据文件。这个时间点(称作检查点位置)是例程失败时开始恢复数

8、据库的位置。DBWn应将数据库缓冲区高速缓存中在该时间点之前发生修改的所有缓冲区内容写入数据文件。对于Oracle9i之前的版本,这项操作在重做日志的结尾处执行。切换日志时,CKPT还将这个检查点的信息写入数据文件的头部。启动检查点的原因如下:•确保定期向磁盘写入内存中发生修

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。