《06体系结构概述.ppt》由会员分享,可在线阅读,更多相关《06体系结构概述.ppt(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、讲师:文心讲师:文心ORACLE管理与应用管理与应用北风网项目培训北风网项目培训ORACLE的体系结构的体系结构目标目标体系结构的概念理解体系结构Passwordfile主要组件主要组件InstanceSGARedo LogBufferShared PoolData DictionaryCacheLibraryCacheDBWRSMONPMONCKPTLGWROthersUserprocessServerprocessPGAControl filesDatafiles DatabaseDatabaseBuffer CacheRedo Log filesJava PoolLarge PoolPa
2、rameterfileArchived Log filesOracle 服务器服务器Oracle 服务器:是一个数据库管理系统,它提供一种开放的,全面的,和集成的信息管理方法。它由Oracle实例和Oracle数据库两部份组成。Oracle serverOracle Instance(实例)实例)An Oracle instance:是一种访问Oracle数据库的机制总是打开一个而且只能打开一个数据库由内存和后台进程结构所组成后台进程结构后台进程结构内存结构内存结构InstanceSGARedo LogBufferShared PoolData DictionaryCacheLibraryCa
3、cheDBWRSMONPMONCKPTLGWROthersDatabaseBuffer CacheJava PoolLarge Pool建立连接和创建会话建立连接和创建会话与Oracle实例连接:建立一个用户连接创建会话Session createdDatabase userUserprocessServerprocessConnection establishedOracle serverOracle Database(数据库)数据库)An Oracle database:是一数据的集合,该集合要做为一个整体来处理由三种类型的文件组成PasswordfileParameterfileArch
4、ived Log filesControl filesDatafiles Redo Log filesOracle Database物理结构物理结构物理结构包括三种类型的文件:控制文件数据文件连机重做日志文件ControlfilesDatafiles(includes Data Dictionary)HeaderOnlineRedo Logfiles内存结构内存结构Oracle内存结构由以下两个内存区组成:系统全局区(SGA):在实例启动时分配,它是Oracle实例的基本组件程序全局区(PGA):当服务(器)进程启动时分配System Global Area(系统全局区系统全局区)SGA由若干
5、个内存结构组成:Shared Pool(共享池)Database Buffer cache 数据高速缓存Redo Log Buffer(重做日志缓冲区)其它的结构(例如,lock and latch 管理,统计数据)在SGA之内还可能配置如下的两个附加的内存结构:Large PoolJava PoolSystem Global Area(系统全局区系统全局区)开始为动态的其大小由 SGA_MAX_SIZE 参数指定其分配和追踪都是按 SGA 组件的最小单位(granules)进行的granules 为所分配的连续虚拟内存Granule 的大小为基于所估计的 SGA_MAX_SIZE总数Shar
6、ed Pool(共享池)共享池)用来存储:刚刚执行过的 SQL 语句(statements)刚刚使用过的数据定义(data definitions)大池是由两个关键的与性能相关的内存结构组成:Library CacheData Dictionary Cache其大小是由以下参数指定 SHARED_POOL_SIZEShared PoolDataDictionaryCacheLibraryCacheALTER SYSTEM SET SHARED_POOL_SIZE=64M;Library Cache存储有关最近使用过的SQL和PL/SQL语句使通用语句的共享成为可能它是由一个最近最少使用(LRU
7、)的队列算法来管理它由如下的两个结构所组成:共享SQL 区共享PL/SQL 区其大小由 Shared Pool的大小来决定Data Dictionary Cache数据库中一组最近刚刚使用过的定义的集合该集合包括了数据库文件,表,索引,列,用户,权限,和其它的数据库对象的相关信息在编译阶段,服务器进程要查看数据字典的这些信息,以完成对象名字解析和访问权限的效验工作将数据字典信息装入内存可改进查询语句和DML语句的响应时间其大小由 Shared Pool的大小来决定Database Buffer Cache存储从数据库文件取出的数据块拷贝可极大地提高获取和修改数据的效率它是由一个最近最少使用(L
8、RU)的队列算法来管理DB_BLOCK_SIZE 决定了主数据块的大小Database BufferCacheDatabase Buffer Cache由以下的相互独立的子缓冲区组成:DB_CACHE_SIZEDB_KEEP_CACHE_SIZEDB_RECYCLE_CACHE_SIZEOracle开始其大小可动态地改变通过设置DB_CACHE_ADVICE 可收集预测不同大小的缓冲区对系统效率影响的统计信息这些统计信息可通过查询V$DB_CACHE_ADVICE来获得ALTER SYSTEM SET DB_CACHE_SIZE=96M;Redo Log Buffer记录了数据库中数据块的所有
9、变化主要目的是恢复(在Oracle8i之前也是味一的用途)在该缓冲区所记录的变化叫做重做日志记录(redo entries)Redo entries 包含了重新构造或重做变化所需的信息其大小由 LOG_BUFFER所决定Redo LogBufferLarge Pool为 SGA中一可选的内存区它可以减轻Shared Pool的负担它在以下情况下使用:在共享服务配置(Shared Server)下,存储内存的会话信息(UGA)在使用I/O服务进程在进行备份和恢复操作时,或在使用RMAN时在使用并行执行消息缓冲区时此时PARALLEL_AUTOMATIC_TUNING 应置为 TRUE它不在使用L
10、RU 队列其大小由 LARGE_POOL_SIZE所决定其大小可动态地改变Java Pool用来编译Java命令如果安装和使用 Java,就必须设置其大小由 JAVA_POOL_SIZE参数所决定Program Global Area为每个用户进程连接到数据库上时所保留的内存区当进程建立时分配当进程终止时释放仅为一个进程所使用UserprocessPGAServerprocessProcess Structure(进程结构)进程结构)Oracle 取个种类型的进程之所长:User process(用户进程):在一个数据库用户请求与Oracle服务器连接时启动Server process(服务器
11、进程):与Oracle instance(实例)相连,当一用户创建一会话时启动Background processes(后台进程):当 Oracle instance启动时启动User Process一个请求与Oracle服务器交互的程序必须首先建立连接不能直接与 Oracle server交互Database userServerprocessUserprocessConnectionestablishedServer Process一个直接与Oracle server(服务器)交互的程序它执行用户进程的调用并将结果返回给用户进程可以为专用(dedicated)或 共享服务器(shared
12、server)配置Connection establishedSession createdDatabase userUserprocessServerprocessOracle serverBackground Processes它们用来维护和保证物理(外存)结构和内存结构之间的关系:强制型后台进程(background processes)有:DBWnPMONCKPTLGWRSMON可选型后台进程(background processes)有:ARCnLMDn QMNnCJQ0LMON RECODnnnLMS SnnnLCKnPnnn小结小结 体系结构的概念理解体系结构本课程版权归北风网所有本课程版权归北风网所有欢迎访问我们的官方网站