Exploring the Oracle Database Architecture

探讨Oracle 数据库体系结构

Oracle 11g g代表网格 grid infrastructure 即GI ,单实例可以不装GI,RAC必须装GI ,ASM 自动存储管理

Client --> Middle tier --> server , 中间件:如APP Server ,1提高安全性,2并发性(多中间件)

数据库:实例+存储, 实例:内存+进程 , 内存:SGA系统全局区+PGA程序全局区 内存:SGA系统全局区+PGA程序全局区

RAC ( real application clusters)“实时应用集群”的优点:排除单点故障,负载均衡等

连接到数据库,连接+会话, 连接:用户进程+服务进程

SGA+PGA的结构:

SGA的shared pool共享池 shared pool : 1、库缓存(共享SQL区:语法解析、执行计划,保留在内存里) 2、数据字典缓存(实例启动就装入内存) 3、控制结构 show parameter shared_pool_size;

SGA的database buffer cache数据库缓冲区 block ,块,最小单位,内存块是磁盘块的整数倍。 磁盘块-->拷贝到内存块(cache)-->select * from hr.emp; 所有操作内存优先,被所有连接用户共享 show parameter db_cache_size;

SGA的redo log buffer redo重做,写入online log 保留改变的信息,如update等增删改操作 内存db_cache --> 日志redo log 日志总是先于数据被成功写入磁盘, 比如DDL和DML操作日志 在线日志一定放在性能好的磁盘上,log buffer非常重要 show parameter log_buffer;

SGA的 large pool 1、会话共享服务和XA interface 2、I/O服务进程(异步好) 3、备份和恢复操作 show parameter large_pool;

SGA的java pool and streams pool streams pool已被OGG替代

SGA的keep buffer pool 保持缓存池 (频繁读写的) SGA的recycle buffer pool 读完即丢弃 SGA的 nk buffer cache 非标准块缓存

PGA 用户私有,为用户提供进程服务 show parameter multiple block_size;

进程架构 1、User process ,如APP,SQL*PLUS , SQL DEVELOPER等 Is the application or tool that connects to the Oracle database 2、Database processes Server process: Connects to the Oracle instance and is started when a user establishes a session 服务进程为连接会话到实例 Background processes: Are started when an Oracle instance is started 实例启动就会启动后台进程 3、Daemon / Application processes 守护进程 Networking listeners 网络监听,监听比如为保安的角色 Grid infrastructure daemons GI守护

DataBase Write number 即DBWn 进程 n为变量, 数据库写进程 内存database buffer cache (脏数据) ----(DBWn) -----> 磁盘datafile SQL> ! ps -ef |grep dbw;

Log Write Process 即 LGWR进程 日志写进程 , commit即OK 内存redo log buffer ---(LGWR) --> 磁盘redo log file

Check Point Process 即CKPT进程 检查点进程 CKPT --> control file , CKPT -->data file alter system checkpoint ;关数据库之前,做这个同步操作,将脏数据写入磁盘。

SMON进程 1、实例恢复(DB重启后) 2、执行临时段

PMON 进程 1、用户进程失败时,清理缓存 2、空闲资源, 空闲会话超时,动态注册通过监听到DB服务 lsnrctl status ready; 动态监听

RECO 进程 recover process 恢复进程 分布式事务,分布式DB

ARCn 归档进程 (1)-->(2)-->(3)-->(1)-->(1)ARCn归档 通过redo log 保留, 主 --(日志同步)-->备,如DG架构。

DB存储架构 1、控制文件 2、参数文件 3、密码文件 4、数据文件 5、备份文件 6、在线日志文件 7、归档redo日志文件 8、告警和跟踪文件

表空间:1张表就是1个段(小文件)8KB 块, 有且只有1个数据文件(大文件)最大128TB;

system 和 sysaux 表空间 system 表空间存数据字典, sysaux表空间存EM知识库,这2个表空间必须在线 不要在这2个表空间放用户数据

ASM , ACFS文件系统 ASM:加入DATA磁盘组,条带化写入,软件方式,读写负载均衡。