




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库体系结构 oOracle数据库体系结构 体系结构包括实例(Instance)、数据库文件,用户进程(User process)和服 务器进程(Server process)以及其它文件,如参数文件(Parameter file),密码 文件(Password file)和归档日志文件(Archived log file)等。 数据库体系结构 o实例概念 Oracle实例就是由一些内存区和后台进程组成。实例的组成如图 2-2所示,从实例的组成图可以看实例由SGA和一些后台进程组成 数据库体系结构 oOracle数据库物理结构(文件组成) Oracle数据库的物理结构就是指数据库中的一系列
2、操作系统文件,Oracle数据库由三类文件组成。 数据文件(datafiles):数据文件包含数据库中的 实际数据,是数据库操作中数据的最终存储位置。 控制文件(controlfile):包含维护数据库和验证数 据库完整性的信息,它是二进制文件。 重做日志文件(redo file):重做日志文件包含数据 库发生变化的记录,在发生故障时用于数据恢复。 数据库体系结构 o Oracle数据库参数文件和密码文件 虽然参数文件和密码文件不是Oracle的数据库文件,但是 Oracle数据库不可少的两个文件。 参数文件(parameter file):参数文件中定义了数据库实例 的特性。在参数文件中包含
3、为SGA中内存结构分配空间的参数, 如分配数据库高速缓冲区的大小等,参数文件是正文文件,可 以使用操作系统文本编辑器查看,如在WINDOWS操作系统中 使用记事本工具。 密码文件(password file):密码文件授予用户启动和关闭 数据库实例,在刚安装数据库时,Oracle的默认用户名和密码 就存储在密码文件中,Oracle可以藉此判断用户的操作权限。 归档日志文件:归档日志文件是日志文件的脱机备份,在发生 故障时,数据恢复时可能使用该文件。 数据库体系结构 o数据库连接(connection)与会话(session) 数据库连接 连接指用户进程与数据库服务器之间的通信途径,一个连接可以
4、有多个对话。 Oracle提供了三种数据库连接方式,以满足用户不同的连接需求,三种连接 方式如下。 l基于主机的方式(Host-Based):此方式中,服务器和客户端运行在同一台 计算机上,用户可以直接连接数据库服务器。 l基于客户机_服务器的方式(Client-Server):该方式中数据库服务器和客户 端运行在不同的计算机上,客户通过网络连接数据库服务器。在DBA的日常 维护中,会经常使用这种方式访问数据库,实现数据库的远程维护。 l用户-应用服务器-数据库服务器方式(Client-Application Server- Server):这种方式称为三层访问模式,用户首先访问应用服务器,然
5、后由应 用服务器连接数据库服务器,应用服务器就如一个中介,完成客户和数据库的 交互。在很多应用系统中,客户的应用程序往往通过三层方式访问数据库,如 应用服务器为IIS或Apache服务器等。 会话 会话指一个明确的数据库连接。在用户与数据库服务器建立连接的三种方式中, 一旦用户采用一种连接方式,我们把这样的连接称为一个会话。 数据库体系结构 oOracle数据库内存结构 共享池 Oracle引入共享池的目的就是共享SQL或PL/SQL代码,即把解析得到 的SQL代码的结果在这里缓存,其中PL/SQL代码不仅在这里缓存, 同时在这里共享。共享池由两部分组成,即库高速缓存和数据字典高 速缓存。 l
6、库高速缓存 库高速缓存存储了最近使用过的SQL和PL/SQL语句。当然它的容量 是有限的,Oracle采用一种LRU(least recently used)算法管理 库高速缓存 。 l数据字典高速缓存 缓存区是与数据字典相关的一段缓冲区。在数据字典高速缓冲区中存 储了数据文件、表、索引、列、用户、权限信息和其它一些数据库对 象的定义。在SQL语句的解析阶段,数据库服务器需要这些信息来解 析用户名和用户的访问权限。如果Oracle缓存了这些信息,无疑提高 了查询地相应时间。 数据库体系结构 oOracle数据库内存结构 重做日志高速缓冲区 当用户执行了INSERT,UPDATE,DELETE等
7、 操作后,数据发生了变化,这些变化了的数 据在写入数据库高速缓存之前会先写入重做 日志缓冲区,同时变化之前的数据也放入重 做日志高速缓存,这样在数据恢复时就 Oracle就知道那些需要前滚那些需要后滚。 数据库体系结构 oOracle数据库内存结构 大池(large pool)和java池 大池是SGA的一段可选内存区,只在共享服务器环境中配置大 池(large pool)。在共享服务器环境下,Oracle在共享池中 分配额外的空间用于存储用户进程和服务器进程之间的会话信 息,但是用户进程区域UGA(可理解为PGA在共享服务器中的 另一个称呼)的大部分将在大池中分配,这样就减轻了共享池 的负担
8、。在大规模输入、输出及备份过程中也需要大池作为缓 存空间。 Java池也是可选的一段内存区,但是在安装了Java或者使用 java程序则必须设置Java池,它用于编译Java语言编写的指令。 数据库体系结构 oOracle数据库内存结构 流池(Streaming pool) 流池也称为流内存,它是为Oracle流专用的 内存池,流(stream)是Oracle数据库中 的一个数据共享,其大小可以通过参数 stream_pool_size,动态调整。 数据库体系结构 oOracle数据库内存结构 PGA(进程全局区) oPGA中存储了服务器进程或单独的后台进程的数据信息和控制 信息。它随着服务器
9、进程的创建而被分配内存,随着进程的终 止而释放内存。PGA与SGA不同,它不是一个共享区域,而是 服务器进程专有的区域。在专有服务器(与共享服务器相对的 概念)配置中包括如下的组件: l排序区:对某些的SQL语句执行结果进行排序。 l会话信息:包含本次会话的用户权限和性能统计信息。 l游标状态:标明当前会话执行的SQL语句的处理阶段。 l堆栈区:包含其它的会话变量。 数据库体系结构 oOracle数据库内存结构 UGA(用户全局区) 在共享服务器模式下有一个重要的概念即UGA(用 户全局区),它就是用户的会话状态,这部分内存 会话总可以访问,UGA存储在每个共享服务器都可 以访问SGA中,这样
10、任何服务器都可以使用用户会 话的数据和其它信息。而在专有服务器模式下,用 户会话状态不需要共享,用户进程与服务器进程是 一一对应的关系,所以UGA总是在PGA中分配。 数据库体系结构 o后台进程 系统监控进程(SMON) 系统监控进程的主要作用就是数据库实例恢复。当数据库发生故障时, 如操作系统重启,此时实例SGA中的所有没有写到磁盘的信息都将丢 失。当数据库重新启动后,系统监控进程自动恢复实例。实例恢复包 括如下三个步骤。 l前滚所有没有写入数据文件而记录在重做日志文件中的数据。此时, 系统监控进程读取重做日志文件,把用户更改的数据重新写入数据块。 l打开数据库,此时或许系统监控进程的前滚操
11、作还没有完成,Oracle 这样做的目的就是方便用户及时登录,以免前滚时间太长,影响用户 的行为,这样用户就可以操作那些没有被事务恢复琐住的数据。 l回滚未提交的事物。 除此之外,系统监控进程执行某些空间维护的作用。 lcombine,coalesces,adjacent 数据文件中的自由空间。 l回收数据文件中的临时段。. 数据库体系结构 o后台进程 进程监控进程(PMON) 进程监控负责服务器进程的管理和维护工作,在进程失败或连 接异常发生时该进程负责一些清理工作。 l回滚没有提交的事务。 l释放所持有的当前的表或行琐。 l释放进程占用的SGA资源。 l监视其它Oracle的后台进程,在必
12、要时重启这些后台进程。 l向OracleTNS监听器注册刚启动的实例。如果监听器在运行, 就与这个监听器通信并传递如服务名和实例的负载等参数,如 果监听器没有启动,进程监控(PMON)会定期地尝试连接监 听器来注册实例 数据库体系结构 o后台进程 数据库写进程(DBWR) 脏数据的概念,脏数据就是用户更改了的但没有提交的数据库中的数据,因为在数据库 的数据文件与数据库高速缓存中的数据不一致,说称为脏数据,这种脏数据必须在特定 的条件下写到数据文件中,这就是数据库写进程的作用。 数据库写进程负责把数据库高速缓冲区中的脏数据写到数据文件中。或许读者会问,为 什么不立即提交脏数据呢,这样就不需要复杂
13、的数据库写进程来管理。其实,Oracle这 样设计的思路很简单,就是减少I/O次数,但脏数据量达到一定程度或者某种其它条件 满足时,就提交一次脏数据。因为磁盘的输入、输出会花费系统时间,使得Oracle系统 的效率不高。 当以下事件发生时,会触发数据库写进程把脏数据写到数据库的数据文件中。 l发生检查点事件。 l脏数据量达到了门限值。 l数据库缓冲区没有足够的缓存为其它事务提供足够的空间。 l表空间处于热备份状态。 l表空间被置为离线状态。 l表空间被置为只读状态。 l删除表或者截断表。 l超时。 数据库体系结构 o后台进程 归档日志进程(ARCH) 归档日志进程是可选进程,该进程并不再实 例启动是自动启动。它的作用是把写满的重 做日志文件的数据写到一个归档日志中,这 个归档日志用作介质故障时的数据库恢复。 数据库体系结构 o后台进程 校验点进程(checkpoint process) 首先介绍检验点,检验点是一个事件,当数据库写进程把SGA 中所有被修改了的数据库高速缓冲中的数据写到数据文件上时 产生,这些被修改的数据包括
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国铁路物流行业十三五规划与投资战略研究报告
- 2025-2030年中国车灯模具行业市场前景规模及发展趋势分析报告
- 2025-2030年中国莲藕粉行业运行态势及发展趋势分析报告
- 2025-2030年中国花露水市场风险评估规划分析报告
- 2025-2030年中国胡麻油市场竞争状况及发展趋势分析报告
- 2025-2030年中国聚碳酸酯板(阳光板)行业发展趋势规划研究报告
- 2025-2030年中国缝制机械市场运行现状及发展趋势分析报告
- 2025-2030年中国纸制品市场运行现状及发展前景预测报告
- 2025-2030年中国电玩行业运行状况及发展前景分析报告
- 2025-2030年中国电容笔行业发展状况及营销战略研究报告
- 2025年01月2025广东深圳市何香凝美术馆公开招聘应届高校毕业生2人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 园林聘用劳动合同
- 300亩文冠果树栽培基地建设项目可行性研究报告
- 2025年菏泽职业学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 2025年江西生物科技职业学院高职单招职业适应性测试近5年常考版参考题库含答案解析
- 2025年度企业安全生产与环保管理服务协议范本3篇
- 2025-2030年中国巧克力产品市场需求状况及发展趋势分析报告
- 六年级下册音乐全册教案湖南文艺出版社湘教版
- Tracepro-实例学习教程
- 进货单出货单(Excel表格模板)
- 质监站对监理工作监督的要点
评论
0/150
提交评论