第8章 Oracle软件结构.docVIP

  • 0
  • 0
  • 约8.26千字
  • 约 6页
  • 2020-02-26 发布于陕西
  • 举报
第八章 Oracle软件结构 Oracle 8是一个复杂的数据库管理系统(DBMs),管理能想象到的几乎任意大小数据库的访问。成百甚至成千上万的并发用户能够本地或通过计算机网络连接到一个数据库服务器。为高效可靠地完成这些非常任务,Oracle创建并使用了众多的软件结构。本章解释Oracle 8用来行使功能的众多软件结构,包括:数据库服务器和实例、Oracle服务器进程、Oracle内存结构。 §8.1数据库服务器与数据库实例 一个Oracle数据库服务器,通常被认为是数据库实例,是Oracle用来管理对数据库访问的服务器端进程和内存区域的集合。图8-l是一个基本图表,显示Oracle数据库实例的进程和内存区的形式。 §8.1.1服务器启动与关闭 在任何人能够操作Oracle数据库前,必须有人对数据库服务器执行一个启动操作。这个过程包括启动一个数据库实例、安装(关联)数据库到实例和打开数据库。在服务器启动之后,数据库通常可以被应用使用。 相反,通过执行数据库服务器关闭操作,可以让一个数据库不可用。服务器关闭是服务器启动的反过程:首先要关闭数据库,接着从实例卸载数据库,最后关闭实例。在服务器关闭后,用户不能够访问数据库,直到你重新启动服务器后才可以再次访问数据库。 1.服务器崩溃 服务器崩溃是不正常的服务器关闭。例如,一个不幸的系统操作或故障能够出乎意料地删除一个或多个服务器的后台进程。因此,数据库服务器可能崩溃。Oracle有一个内置特性,能够保护全部提交事务的工作,而且从崩溃的实例自动地执行必要的恢复工作。 2.Oracle并行服务器选项和高可用性 许多地方使用Oracle以支持首要任务应用。一个首要任务应用,根据定义,有严格的高可用性要求。这些地方不能忍受任何一点因为服务器崩溃而造成的停工。在这种情形下,Oracle的并行服务器能够帮助你。 在一个并行服务器配置中,运行在不同节点的松散联结计算机上的多个数据库实例以并行方式安装并打开相同的数据库。用户能够通过安装到数据库的任何实例操作数据库。如果一个独立的系统错误造成其中的一个实例崩溃,则其他的服务器保持可用,使得用户能够继续工作而不被中断。 §8.1.2服务器连接 在一个Oracle实例启动并运行后,可以建立与服务器的连接来执行数据库工作。在后台,数据库实例工作机制完成你的请求和其他用户的请求。在同一时间,在保持共享数据库完整的同时,数据库实例自动地保护全部事务的工作。下面部分详细地解释组成Oracle数据库服务器的进程和内存结构。 §8.2 0racle8进程 在服务器启动期间,Oracle在主机(服务器计算机)创建一系列的操作系统进程。当用户连接到实例时,Oracle创建额外的进程来管理它们的连接和执行各自的数据库任务。下面部分解释作为Oracle数据库实例组成部分的多种多样的操作系统进程。 §8.2.1服务器端后台进程 每个Oracle数据库实例包含一系列的服务器后台进程。后台进程是一个执行指定系统功能的服务进程。图8-2和下面部分更详细地解释在一个Oracle数据库实例中最常见到的服务器后台进程。 1.数据库写进程(DBWR) 当修改一些数据库数据(例如,插入、更新或删除数据库表中的记录)时,Oracle不仅仅简单地修改数据文件中的数据。这种类型的操作在一个大型的多用户系统中尤其不够高效,因为系统会不断地从数据库的数据文件读取或写人数据。代替的是,一个代表你的会话而工作的服务进程从数据文件读取一个或多个数据块进入服务器的内存。然后Oracle在服务器的内存中做出你所要求的更改。最终,数据库写进程(database writer Process,DBwR)将内存中被修改的数据块写入到数据库的数据文件中。为合并磁盘访问,减少不必要的开销,并让OracIe 8性能最佳,一个实例的数据库写进程只有在某些情形下才将被修改数据块从内存写入磁盘:如果DBwR进程有几秒钟时间的搁置空闲;如果一个进程希望读取新的数据块进入内存,但内存中没有自由空间可用;或者当系统执行一个检查点。“检查点处理”部分解释检查点。 2.日志写入进程(LGWR) 日志写入进程(1og writer process,LGwR)记录有关全部提交事务所做的修改信息。Oracle如下执行事务日志记录: 1)在你执行一个事务时,Oracle创建称为重做项的小记录,它们刚好包含重建由事务造成的改变所必须的足够信息。 2)Oracle在服务器的重做日志内存区临时地存储事务的重做项。服务器的重做日志内存区是为全部系统事务临时高速缓存事务重做项的一个小内存区域。 3)当要求Oracle提交你的事务时,I,GwR在重做日志内存中读取相应的重做项并将它们写入数据库的事务日志中。数据库的事务日志是被指定用于记录由全部系统事务创建的

文档评论(0)

1亿VIP精品文档

相关文档