Oracle数据库的三大结构

一,内存结构

1、ASM:oracle自动存储管理,把文件I/O分在不同的磁盘上,减少争用,副本放在其他硬盘上,对数据库做冗余(ASM的条带化是强制的)。

ASM磁盘组:包含一个或多个 ASM 磁盘,这些磁盘是作为一个逻辑单元进行管理的。 磁盘组的 I/O 自动分布在组中的所有磁盘之间。

 【ASM 文件在磁盘组内部的磁盘上都是按照定义好的分配单元(AU)平均分布的,这样对于文件的 I/O 就会相应的分散到多个磁盘中,从而实现了负载均衡。ASM 的冗余是通过软件实现的 RAID1 来完成,ASM 支持三路(HIGH)、两路(NORMAL)和外部(EXTERNAL)冗余选项,如果服务器和存储已经安装了 RAID 卡,一般可以不选择 ASM 冗余。】

2、内存结构:SGA+PGA
(1)SGA(系统全局区)

SGA:一组共享的内存结构,包含oracle DB 实例的数据和控制信息,在所有服务器和后台进程之间共享。存储的数据包含高速缓冲的数据块和共享SQL区域。
SGA在nomount阶段分配,一个实例只有一个SGA。
SGA包含大池、共享池、流池、Java池、高速缓冲区、重做日志缓冲区。
(2)PGA(程序全局区)

PGA:由堆栈空间和用户全局区(UGA)组成。包含服务器进程或后台进程的数据及控制信息的内存区域:非共享内存,服务器进程对PGA的访问是独占的,包含某个服务器进程或后台进程数据及控制信息。
PGA由堆栈空间和用户全局区组成。
【 在多个客户机用户共享进程时,UGA移入大池中。】

共享池:存放SQL语句的执行计划
缓存高速缓冲区:缓存从数据文件中检索到的数据块
重做日志缓冲区:存放重做条目,用户实例恢复
大池:用于大型进程的服务,以及为I/O分配大的内存空
Java池:用于存储 Java 虚拟机 (JVM) 中特定于会话的所有 Java 代码和数据
流池:Oracle Streams 使用它来存储捕获和应用所需的信息

二,进程结构

(1)instance = 内存结构 + 进程结构
数据库实例:是系统全局区(SGA)与后台进程的组合。

(2)后台进程:DBWn,CKPT, LGWR, SMON, PMON, ARCn(归档模式才有),LREG(监听注册进程),MMON(作为内存快照【闪回】)。


数据库写进程(DBWn):在执行完全检查点或强制检查点时,它会将检查点队列中的已经标记为提交的块,从缓冲高速缓冲区中读出并写入到数据文件。
检查点进程(CKPT):触发检查点机制;产生SCN号,记录到控制文件;用控制文件SCN号刷新数据文件头的SCN号字段值,保持数据一致性。
日志写进程(LGWR):在满足条件时,将已经提交的块所对应的重做条目,从重做日志缓冲区中整体刷新到联机重做日志文件中。
系统监视器进程(SMON):在重新启动实例时,检查数据库中数据的一致性,有必要将由SMON进行实例恢复;清理不需要的临时段。
进程监视器进程(PMON):在服务器与客户端连接断开,即服务器进程失败,则会执行进程的恢复;定期给监听刷新数据库服务信息

三,存储结构

有8个文件:控制文件、数据文件、归档重做日志文件、联机重做日志文建、口令文件、参数文件、备份文件、预警日志和跟踪文件

控制文件:记录数据库的物理结构定义信息。
数据文件:用于记录数据库表行数据。
联机重做日志文件:用来持久化重做日志缓冲区中的重做条目(重做条目不能丢)。
参数文件用:来记录实例启动时所必须的初始化参数值。
备份文件:是对数据文件等重要组件的脱机保存,用于还原。即将数据备份出来,类型可分为备份集和印象副本。
归档重做日志文件:是在日志组发生切换时,将记录满的联机重做日志文件复制到指定位置保存。
口令文件:用于对 SYSDBA, SYSOPER, SYSASM 三个权限进行连接验证。
预警日志和跟踪文件——用于数据库故障诊断。 【预警日志:按时间顺序记录数据库的状态改变和错误信息。跟踪文件:会对服务器和后台进程检测到的内部错误进行记录。】
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值