oracle体系结构的个人总结

2023年 8月 23日 35.0k 0

  1. Oracle体系结构主要包括:数据库实例和数据库文件。如下图:
  1. 数据库实例包括:内存(SGA)和后台一堆进程
  2. 数据库文件包括:参数文件、日志文件、控制文件、数据文件、密码文件
  3. SGA则包括:
  4. 共享池:主要的作用是让相同的SQL语句不需要在做编译、语法的校验,执行计划的判断的。提升SQL的运行效率。
  5. 数据缓冲区:缓存从磁盘读取的数据,提升了查询速度。常见的场景是同一个SQL语句执行,第一次查询很慢,第二次就很快的原因。
  6. 日志缓冲区:提升了数据增、删、改的速度,减少磁盘的读写从而加快速度。
  7. 后台进程包括:
  8. 数据库写进程【DBWn】:将数据缓冲区的内容写入到数据文件中。DBWn进程负责将在buffer cache中那些被修改的的数据,也就是脏数据写入磁盘。什么时候开始写入了?

a、当内存不够时,DBWn就会进行写入。

b、每三秒自动进行一次写入

c、检查点CKPT。设置:DW_WRITER_PROCESS用来定义DBWn进程数,commit命令是把记录修改写入日志文件,不是把修改后的数据写入数据文件。

  1. 日志写进程[LGWR]:将日志缓冲区的内容写入到联机的日志文件中。(劳模,很重要很忙碌的一个进程)。什么时候开始写入了?  a、三秒定时唤醒  b、日志缓冲区超过1/3,或日志文件量超过1M  c、联机日志切换也会出发LGWR d、用户提交事务时,Commit  e、  DBWR执行写入之前
  2. 系统监控进程【SMON】:

1、负责实例恢复,前滚(Roll Forward)恢复到实例关闭的状态,使用最后一次检查点后的日志进程重做。这时包括提交和未提交的事务。打开数据库,进行回滚(Roll Back):回滚未提交的事务。(oracle承诺commit之后数据不会丢失,现在我们可以大致的了解是如何实现这个承诺,以及在数据的安全性和数据库性能之间的平衡选择。)

 2、负责清理临时段,以释放空间

  1. 检查点进程【CKPT】:维护数据的一致性。检查数据文件和SGA内容的一致性。触发条件是:1联机日志文件切换时2关闭实例(shutdown abort除外)3手工检查点操作(alter  system  checkpoint)
  2. 进程监控进程【PMON】:发现用户进程异常终止,并进行清理。释放占用资源。(清理异常终止用户使用的锁)
  3. 归档进程【ARCn】:当联机日志切换时,把写满的联机日志数据拷贝到归档文件里。(LGWR写日志写到需要覆盖重写的时候,触发ARCH进程去转移日志文件,复制出去形成归档日志文件,以免日志丢失)用于事后数据的恢复
  4. 数据库文件:
  5. 日志文件:“先记后写”,重做日志用于记录数据库的变化,当进行例程恢复或介质恢复时需要使用重做日志
  6. 数据文件:永远存储数据库的数据,包括字典、用户数据(表、索引)、undo数据等。
  7. 参数文件:定义启动实例所需要的初始化参数,包括文本参数文件(pfile)和服务器参数文件(spfile)
  8. 控制文件:控制文件用于记录和维护数据库的物理结构,并且每个Oracle数据库至少要包含一个控制文件。
  9. 口令文件:用于验证特权用户(具有SYSDBA、SYSOPER权限的特殊数据库用户)
  10. 归档日志(Archive log):是非活动(Inactive)重做日志的备份。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论