oracle体系结构图如下:

oracle体系结构说明_oracle

1.oracle由实例(instance)和数据库(database)组成

2.instance是由一个开辟的共享内存区SGA(System Global Area)和一系列后台进程组成,其中SGA主要被划分为共享池(shared pool)、数据缓冲区(db cache)和日志缓冲池(log buffer);

作用:

1.大型池的作用:用于为某些大型进程提供大量的内存分配
        2.java池的作用:用于java虚拟机中特定会话的所有java代码和数据
        3.共享池的作用:存储最近执行过的sql语句和数据对象的定义
        4.streams池的作用:由oracle streams使用
        5.日志缓冲区的作用:用于数据恢复
        6.数据缓冲区高速缓存的作用:存储从数据文件中检索出数据块的拷贝

3.数据库是由数据文件、参数文件、日志文件、控制文件、归档日志文件等系列文件组成。归档文件可进行转移,用于数据备份。

4.PGA为非共享内存,用户发起的查询、更新操作,都是在PGA中先预处理。之后才进入instance.

5.PGA的主要作用:1.保存用户的连接信息、权限信息;指令的排序。注意:超过PGA内存限制时,超出的不菲在临时表空间完成。

6.PMON:Processes Monitor 进程监视器。

  在执行某些更新语句,未提交进程崩溃了,PMON自动执行ROLLBACK..干预其他后台进程。

7.SMON:System Monitor  系统监视器

重点工作在与instance recovery、清理临时表空间、清理回滚段表空间、合并空闲空间等等。

8.LCKn(锁定进程):仅用于RAC(Real Application Clusters)数据库,最多可有10个进程,用于实例的封锁。

9.RECO(Distributed datebase Recovery)用于分布式数据库的恢复。保证事务性。

10.CKPT:Check point 由oracle的FAST_START_MTTR_TARGET参数控制。用于触发DBWR从数据缓冲区写入磁盘。CKRT执行约频繁。DBWR写入越频繁、批量特性降低、性能降低、恢复性提高。

11.DBWR:Database Writer Process

数据写入磁盘;必须通知LGWR先完成日志缓冲区写入磁盘的动作后,方能开始

12.LGWR:Log Writer

将日志缓存区的数据从内存写到磁盘的REDO文件中。完成对数据库对象创建、更新数据等操作过程的记录。保证数据库的安全。

    每隔3s执行一次LGWR;commit触发LGWR;DBWR执行触发LGWR;日志缓冲区满1/3或记录>1M触发LGWR;联机日志文件切换触发LGWR;

13.ARCH:ARCHiver Process

LGWR写满需要覆盖重写。ARCH进行日志文件归档。

用户请求发起经历的顺序:PGA-instance-database ;PGA-instance