暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle的工作原理

原创 check 2021-07-29
854

下面例子描述了 Oracle 执行的最本的操作

  1.  在数据库服务器上启动实例
    
  2.  运行应用程序的计算机在用户进程中运行程序,用 Oracle 网络服务
    

驱动器与服务器建立连接

  1.  服务器运行正确的 Oracle 网络服务驱动器,建立专用服务器进程执 
    

行用户进程

  1.  用户运行 sql 语句并提交事务 
    
  2.  服务器进程获得语句并检查共享池中是否有相近的 sql 语句,如果 
    

找到共享 sql 区域,服务器进程检查用户的访问权限;否则分配新

的共享 sql 区域以使语句可以分析和执行

  1.  服务器进程从实际的数据文件或 SGA 中取得需要的数据 
    

服务器进程在 SGA 中更新数据,DBWn 进程在一定条件下写更改的块

到磁盘中。因为事务已提交,LGWR 进程马上在重做日志文件中记录

事务。
7. 如果事务成功,服务器进程发送消息到应用程序。
8. 在整个过程中,其他的后台进程在需要干涉的情况下运行。
问了一下朋友DBWN和DBWR是一个东西。

刚网上了找了一些资料,提到DBWn

Database Writer(DBWn)
DBWn在以下情况将数据写入磁盘(数据文件data file):
1)发生检查点
2)达到脏缓冲区阈值
3)没有可用的缓冲区
4)超时
5)将表空间设置为脱机或只读
6)删除或截断表
7)备份表空间Database Writer(DBWn)

DBWn (Database Block Writer)
DBWn是一个负责将dirty blocks写到磁盘的后台进程,通常将dirty blocks写到磁盘是为了腾空更多的空闲空间(为了其它数据的读 而释放缓冲区), 或者advance 一个检查点事件(也就是在发生故障实例恢复时, 将联机重做日志中Oracle开始读取的位置 前移以节省实例恢复的时间)Log Switch 会触发一个Checkpoint,Oracle 需要advance这个Checkpoint以至于在实例恢复时不需要这个刚被填满的online redo log,假如在重用这个日志之前,不能完成这个advance Checkpoint的操作,则我们在alert将发现"Checkpoint not Compelete"信息,并且必须等待这个事件的完成。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论