第02章 Oracle 11g体系结构

上传人:飞*** 文档编号:7798411 上传时间:2017-08-10 格式:PPT 页数:59 大小:1.43MB
返回 下载 相关 举报
第02章  Oracle 11g体系结构_第1页
第1页 / 共59页
第02章  Oracle 11g体系结构_第2页
第2页 / 共59页
第02章  Oracle 11g体系结构_第3页
第3页 / 共59页
第02章  Oracle 11g体系结构_第4页
第4页 / 共59页
第02章  Oracle 11g体系结构_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《第02章 Oracle 11g体系结构》由会员分享,可在线阅读,更多相关《第02章 Oracle 11g体系结构(59页珍藏版)》请在金锄头文库上搜索。

1、第2讲 Oracle 数据库 体系结构,提问,回顾数据模型的三要素中哪一个要素用于描述数据模型的动态特征?说出数据库、数据库管理系统、数据库系统的区别。Oracle11g数据库能不能在Linux平台上运行?SQL Server 能不能?引入从逻辑和物理的角度考虑,Oracle的组成如何?Oracle数据库如何保证成千上万用户的高性能并发访问?使用Oracle数据库如何构建数据库应用程序?,本节课要讲解的内容,Oracle 11g的逻辑结构:表空间、段、区间、数据块、表、其他逻辑对象。Oracle 11g的物理结构:数据文件、控制文件、日志文件、初始化参数文件、其他文件。Oracle 11g的总

2、体结构:内存结构、后台进程、Oracle例程。Oracle 11g的应用架构:多磁盘结构、磁盘映像结构、客户/服务器系统、共享服务器系统、并行数据库系统、分布式数据库系统。,Oracle server的组成,Instance,SGA,Redo logbuffer cache,Shared pool,Data Dict.cache,Librarycache,DBWR,SMON,PMON,CKPT,LGWR,Others,Userprocess,Serverprocess,PGA,Control files,Data files,Archived log files,Parameterfile,P

3、asswordfile,Redo log files,Database,Databasebuffer cache,1. Oracle实例的组成,Instance,SGA,Redo logbuffer cache,Shared pool,Data Dict.cache,Librarycache,DBWR,SMON,PMON,CKPT,LGWR,Others,Databasebuffer cache,用它来访问数据库只能打开一个数据库由内存和后台进程结构组成,2.建立连接和建立会话,3.物理存储结构,Control files,Data files,Archived log files,Param

4、eterfile,Passwordfile,Redo log files,Database,数据文件,数据文件就是用来存放数据库数据的物理文件, 文件后缀“.DBF”。数据文件存放的主要内容如下:(1)表中的数据;(2)索引数据;(3)数据字典定义;(4)回滚事务所需信息;(5)存储过程、函数和数据包的代码;(6)用来排序的临时数据。,控制文件,控制文件用于记录和维护整个数据库的全局物理结构,它是一个二进制文件,文件后缀为“.CTL” 。控制文件存放了与Oracle 数据库物理文件有关的关键控制信息,如数据库名和创建时间,物理文件名、大小及存放位置等信息。控制文件在创建数据库时生成,以后当数据

5、库发生任何物理变化都将被自动更新。每个数据库包含通常两个或多个控制文件。这几个控制文件的内容上保持一致。,日志文件,日志文件用于记录对数据库进行的修改操作和事务操作,文件后缀为“.LOG” 。每个数据库至少包含两个重做日志组,这两个日志组是循环使用的。日志写入进程(LGWR)会将数据库发生的变化写入到日志组一,当日志组一写满后,即产生日志切换,LGWR会将数据库发生的变化写入到日志组二,当日志组二也写满后,产生日志切换,LGWR会将数据库发生的变化再写入日志组一,依次类推。日志文件分为联机重做日志文件和归档日志文件。归档日志,是当前非活动重做日志的备份,可以使用归档日志进行恢复。,日志文件的模

