- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle体系结构 单世民 基本概念回顾 数据库(Database) 存放数据的仓库 长期存储在计算机内,有组织的,可共享的大量数据的集合 数据库管理系统(DBMS) 用于科学地组织和存储数据,高效地获取和维护数据的系统软件 数据库系统(DBS) 在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成 数据库系统 数据库系统是指在计算机系统中引入数据库后的系统 概述 概述 实例和数据库 Oracle服务器Oracle服务器由Oracle实例和Oracle数据库组成 数据库(Database)及实例(Instance)数据库(database):物理操作系统文件或磁盘(disk)的集合。实例(instance):数据库启动时,系统首先在服务器内存中分配系统全局区(SGA),构成了Oracle的内存结构,然后启动若干个常驻内存的操作系统进程,即组成了Oracle的进程结构,内存区域和后台进程合称为一个Oracle实例。实例在操作系统中用ORACLE_SID来标识,在Oracle中用参数INSTANCE_NAME来标识, 它们两个的值是相同的。 实例和数据库 实例和数据库之间的关系是:数据库可以由多个实例装载和打开,而实例可以在任何时间点装载和打开一个数据库。实际上,实例在其整个生存期中最多能装载和打开一个数据库。 实例和数据库 内存 内存 在Oracle系统的体系结构中,有许多不同的内存区域。不同的内存区域用于不同的目的。Oracle的服务器进程和许多后台进程负责在内存区域中写入、更新、读取和删除数据。 理解内存区域的用途,有助于理解数据库操作期间的数据和进程流程。 内存 Oracle的3个主要的内存结构 系统全局区(System Global Area,SGA) 进程全局区(Process Global Area,PGA) 用户全局区(User Global Area,UGA) 内存 内存 内存 内存 内存 内存 内存 内存 内存 内存 后台进程 后台进程 无论用户是否连接数据库,有些进程都会作为数据库的一部分运行。这些进程被称为后台进程。每一个后台进程都有自己的职责。如果这些后台进程崩溃了,那么数据库也就随着崩溃了。实际上,Oracle实例是由后台进程和内存结构共同组成的。 Oracle的后台进程主要是用来提高数据库的性能和可靠性,它可以由多个用户共同使用,为这些并发用户进程提供各种服务。Oracle的后台进程执行输入/输出操作,并监视Oracle服务器的其他进程。 后台进程 一般情况下,Oracle的后台进程包括PMON、SMON、DBWR、LGWR、ARCH、CKPT等。 进程监控器(PMON) 进程监控器(Process Monitor,PMON) 的主要职责是监控服务器进程和注册数据库服务。 监控服务器进程,确保能够销毁发生损坏或出现故障的进程,释放这些进程占用的资源。 在主机操作系统上使用Oracle监听器注册数据库服务。全局数据库名称、SID以及其他数据库支持的服务都要使用监控器注册。 系统监控进程(SMON) 系统监视器(System Monitor,SMON)的主要职责包括在实例启动时执行实例恢复、清除临时段、执行盘区结合等。 在出现故障实例的情况下,SMON负责重新启动系统,执行崩溃恢复。这项职责包括回滚未提交的事务处理,为实例崩溃时还没有写入数据文件的事务处理在数据库上应用重做日志表项(来自于归档的重做日志文件)等任务。 SMON将会清除已经分配但是还没有释放的临时段。在字典管理表空间中,如果有大量的盘区,那么清除临时段所花费的时间将会非常多。这可能导致数据库启动时的性能问题,因为SMON将会在这个时候试图清除临时段。 SMON会在字典管理表空间中执行盘区结合。 数据写入进程( DBWR ) DBWR(Database Writer,数据写入进程)将数据缓冲区的数据写入数据文件,是负责数据缓冲区管理的一个后台进程。 日志写入进程(LGWR) 日志写入进程(Log Writer,LGWR)负责向在线重做日志文件中记录所有数据库的已提交事务处理。该进程会将所有数据从重做日志缓存中写入到现行的在线重做日志文件中。 检查点进程(CKPT) 检查点进程(Check Point,CKPT)负责使用最新的检查点信息更新所有的控制文件和数据文件标题,这种操作称为检查点。 数据库写入器会定期将其缓存写入到磁盘中,以存储检查点。日志切换也可以激活检查点。检查点信息会在数据库恢复期间使用。当SMON恢复数据库时,它会决定最后在数据文件中记录的检查点。届时必须将数据文件标题和控制文件中最后记录的检查点之后的、在线重做日志文件中的各个表项重新
文档评论(0)