如何理解Oracle 11g体系结构

这篇文章给大家介绍如何理解Oracle 11g体系结构,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

Oracle 11g体系结构:
如何理解Oracle 11g体系结构

oracle运行原理:
高效处理数据
内存机制:
核心内存3大组件:
Shared Pool
Database Buffer Cache
Redo Log Buffer

Shared Pool:
提升SQL语句在解析阶段的效率。
Data Dictionary Cache数据字典高速缓冲区提升SQL语句解析阶段里的语义解析效率。
把数据字典信息全弄到内存里,下次不需要读磁盘了。效率高。
生成执行计划放在Library Cache里面,下次不需要生成执行计划了。直接软解析。提升解析效率。

Database Buffer Cache:
数据库高速缓冲区提升SQL语句在执行阶段效率而存在的。

Redo Log Buffer:
查询语句一般情况下不会生成redo。
除非是延迟块清除的特殊情况下会生成redo,大查询语句不会生成redo。

增删改、DML操作,为了保证ACID特性。要让数据具备恢复能力。每次修改动作都要记录数据变化性的信息。
每时每秒都要记录大量的日志信息。如果这些日志信息每产生一条都写入磁盘,磁盘开销压力会很大。
为了缓解磁盘写入redo的压力,所以引入了高效组件redo log buffer这个组件,以便提升日志写出效率。
磁盘写出喜欢顺序写还是随机写?喜欢顺序写。
磁盘擅于顺序写和随机写,所以要引入raid0和ASM。
所以要积攒一定数据再写出,提高写出效率。所以引入了数据库redo日志的缓冲区Redo Log Buffer。

数据库的高效通过oracle的instance实例,通过instance的内存结构组件实现的。
数据库的处理数据是通过oracle的instance实例中的各种进程组件来实现的。
PMON:专门清理异常进程的
SMON:专门处理实例挂起后实例恢复的
DBWR:处理脏数据写出到数据文件的database writer
LGWR:处理日志信息集中写出的Log Writer
CKPT:有统一数据文件、控制文件、日志文件保持一致性的CheckPoint CKPT进程,每一个进程都在做一个独立方向的事情

数据库高效处理数据的数据存放在数据文件里,数据文件存在哪里,日志文件存在哪里由控制文件决定。
高效处理数据的数据部分由各种各样的文件组成,数据存放在数据文件里,数据文件和日志文件存放的位置由控制文件指定。
高效处理数据的数据部分是通过数据库的各种核心文件来实现的。高效处理数据
instance  高效处理   内存+进程
数据       数据库

数据挂了:数据文件、控制文件、日志文件这3个文件哪个挂了。
数据库挂了应该说是数据库实例挂了。

关于如何理解Oracle 11g体系结构就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。