6、式,归档模式Archivclog、非归档模式NoArchivelog归档模式,将保留所有的重做日志内容。这样数据库可以从所有类型的失败中恢复,是最安全的数据库工作方式。对于非常重要的Oracle 数据库应用,比如银行系统等,必须采用归档模式。非归档模式,不保留以前的重做日志内容,适合于对数据库中数据要求不高的场合。,初始化参数文件,初始化参数文件INIT.ORA是一个文本文件,定义了要启动的数据库及内存结构的大约200多项参数信息。启动任何一个数据库之前,Oracle系统都要读取初始化参数文件中的各项参数。初始化参数文件的主要内容如下:(1)设置内存大小;(2)设置要使用的数据库和控制文件;(

7、3)设置检查点;(4)设置数据库的控制结构;(5)非强制性后台进程的初始化,其他Oracle 物理文件,跟踪文件(Trace file):存放着后台进程的警告和错误信息,每个后台进程都有相应的跟踪文件。警告文件( Alert file):由连续的消息和错误组成,可以看到Oracle内部错误、块损坏错误等。备份文件( Backup file):包含恢复数据库结构和数据文件所需的副本。口令文件( Password file):存放用户口令的加密文件。,各种物理文件关系图,4.Oracle 数据库的逻辑结构,Oracle 11g数据库,数据库方案,什么是方案?方案是用户使用的一系列数据库对象的集合。

8、而用户是用来连接数据库并能够存取数据库对象的。一个用户一般对应一个方案,该用户的方案名和用户名相同,并作为该用户的缺省方案。这也就是在企业管理器的方案下看到方案名都为数据库用户名的原因。,如果SCOTT用户创建了表EMP,那么SCOTT就是表EMP的属主,在SCOTT访问SCOTT用户下的EMP表时不用在表名前面加上表的属主:SELECT * FROM EMP;如果其他用户要访问表EMP,要在表名前面加上表的属主:SELECT * FROM scott.emp;否则会显示“没有此表”。,表空间(TableSpace),表空间是Oracle数据库中数据的逻辑组织单位,通过表空间来组织数据库中的数

9、据。数据库逻辑上由一个或多个表空间组成,表空间物理上是由一个或多个数据文件组成。,默认表空间,表空间,表空间/文件/段/区间/数据块的示意图,段(Segment) 、区间(Extent)和数据块,段:数据段、索引段、临时段。段由若干个区间组成。区间:由连续分配的相邻数据块组成。数据块:是数据库中最小的、最基本的存储单位。,5.Oracle后台进程,进程的概念进程是操作系统中一个独立的可以调度的活动,用于完成指定的任务。进程的类型用户进程服务器进程后台进程,用户进程 当用户连接数据库执行一个应用程序时,会创建一个用户进程,来完成用户所指定的任务。 用户进程在用户方工作,它向服务器进程请求信息.

10、-sqlplus服务器进程 服务器进程由Oracle自身创建,用于处理连接到数据库实例的用户进程所提出的请求。用户进程只有通过服务器进程才能实现对数据库的访问和操作。,后台进程 为了保证Oracle数据库在任意一个时刻可以处理多用户的并发请求,进行复杂的数据操作,Oracle数据库起用了一些相互独立的附加进程,称为后台进程。服务器进程在执行用户进程请求时,调用后台进程来实现对数据库的操作。,Oracle的后台进程主要包括:(1)SMON系统监控进程(system monitor)(2)PMON进程监控进程(process monitor)(3)DBWR数据库写入进程(4)LGWR日志文件写入进

11、程(5)ARCH归档进程(archiver process)(6)RECO恢复进程(7)CKPT检查点进程,数据库写入进程 (DBWR),负责将数据块缓冲区内变动过的数据块写回磁盘内的数据文件。DBWR可有多个.检查点发生脏数据块达到极限没有空间了对表空间的操作表的删除(释放也是写的一种),日志写入进程(LGWR),负责将重做日志缓冲区内变动记录循环写回磁盘内的重做日志文件,该进程会将所有数据从重做日志缓存中写入到现行的在线重做日志文件中。会在下面4种不同情况下执行写入操作:事务处理进行提交;重做日志缓存已经填充了1/3;重做日志缓存中的数据量达到了1MB;每3秒的时间。在DBWR写之前,系统

