ORACLE之 体系结构

本文详细介绍了Oracle的体系结构,包括内存结构(如SGA、PGA)、物理结构(数据文件、日志文件、控制文件、参数文件)和进程结构(用户进程、服务器进程、后台进程)。重点讲解了SGA的组成部分,如共享池、数据库缓冲区、重做日志缓冲区等,并解释了各个组件的作用和管理机制。
摘要由CSDN通过智能技术生成

ORACLE 体系结构

ORACLE 体系结构框架

ORACLE 体系结构框架主要包括如下三个方面:
① 内存结构:系统全局区 SGA(共享池,数据库缓冲区,重做日志缓冲区等),程序全局区 PGA(栈区、数据区)。
② 物理结构:数据文件,日志文件,控制文件,参数文件。
③ 进程:用户进程,服务器进程,后台进程。

 ORACLE 内存结构

ORACLE 内存结构包含两类:系统全局区(SGA)和程序全局区(PGA)。

系统全局区(SGA System Global Area)
oracle 系统为实例分配的一组共享缓冲存储区。用于存储数据库信息的内存区,该信息为数据库进程所共享,同时包含 oracle 服务器的数据和控制信息。
SGA_MAX_SIZE 参数可设定 SGA 所占用的最大内存空间,建议应小于物理内存的一半、尽量不要超过机器物理内存的大小。如果 SGA_MAX_SIZE 的设定值小于其它 SGA 相关参数设定值的总和或是小于各相关参数默认值的总和,则 SGA_MAX_SIZE 的设定值无效。

共享池(Shared Pool)
SGA 的保留区,用于存储如 SQL、PL/SQL 存储过程、包、数据字典、锁、字符集信息和安全属性等。共享池含有库高速缓存(library cache)和字典高速缓存区(dictionary cache)
其大小由 SHARED_POOL_SIZE 参数决定,建议为:物理内存×(15~20)%。

1.
库缓冲区(Library Cache)
分为共享SQL区和共享PL/SQL区,存储了最近用到的SQL或PL/SQL语句信息,包括:SQL或PL/SQL语句的文本、语法分析形式、执行方案等。
在第二次运行(由任何用户)相同的SQL语句时,可以利用库缓冲区中可用的语法分析信息来加快执行速度。
库缓冲区通过LRU(Least Recently Used)算法来管理:当其空间填满时,将删掉最近最少使用的信息,以便为新的条目腾出空间。

2.
数据字典缓冲区(Data Dictionary Cache)
存储了解析SQL语句时所需要的系统信息,可能包含:数据库文件、表、索引、字段、用户、权限以及其它数据库对象。
在解析阶段,服务进程会查找数据字典的相关信息来确定对象命名和有效访问,而将数据字典信息缓存到内存中则提高了查询的响应时间。

数据库缓冲区(Database Buffer Cache)
用于存储从数据文件中读出的数据块复本,以便提高获取和更新数据的性能。
也是通过LRU算法来管理可用空间:当存储区需要自由空间时,最近最少使用块将被移出,新数据块将在存储区代替它的位置。
9i 中其大小由 DB_CACHE_SIZE 参数确定,8i中则为:DB_BLOCK_SIZE * DB_BLOCK_BUFFERS,其中:DB_BLOCK_SIZE 确定数据块的大小,DB_BLOCK_BUFFERS 确定数据块的数目。
数据缓冲区包括三个类型的区:
keep buffer pool
recycle buffer pool
default buffer pool

重做日志缓冲区(Redo Log Buffer Cache)
以记录项的形式备份了对数据库数据块所做的修改,这些记录项称为重做项(Redo Entries),将被定期分批地写到重做日志文件中,以便在数据库恢复过程中用于回滚操作。
其大小由参数 LOG_BUFFER 确定。

大池(Large Pool)
是一个可选存储区,将致力于支持SQL大型命令,以减轻共享池的负担。
如果使用线程服务器选项或频繁执行备份/恢复操作,只要创建一个大池,就可以更有效地管理这些操作。
其大小由LARGE_POOL_SIZE参数设置。
不同于共享池,大池并不使用LRU列表。

Java 池(Java Pool)
也是一个可选存储区,安装使用了Java则需配置,为Java命令提供语法分析。
大小由 JAVA _POOL_SIZE 参数设置。

程序全局区( PGA Program Global Area )
由单个Oracle用户进程所使用,含有单个进程工作时需要的数据和控制信息。PGA 中的内存不能在进程间共享。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值