欢迎来到天天文库
浏览记录
ID:41313003
大小:788.50 KB
页数:161页
时间:2019-08-21
《Oracle 体系结构》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Oracle体系结构目标学完本节后,我们将能够:描述Oracle的结构和主要组成部分列出当一个用户连接到一个Oracle实例时相关的结构口令文件主要组成部分简图实例SGA重做日志缓冲区共享池数据字典缓冲区库缓冲区DBWRSMONPMONCKPTLGWROthers用户进程服务器进程PGA控制文件数据文件数据库数据库缓冲区重做日志文件Java池大池参数文件归档日志文件Oracle服务器端Oracle服务器端:是一个提供开放的、全面的、完整的信息管理的数据库管理系统由Oracle实例和Oracle数据库组成Oracle服务器Oracle实例
2、Oracle实例:提供对Oracle数据库的访问通常打开一个,只打开一个数据库由内存空间和后台进程组成后台进程内存结构实例SGA重做日志缓冲区共享池数据字典缓冲区库缓冲区DBWRSMONPMONCKPTLGWROthers数据库或重区Java池大池建立连接和创建会话连接到Oracle实例:建立一个用户连接创建一个会话会话被创建用户用户进程服务器进程连接已建立Oracle服务器Oracle数据库Oracle数据库:是所有数据的集合由三种类型的文件组成口令文件参数文件归档日志文件控制文件数据文件重做日志文件Oracle数据库物理结构物理结构
3、包含三种类型的文件:控制文件数据文件联机重做日志控制文件数据文件联机重做日志内存结构Oracle的内存包括两个内存区域:系统全局区(SGA):是Oracle实例的基本组成部分,随实例的启动而分配程序全局区(PGA):服务器进程启动时分配系统全局区SGA由以下几种内存结构组成:共享池(SharedPool)数据库缓冲区(DatabaseBufferCache)重做日志缓冲区(RedoLogBuffer)其它结构SGA中的两种可选的附加内存结构:大池(LargePool)Java池(JavaPool)系统全局区动态分配的参数SGA_MAX_
4、SIZE决定其大小SGA中的存储器由被称作细粒的存储单元来分配的由连续的细粒来分配细粒的大小依赖于参数SGA_MAX_SIZE共享池用来存储:最近执行的SQL语句最近使用的数据定义由两个主要的与性能相关的内存结构组成:库缓冲区(LibraryCache)数据字典缓冲区(DataDictionaryCache)决定其大小的参数:SHARED_POOL_SIZE共享池数据字典缓存库缓存ALTERSYSTEMSETSHARED_POOL_SIZE=64M;库缓冲区存储最近使用的SQL和PL/SQL语句的信息允许共享普通的语句使用最近最少使用(
5、LRU)算法管理由两部分组成:共享SQL区共享PL/SQL区大小由共享池的大小决定数据字典缓冲区是数据库中最近使用的定义的集合包括数据库文件、表、索引、列、用户、权限以及其它数据库对象的信息在解析阶段,服务器进程查看数据字典决定对象的命名和有效的访问将数据字典中的内容放入内存中可以改善查询和DML的相应时间大小由共享池大小决定数据库缓冲区存储着从数据文件中提取的数据块的拷贝当获取或修改数据时可极大提高系统性能使用最近最少使用(LRU)算法管理参数DB_BLOCK_SIZE决定数据块的大小数据库缓冲区数据库缓冲区由三种独立的高速缓存组成:
6、DB_CACHE_SIZEDB_KEEP_CACHE_SIZEDB_RECYCLE_CACHE_SIZE大小可以动态改变参数DB_CACHE_ADVICE可以设置对不同的缓冲区的使用情况进行统计统计结果在视图V$DB_CACHE_ADVICE中可以看到ALTERSYSTEMSETDB_CACHE_SIZE=96M;重做日志缓冲区记录所有对数据库数据的改变主要目的是恢复修改记录在这里叫重做条目重做条目包含重新构造或重做改变的信息参数LOG_BUFFER决定其大小重做日志缓冲区大池SGA中一块可选的内存区域减轻共享池的负担不使用最近最少使用
7、(LRU)清单参数LARGE_POOL_SIZE决定其大小可以动态改变大小Java池为Java操作提供内存如果安装并使用Java,则是必需的参数JAVA_POOL_SIZE决定其大小程序全局区为每个连接到Oracle数据库用户的进程提供内存进程开始时分配进程结束时释放每个进程独享自己的内存用户进程PGA服务器进程进程结构Oracle有三种不同类型的进程:用户进程:开始于一个数据库用户请求连接Oracle服务器服务器进程:连接到Oracle实例、开始于用户建立起一个会话后台进程:Oracle实例建立就建立用户进程同Oracle服务器进行交
8、互请求的程序必需先建立一个连接并不直接同Oracle服务器进行交互数据库用户服务器进程用户进程连接已建立服务器进程直接同Oracle服务器进行交互的程序产生调用并返回结果可以是专用的也可以是共享的连接已建立
此文档下载收益归作者所有