12、监视器 (SMON),系统监视器(system monitor,SMON)的主要职责是重新启动系统。在出现故障实例的情况下,SMON负责重新启动系统,执行崩溃恢复。实例恢复,未完成的事务回滚,进程监控器(PMON),PMON的主要职责是监控服务器进程和注册数据库服务。监控服务器进程,当某个使用者处理程序异常终止时,进程失败,释放这些进程占用的资源,如清除数据块缓冲区中不再使用的空间,回滚。使用Oracle监听器注册数据库服务。,检查点进程(CKPT),在适当时候产生一个checkpoint事件,确保缓冲区内经常被变动的数据也要定期被写入数据文件。在checkpoint之后,万一需要恢复,不再需

13、要写检查点之前的记录。-缩短数据库的重新激活时间. 用 checkpoint信息来更新数据文件头和控制文件。,内存结构是Oracle存放常用信息和所有运行在该机器上的Oracle程序的内存区域。Oracle有两种类型的内存结构:系统全局区System Global Area,SGA程序全局区Program Global Area,PGA,4.Oracle内存结构,系统全局区 SGASGA区是由Oracle分配的共享内存结构,包含一个数据库实例共享的数据和控制信息。当多个用户同时连接同一个实例时,SGA区数据供多个用户共享,所以SGA区又称为共享全局区。 实例启动时分配,实例关闭时释放。-查看V

14、GA信息: showsga select*fromv$sgastat;,SGA分成5部分: SQL共享池、数据缓冲区、日志缓冲区、大池和Java池。,SGA,Redo logbuffer cache,Shared pool,Data Dict.cache,Librarycache,Databasebuffer cache,大小由SGA-MAX-SIZE来指定,数据库缓冲区为SGA 的主要成员,用来存放读取自数据文件的数据块复本,或是使用者曾经处理过的数据。数据库缓冲区又称用户数据高速缓冲区,为所有与该实例相链接的用户进程所共享。 采用最近最少使用算法(LRU)来管理可用空间。,1SGA-数据库

15、缓冲区,数据库缓冲区的容量受物理容量限制。数据库缓存的大小可以由服务器文件spfile.ora文件中的DB_CACHE_SIZE参数指定,该参数可以直接以K字节或M字节为单位来设置数据库缓存的大小。,联机重做日志文件用于记录数据库的更改,对数据库进行修改的事务(Transaction)在记录到重做日志之前都必须首先放到重做日志缓冲区(Redo Log Buffer)中。重做日志缓冲区是专为此开辟的一块内存区域,重做日志缓存中的内容将被LGWR后台进程写入重做日志文件。,2.SGA-重做日志缓冲区,Shared SQL Pool用来存储:最近执行过的SQL声明,以便共享;最近使用过的数据定义,3

16、.SGA- SQL共享池,大小取决于参数SHARED_POOL_SIZE,它是以字节为单位的。用户必须将这个值设得足够大,以确保有足够的可用空间来装载和存储PL/SQL块和SQL语句。,SQL共享池有两个部分:库高速缓存(library cache):系统解析SQL命令,保存解析后的结果,以备用。数据字典高速缓存(data dictionary cache),执行步骤,1.parse 解析2.bind 绑定变量3.execute 执行4.fetch 返回结果,1)从共享池的库缓冲区中搜索,该语句是否执行过如果是已经执行过的SQL语句,oracle会使用hash函数进行计算,产生一个很小的文本文件,跳到步骤4)找到编译后的代码直接执行,若是第一次执行则进入步骤2);2)检查语法、权限等信息(存储在数据字典中),

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号