




已阅读5页,还剩54页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Oracle体系结构,主要内容,Oracle体系结构及其组件例程数据库例程内存结构后台进程数据库物理结构逻辑结构,Oracle服务器的工作原理,处理过程可以简单的描述为:用户在其机器上运行基于Oracle的应用程序(如:SQL*PLUS、PL/SQLDeveloper等),即启动用户进程.客户机、服务器之间建立连接(Connect).服务器为用户建立会话(Session),并为该会话建立一个PGA(ProgramGlobalArea,程序全局区)以存储与该会话相关的信息.在同一个连接中,不同的用户有不同的会话.启动服务进程,由该服务进程负责执行该会话的各项任务.用户进程发送SQL语句(select、update、commit.)服务器进程解析、编译、执行SQL语句,然后将结果写入数据库并返回结果给用户进程。用户进程接收返回的SQL执行结果。在应用程序中显示SQL执行结果.,体系结构及其组件综述,例程,SGA,重做日志缓冲区,共享池,数据字典高速缓存,库高速缓存,DBWR,SMON,PMON,CKPT,LGWR,Others,用户进程,服务器进程,PGA,控制文件,数据文件,数据库,数据高速缓存,重做日志,Java池,大缓冲池,参数文件,归档日志,图示内容如下:Oracle的体系结构可分客户端、服务器两大部分。客户端:在客户机上安装管理工具后,运行工具启动用户进程。服务器:包括例程和数据库两部分。例程:包括SGA及后台进程。数据库:包括控制文件、数据文件、日志文件等操作系统文件.,涉及三种结构:Oracle的内存结构Oracle的进程结构Oracle数据库的存储结构物理结构逻辑结构,内存结构:SGA和PGA,使用内存最多的是SGA,同时也是影响数据库性能的最大参数.进程结构:包括前台进程、后台进程。前台进程是指服务进程和用户进程.前台进程是根据实际需要而运行的,并在需要结束后立刻结束。后台进程是指在Oracle数据库启动后,自动启动的几个操作系统进程.存储结构:分为逻辑存储结构、物理存储结构。逻辑存储结构是描述Oracle数据库中如何组织和管理数据。与操作系统平台无关。物理存储结构是Oracle数据库的外部存储结构。它对应操作系统相关文件。包括控制文件、数据文件、日志文件等操作系统文件.,Oracle服务器,Oracle数据库服务器:主要由两部分组成:物理数据库和数据库管理系统。物理数据库是保存数据的物理存储设备。数据库管理系统是用户与物理数据库之间的一个中间是软件层,又称例程。有一定的结构。或称数据库服务器由例程和数据库组成,数据库服务器启动时:Oracle首先要在内存中获取、划分、保留各种用途的区域,运行各种用途的后台,即:创建一个例程(instance);然后由该例程装载(mount)、打开(open)数据库;最后由这个例程来访问和控制数据库的各种物理结构,如果把Oracle数据库比作一部汽车,instance相当于汽车的发动机一样,启动oracle数据库前提应先启动instance.,当用户连接到数据库并使用数据库时,实际上是连接到该数据库的例程,通过例程来连接、使用数据库。所以例程是用户和数据库之间的中间层。例程与数据库的区别:数据库指的是存储数据的物理结构,总是实际存在的;例程则是由内存结构和一系列进程组成,可以启动和关闭。,SID(系统标识符),一台计算机上可以创建多个Oracle数据库,一个数据库上可以有多个例程。为了使例程间不混淆,每个例程都称为:SID(SystemIDentify)加以区分。,例程的组成,一个Oracle例程是存取和控制一个数据库的软件机制,是接触Oracle数据库的方式,存取数据库中数据的一种手段,或者称之Oracle数据库管理系统。它由系统全局区(SystemGlobalArea,简称SGA)和后台进程组成。,连接到例程,建立连接和会话:建立用户连接建立会话,建立会话,数据库用户,用户进程,服务器进程,建立连接,建立连接:是一个安全审核的过程。包括:提交的网络服务名是否正确;输入的用户名及密码是否存在且正确,连接的数据库对象是否存在等等,对这些一系列的过程进行审核。通过用户进程来连接。一旦建立了连接,Oracle服务器会给该用户调度一个服务器进程来完成该用户的请求命令服务。建立会话:服务器进程解析用户进程提供来的SQL语句,完成该次会话执行的各种任务。,数据库,Oracle保存数据的容器。分物理存储结构及逻辑存储结构。,Oracle数据库物理存储结构,物理存储结构是现实的数据存储单元,对应于操作系统文件。Oracle数据库就是由驻留在服务器的磁盘上的这些操作系统文件所组成的。这些文件有数据文件、日志文件、控制文件。,物理存储结构,物理结构主要包括以下三种文件:控制文件数据文件重做日志,控制文件,数据文件,重做日志,数据文件(DataFile),数据文件(DataFile)是物理存储Oracle数据库数据的文件。其特点如下:每一个数据文件只与一个数据库相联系。一个表空间可包含一个或多个数据文件。一个数据文件只能属于一个表空间。,重做日志文件(RedoFile),重做日志文件(RedoLogFile)记录所有对数据库数据的修改,以备恢复数据时使用。其特点如下:每一个数据库至少包含两个日志文件组。日志文件组以循环方式进行写操作。每一个日志文件成员对应一个物理文件。,控制文件,控制文件(ControlFile)是一个较小的二进制文件,用于描述数据库结构。,描述信息如下:数据库建立的日期。数据库名。数据库中所有数据文件和日志文件的文件名及路径。恢复数据库时所需的同步信息。,要点注意:在打开和存取数据库时都要访问该文件。记录控制文件名及路径的参数为:CONTROL_FILES,参数文件,参数文件(ParameterFile)也被称为初始化参数文件,用于存储SGA、可选的Oracle特性和后台进程的配置参数。当数据库启动,并在创建例程或读取控制文件之前,会先按其中的参数进行例程的配置。位置:$Oracle_homedbs,口令文件:是个二进制文件,验证特权用户。位置:$Oracle_homedatabasePWD%.ora归档日志文件:非活动的重做日志文件的备份。,逻辑存储结构,主要描述Oracle数据库的内部存储结构,从技术概念上描述Oracle数据库中如何组织、管理数据。可以分为4部分:表空间、段、区、块。,Oracle的逻辑结构是由一个或多个表空间组成。一个表空间(tablespace)由一组段组成一个段(segment)由一组区组成一个区(extent)由一批数据库块组成一个数据库块(block)对应一个或多个物理操作系统块。,表空间,表空间是数据库的逻辑划分的最大单元,一个Oracle数据库至少有一个表空间,即system表空间。,安装完Oracle10g后,自动创建的表空间为:Example示例表空间,存放例子数据库的方案对象。SYSTEM系统表空间,存放关于表空间名称、控制文件、数据文件等管理信息,它属于sys、system方案。不能删除或重命名。SYSAUX辅助系统表空间,用于减少系统表空间的负荷,提高效率。是Oracle10g新增加的表空间。TEMP临时表空间,存放临时表和临时数据,用于排序。USERS用户表空间,存放永久性用户对象及私有信息,也称数据表空间。注意:每一个数据库都应该有一个用户表空间,以便在创建用户时分配给用户,否则用户的数据将会使用SYSTEM表空间。UNDOTBS1重做表,,段(Segment),段,数据(表)段,索引段,临时段,回退段,段是表空间的下一个逻辑单位,是表空间中一个指定类型的逻辑存储结构,它由一个或多个区组成,段将占用并增长存储空间。分类如下:,区(extent),区(Extent)是由物理上连续存放的块构成,区是Oracle存储分配的最小单位,由一个或多个块组成。当在数据库中创建带有实际存储结构的方案对象(如表、索引)时,Oracle将为该方案对象分配若干个区,以便组成一个对应的段来为该方案对象提供初始的存储空间。当段中已分配的区都写满后,Oracle就为该段分配一个新的区,以便容纳更多的数据。分配的第一个区称初始区,以后分配的区称增量区。,数据库块(Block),数据库块(DatabaseBlock)是数据库使用的I/O最小单元,又称逻辑块或ORACLE块。一个数据库块对应一个或多个物理操作系统块,块的大小由参数DB_BLOCK_SIZE确定。数据块的大小是操作系统块大小的整数倍.以Win2K为例,操作系统块(OSblock)的大小为4kb,所以OracleBlock的大小可以是4kb,8kb,16kb等等。,存储结构总结,物理存储结构与逻辑存储结构之间的关系,从物理上看,数据库由控制文件、数据文件、重做日志文件等操作系统文件组成;从逻辑上来看,数据库是由系统表空间、用户表空间等组成。表空间是最大的逻辑单位,块是最小的逻辑单位。逻辑存储结构中的块最后对应到操作系统中的块.,内存结构,Oracle内存结构由两个部分组成:系统全局区(SGA):在启动例程时分配,是Oracle例程的基础组件。程序全局区(PGA):当启动服务器进程时分配。,系统全局区(SGA),SGA是ORACLE系统为实例分配的一组共享缓冲存储区,用于存放数据库数据和控制信息,以实现对数据库数据的管理和操作。每个例程都只有一个SGA.它是不同用户进程与服务进程进行通信的中心,数据库的各种操作主要在SGA中进行,所以称其为系统全局区.创建例程时,Oracle为SGA分配内存;终止例程时,释放SGA所占用的内存.,系统全局区,SGA由以下内存结构组成:共享池数据高速缓存重做日志缓冲区在SGA内可以配置以下内存结构:大缓冲池Java池,共享池,用于存储:最近执行的SQL语句最近使用的数据定义由两个关键的内存结构组成:库高速缓存数据字典高速缓存尺寸由参数SHARED_POOL_SIZE控制,共享池,数据字典高速缓存,库高速缓存,ALTERSYSTEMSETSHARED_POOL_SIZE=64M;,库高速缓存,存储最近解析使用的SQL和PL/SQL语句信息Oracle在执行用户进程提交的各种SQL语句、PL/SQL前要对其进行解析(包括语法解析、对象确认、权限判断、操作优化等)并生成执行计划,占用一定的系统资源。由两个部分组成:共享SQL区共享PL/SQL区,数据字典高速缓存,最近使用的对象定义集合包括数据库文件、表、索引、列、用户、权限和其它数据库对象的信息在解析阶段,服务器进程查看数据字典信息以解析对象名数据字典缓存信息到内存,以提高查询和DML响应时间尺寸由共享池尺寸确定,数据高速缓存,存储从数据文件检索的数据块副本通过LRU算法管理DB_BLOCK_SIZE确定了缓冲区数据块大小,数据高速缓存,初次访问数据时,Oracle将读取磁盘上的数据文件,将数据放入数据高速缓存,再处理数据;如果数据已经位于数据高速缓存中时,Oracle直接操作数据。,数据高速缓存的缓存块分为三类:脏缓存块:存放已经被修改过的缓存块.当SQL修改某个缓存块中的数据,则这个缓存块被标记为脏缓存块空闲缓存块:等待写入数据的空闲缓存块.命中缓存块:最近正在被访问的缓存块.,管理缓存块的列表,Oracle通过2个列表来管理上述缓存块:脏列表(DIRTY)包括被修改过但尚未写到数据文件的缓冲块。LRU(LeastRecentlyUsed)列表包括空闲缓冲块、命中缓存块,以及还没有移到脏列表的缓冲块。,数据高速缓存工作原理,读数据入数据高速缓存之前,先在LRU中搜索空闲缓存块;在搜索过程中如果发现脏缓存块,则将其移入DIRTY;找到足够的空闲块,将所有数据读入;3,如果空闲块不足,则暂停搜索,Oralce立刻启动DBWR进程,将DIRTY中的脏缓存块数据写入数据文件释放足够的空闲缓存块。,数据库写进程,重做日志缓冲区,记录所有数据块变化。当执行DML,如:update、delete、insert或者create、alter、drop等语句时,Oracle都会为这些操作生成重做记录.主要目的是恢复Oracle总是先记录日志、后记录数据由LOG_BUFFER初始化参数定义,重做日志缓冲区,重做日志高速缓存工作原理,为提高效率,重做记录并不直接写入磁盘的重做日志文件,而是先写入重做日志缓存;当重做日志缓存中的重做记录达到一定数量时,由LGWR进程写入重做日志.(先内存后磁盘)当2个(至少2个)重做日志切换时,由ARCH将重做日志中的数据写入归档日志文件,以做备份.,大池,大池用于需要大内存操作提供相对独立的内存空间,以便提高性能。大池是可选的内存结构。DBA可以决定是否需要在SGA中创建大池。需要大池的操作:数据库备份和恢复大量排序的SQL语句并行化的数据库操作,Java池,8i以后提供的对Java的支持,用于存放Java代码、Java程序等.一般不小于20M,以便虚拟机运行.尺寸由JAVA_POOL_SIZE控制,程序全局区(PGA),为每个连接到数据库的用户进程预留内存当建立服务器进程时分配当终止服务器进程时释放只能由一个进程使用,用户进程,PGA,服务器进程,进程结构,Oracle使用各种类型进程:用户进程:当用户请求连接到Oracleserver时启动服务进程:连接到例程,并且当用户建立会话时启动后台进程:当启动例程时启动,用户进程,请求与Oracleserver交互的程序必须首先建立连接不会与Oracleserver直接交互,数据库用户,服务进程,用户进程,建立连接,服务器进程,直接与Oracleserver交互的程序完成调用并返回结果可以是专用的或者共享的,建立连接,建立会话,数据库用户,用户进程,服务器进程,后台进程,作用:维护并加强物理结构和内存结构的关系。必需后台进程:DBWnPMONCKPTLGWRSMON可选后台进程:ARCnLMDnQMNnCJQ0LMO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届内蒙古乌海市高三化学第一学期期中综合测试模拟试题含解析
- 2025技师仓储管理试题及答案
- 2025年注册验船师资格考试(A级船舶检验专业案例分析)强化训练试题及答案一
- 2025年注册验船师资格考试(B级船舶检验法律法规)冲刺试题及答案一
- 2025年高级云计算开发工程师认证指南及模拟试题解析
- 2025年全国养老护理员(高级)技能证书理论考试试题(附答案)
- 国际银行业务试题及答案
- 2025年政府驻穗办事处招聘考试综合备考指南与技巧
- 2025年初级智能制造工程师笔试模拟试题与答案
- 2025年电力电子工程师专业模拟题及答案指南
- 居家养老服务创新创业项目计划书
- 初中英语2023年中考专题训练阅读理解-记叙文篇
- TCOS 014-2023 二氧化硅基气凝胶灭火剂
- ks-9000气体报警控制器使用说明书
- 高速互连连接器及组件技术发展趋势-立讯陈琼南
- 《SPC统计过程控制》课件
- GB/T 3624-2010钛及钛合金无缝管
- GB/T 14153-1993硬质塑料落锤冲击试验方法通则
- (完整版)人教版八年级下册《道德与法治》期末测试卷及答案【新版】
- 维护新疆稳定 实现长治久安课件
- 北京大学人民医院-医疗知情同意书汇编
评论
0/150
提交评论