码迷,mamicode.com
首页 > 数据库 > 详细

oracle体系结构的个人总结

时间:2019-02-27 01:34:47      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:大致   日志   arch   修改   维护   smon   回滚   spfile   定时   

  1. Oracle体系结构主要包括:数据库实例和数据库文件。如下图:
  2. 技术图片

     

  3. 数据库实例包括:内存(SGA)和后台一堆进程
  4. 数据库文件包括:参数文件、日志文件、控制文件、数据文件、密码文件
  5. SGA则包括:
  6. 共享池:主要的作用是让相同的SQL语句不需要在做编译、语法的校验,执行计划的判断的。提升SQL的运行效率。
  7. 数据缓冲区:缓存从磁盘读取的数据,提升了查询速度。常见的场景是同一个SQL语句执行,第一次查询很慢,第二次就很快的原因。
  8. 日志缓冲区:提升了数据增、删、改的速度,减少磁盘的读写从而加快速度。
  9. 后台进程包括:
  10. 数据库写进程【DBWn】:将数据缓冲区的内容写入到数据文件中。DBWn进程负责将在buffer cache中那些被修改的的数据,也就是脏数据写入磁盘。什么时候开始写入了?a、当内存不够时,DBWn就会进行写入。b、每三秒自动进行一次写入c、检查点CKPT。设置:DW_WRITER_PROCESS用来定义DBWn进程数,commit命令是把记录修改写入日志文件,不是把修改后的数据写入数据文件。
  11. 日志写进程[LGWR]:将日志缓冲区的内容写入到联机的日志文件中。(劳模,很重要很忙碌的一个进程)。什么时候开始写入了?  a、三秒定时唤醒  b、日志缓冲区超过1/3,或日志文件量超过1M  c、联机日志切换也会出发LGWR d、用户提交事务时,Commit  e、  DBWR执行写入之前
  12. 系统监控进程【SMON】:
    1、负责实例恢复,前滚(Roll Forward)恢复到实例关闭的状态,使用最后一次检查点后的日志进程重做。这时包括提交和未提交的事务。打开数据库,进行回滚(Roll Back):回滚未提交的事务。(oracle承诺commit之后数据不会丢失,现在我们可以大致的了解是如何实现这个承诺,以及在数据的安全性和数据库性能之间的平衡选择。)
     2、负责清理临时段,以释放空间
  13. 检查点进程【CKPT】:维护数据的一致性。检查数据文件和SGA内容的一致性。触发条件是:1联机日志文件切换时2关闭实例(shutdown abort除外)3手工检查点操作(alter  system  checkpoint)
  14. 进程监控进程【PMON】:发现用户进程异常终止,并进行清理。释放占用资源。(清理异常终止用户使用的锁)
  15. 归档进程【ARCn】:当联机日志切换时,把写满的联机日志数据拷贝到归档文件里。(LGWR写日志写到需要覆盖重写的时候,触发ARCH进程去转移日志文件,复制出去形成归档日志文件,以免日志丢失)用于事后数据的恢复
  16. 数据库文件:
  17. 日志文件:“先记后写”,重做日志用于记录数据库的变化,当进行例程恢复或介质恢复时需要使用重做日志
  18. 数据文件:永远存储数据库的数据,包括字典、用户数据(表、索引)、undo数据等。
  19. 参数文件:定义启动实例所需要的初始化参数,包括文本参数文件(pfile)和服务器参数文件(spfile)
  20. 控制文件:控制文件用于记录和维护数据库的物理结构,并且每个Oracle数据库至少要包含一个控制文件。
  21. 口令文件:用于验证特权用户(具有SYSDBA、SYSOPER权限的特殊数据库用户)
  22. 归档日志(Archive log):是非活动(Inactive)重做日志的备份。

 

oracle体系结构的个人总结

标签:大致   日志   arch   修改   维护   smon   回滚   spfile   定时   

原文地址:https://www.cnblogs.com/QYHYY/p/10440586.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!