北京邮电大学软件工程生课程---数据库设计开发-4.2.ppt

北京邮电大学软件工程生课程---数据库设计开发-4.2.ppt

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
郭文明 2003.06.05 《电信资源管理系统》立项可行性说明 郭文明 2003.06.05 4.2 ORACLE数据库实例管理 Oracle服务器就是数据库管理系统(DBMS),由数据库(Oracle database)和实例(Oracle instance)组成。 实例是一系列复杂的内存结构和操作系统进程,它为Oracle客户提供所期望的不同程度的服务。一个实例只能打开一个数据库,或者说一个数据库被唯一的一个实例装载。 4.2.1 实例组成 4.2.2 实例创建 4.2.3 监控实例 4.2.1 ORACLE数据库实例组成 实例中每一个进程都有各自的一个内存块,该内存块用于保存私有变量、地址堆栈和其他运行时的信息。 进程间使用公共共享区并在公共共享区内完成它们的工作。公共共享区是能够在同一时间内被不同程序和不同进程读写的一块内存区。该内存块称为系统全局区(SGA)。因为SGA驻留在一个共享内存段中,所以它经常被称作共享全局区。 后台进程就像数据库的手,是直接处理数据库的组件;SGA就像大脑,在必要时间接地调度手处理它们的信息与存储检索。SGA参与发生在数据库中全部的信息和服务器的处理。 单用户的Oracle配置(Personal Oracle Lite),不使用多进程执行数据库的功能。相反,所有的数据库功能由一个Oracle进程完成。由于这个原因,单用户也称为单进程Oracle。 4.2.1 ORACLE数据库实例组成 ORACLE实例是指有自己的内存结构和相关的服务器进程及后台进程的DBMS。 4.2.1.1 内存结构 4.2.1.2 进程 4.2.1.1 ORACLE內存结构 ORACLE的内存结构主要有两个内存区域组成: SGA(System Global Area):系统全局区,是ORACLE实例的基础,是一个共享区域,存放最近使用的SQL语句、最近使用的数据、最近使用的数据字典等信息,供各个进程调用。 PGA(Program Global Area):程序全局区,该区域是一非共享区域,存放会话、排序、游标、主变量等信息,被服务器进程调用,保证谁的请求处理结果给谁,谁的排序给谁,用户声明的、打开的、使用的、关闭的游标是私有的,用户的主变量不被其他用户干扰。 4.2.1.1 ORACLE內存结构 系统全局区:系统全局区是实例的主要部分。它含有数据维护、SQL语句分析与重做缓存所必须的所有内存结构。 系统全局区的数据是共享的,也就是说,多个进程可以在同一时间对SGA中的数据进行访问和修改。所有数据库操作都使用包含在SGA中某点上的结构。 当实例被创建时,分配SGA;当实例关闭时,释放SGA。 4.2.1.1 ORACLE內存结构 SGA组成如下: 共享池。 数据库缓冲区高速缓存。 重做日志缓冲区。 另外oracle9i还有Java pool,8i有Java虚拟机,解释Java;Java pool是利用数据库技术解释Java. oracle9i的SGA可以通过SGA_MAX_SIZE被动态的设置大小,8i不能动态设置。 4.2.1.1 ORACLE內存结构 共享池:共享池包括库高速缓存、数据字典高速缓存和服务器控制结构(例如数据库字符集)。 参见下图 4.2.1.1 ORACLE內存结构 共享池: 库高速缓存存储已提交给RDBMS的SQL语句文本、分析过的格式与执行计划,以及已被执行的PL/SQL包头与过程等。数据字典高速缓存存储用于分析SQL语句的数据字典行。 Oracle服务器用库高速缓存来提高执行SQL语句的性能。当一条SQL语句提交时,服务器首先查找高速缓存,查看相同的语句是否已被提交或缓存过。如果有,Oracle使用存储的语法分析树和执行路径来执行该语句,使用存储代码可以获得明显的性能提高。 4.2.1.1 ORACLE內存结构 共享池: 对于使用以前缓存的SQL语句,它必须在所有方面都与缓存版本完全相同,包括标点符号和字母的大小写。 库高速缓存包括共享和专用SQL区。共享SQL区包括SQL语句语法分析树和执行路径;专用SQL区存储特定的会话信息,一个用户会话能够一次打开的专用SQL区的数量由init.ora参数OPEN_CURSORS决定。 库高速缓存中的专用SQL区可更进一步分为永久区和运行区。永久区中包含合法的信息,并可应用于SQL语句的多个执行中,而运行区中仅包含正在被执行的SQL语句的数据。 4.2.1.1 ORACLE內存结构 共享池: 字典高速缓存含有RDBMS引擎分析SQL语句所使用的数据字典信息。在这个区域中含有段信息、安全性、访问权限和在可用的自由存储空间等信

文档评论(0)

花千骨 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档