当前位置:Gxlcms > 数据库问题 > oracle体系结构的个人总结

oracle体系结构的个人总结

时间:2021-07-01 10:21:17 帮助过:27人阅读

  • 技术图片

     

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

    oracle体系结构的个人总结

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

    人气教程排行