欢迎来到天天文库
浏览记录
ID:56432012
大小:467.50 KB
页数:48页
时间:2020-06-18
《体系结构组件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Oracle体系结构组件目标完成这一课的学习后,您应该能达到下列目标:概括Oracle体系结构及其主要组件列出在用户连接到Oracle例程过程中涉及的结构口令文件基本组件概览例程SGA重做日志缓冲区共享池数据字典高速缓存库高速缓存DBWnSMONPMONCKPTLGWR其它用户进程服务器进程PGA控制文件数据文件数据库数据库高速缓冲区重做日志文件Java池大型共享池参数文件归档日志文件Oracle服务器Oracle服务器:是一个数据库管理系统,它为信息管理提供了开放、综合和集成的方法包括Oracle例程和Oracle数据库Oracle服务器Oracle例程Oracle例程:是一种访
2、问Oracle数据库的方式始终打开一个,并且只打开一个数据库由内存结构和后台进程结构组成后台进程结构内存结构例程SGA重做日志缓冲区共享池数据字典高速缓存库高速缓存DBWRSMONPMONCKPTLGWR其它数据库缓冲区高速缓存Java池大型共享池建立连接和创建会话连接到Oracle例程包括:建立用户连接创建会话创建的会话数据库用户用户进程服务器进程建立的连接Oracle服务器Oracle数据库Oracle数据库:是一个被统一处理的数据集合包括三类文件口令文件参数文件归档的日志文件控制文件数据文件重做日志文件Oracle数据库物理结构物理结构包括以下三种文件类型:控制文件数据文件重
3、做日志文件控制文件数据文件(包括数据字典)标头联机重做日志文件内存结构Oracle的内存结构由两个内存区组成,分别是:系统全局区(SGA):在例程启动时分配,是Oracle例程的基本组件程序全局区(PGA):在服务器进程启动时分配系统全局区SGA包括以下几种内存结构:共享池数据库缓冲区高速缓存重做日志缓冲区其它结构(例如锁定和栓锁管理以及统计数据)在SGA中还可配置其它两种内存结构:大型共享池Java池系统全局区SGA是动态的大小由SGA_MAX_SIZE参数指定由SGA组件以粒组为单位进行分配和跟踪连续的虚拟内存分配粒组大小由估算的SGA_MAX_SIZE总计大小确定共享池用于存储:最
4、近执行的SQL语句最近使用的数据定义它包括以下两个与性能相关的关键内存结构:库高速缓存数据字典高速缓存其大小由SHARED_POOL_SIZE参数确定共享池数据字典高速缓存库高速缓存ALTERSYSTEMSETSHARED_POOL_SIZE=64M;库高速缓存存储有关最近使用的SQL和PL/SQL语句的信息启用常用语句共享由“最近最少使用算法”(LRU)管理包括以下两个结构:共享的SQL区:共享执行计划共享的PL/SQL区大小由共享池的大小确定数据字典高速缓存数据库中最近使用的定义的集合包括与数据库文件、表、索引、列、用户、权限和其它数据库对象相关的信息在语法分析阶段,服务器进程会在数据
5、字典中查找用于解析对象名和验证访问的信息将数据字典信息高速缓存到内存中,可缩短查询和DML的响应时间大小由共享池的大小决定数据库缓冲区高速缓存存储已从数据文件中检索到的数据块的副本能够大幅提高获取和更新数据时的性能通过LRU算法管理主块的大小由DB_BLOCK_SIZE确定数据库缓冲区高速缓存数据库缓冲区高速缓存由独立的子高速缓存组成:DB_CACHE_SIZEDB_KEEP_CACHE_SIZEDB_RECYCLE_CACHE_SIZE大小可以进行动态调整设置DB_CACHE_ADVICE可收集用于预测不同高速缓存大小行为的统计信息统计信息由V$DB_CACHE_ADVICE显示AL
6、TERSYSTEMSETDB_CACHE_SIZE=96M;重做日志缓冲区记录对数据库数据块所做的全部更改主要用于恢复其中记录的更改称作重做条目重做条目包含用于重新构造或重做更改的信息大小由LOG_BUFFER定义重做日志缓冲区大型共享池SGA中的可选内存区分担了共享池的一部分工作用于:共享服务器的会话内存(UGA)I/O服务器进程备份和恢复操作或RMAN并行执行消息缓冲区将PARALLEL_AUTOMATIC_TUNING设置为TRUE不使用LRU列表大小由LARGE_POOL_SIZE确定Java池存储Java命令的服务分析要求在安装并使用Java时是必需的大小由JAVA_POOL_S
7、IZE参数确定程序全局区为连接到Oracle数据库的每个用户进程保留的内存在创建进程时分配在终止进程时回收仅供一个进程使用服务器进程PGA用户进程进程结构Oracle利用了以下几种进程的优势:用户进程:在数据库用户请求连接到Oracle服务器时启动服务器进程:与Oracle例程相连接,在用户建立会话时启动后台进程:在Oracle例程启动时启动用户进程请求与Oracle服务器交互的程序必须先建立连接不与Oracle服务
此文档下载收益归作者所有