《第02章 Oracle 9i体系结构7037661314483.pptx》由会员分享,可在线阅读,更多相关《第02章 Oracle 9i体系结构7037661314483.pptx(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2Copyright cuit,2004.All rights reserved.第第2讲讲 Oracle 9i体系结构体系结构2-2提问提问回顾回顾数据模型的三要素?数据模型的三要素?说出数据库、数据库管理系统、数据库系统的区别。说出数据库、数据库管理系统、数据库系统的区别。Oracle9i数据库能不能在数据库能不能在Linux平台上运行?平台上运行?SQL Server 2000能不能?能不能?Oracle9i的产品组成由几部分构成?的产品组成由几部分构成?引入引入从逻辑和物理的角度考虑,从逻辑和物理的角度考虑,Oracle的组成如何?的组成如何?Oracle数据库如何保证成千上万用户的高
2、性能并发访问?数据库如何保证成千上万用户的高性能并发访问?使用使用Oracle数据库如何构建数据库应用程序?数据库如何构建数据库应用程序?2-3本节课要讲解的内容本节课要讲解的内容Oracle 9i的逻辑结构的逻辑结构:表空间、段、区间、数据块、:表空间、段、区间、数据块、表、其他逻辑对象。表、其他逻辑对象。Oracle 9i的物理结构的物理结构:数据文件、控制文件、日志:数据文件、控制文件、日志文件、初始化参数文件、其他文件。文件、初始化参数文件、其他文件。Oracle 9i的总体结构的总体结构:内存结构、后台进程、:内存结构、后台进程、Oracle例程。例程。Oracle 9i的应用架构的
3、应用架构:多磁盘结构、磁盘映像结构、:多磁盘结构、磁盘映像结构、客户客户/服务器系统、共享服务器系统、并行数据库系服务器系统、共享服务器系统、并行数据库系统、分布式数据库系统。统、分布式数据库系统。2-4DatabaseLogicalPhysicalTablespaceData fileOS blockOracle blockSegmentExtent数据库存储结构数据库存储结构2-5Oracle 9i数据库的逻辑结构数据库的逻辑结构2-6 表空间表空间(TableSpace)表空间是Oracle数据库中数据的逻辑组织单位,通过表空间来组织数据库中的数据。数据库逻辑上由一个或多个表空间组成,表
4、空间物理上是由一个或多个数据文件组成。通过使用表空间,Oracle可以有效的控制数据库所占用的磁盘空间,并控制数据库用户的空间配额。如果一个用户的表空间空间不够用时,可以通过添加数据文件来增加空间配额。Oracle通过将表空间的联机或脱机来控制数据库数据的可用性,即一个表空间有两种状态:联机和脱机。2-7默认表空间默认表空间 表空间名称说 明CWMLITE用于联机分析处理(OLAP)DRSYS用于存放与工作空间设置有关的信息EXAMPLE用于存放例程(Instance)信息INDEX用于存放数据库中的索引信息SYSTEM是每个Oracle数据库都必须具备的部分TEMP用于存储临时表TOOLS用
5、于存放数据库工具软件所需的数据库对象UNDOTBS用于保存回滚段(Rollback Segment)为RBSUSERS用于存放用户私有信息2-8Data fileSegmentBlocksExtentSegmentData fileSegmentBlocksExtentSegment表空间表空间表空间表空间/文件文件/段段/区间区间/数据块的示意图数据块的示意图2-9段段(Segment)、区间、区间(Extent)和数据块和数据块 段:数据段、索引段、临时段和回滚段。段:数据段、索引段、临时段和回滚段。段由若干个区间组成。段由若干个区间组成。区间:由连续分配的相邻数据块组成。区间:由连续分配
6、的相邻数据块组成。数据块:是数据库中最小的、最基本的存储单数据块:是数据库中最小的、最基本的存储单位。位。2-10表(表(Table)及其他逻辑对象)及其他逻辑对象 表是用于存放数据的数据库对象。表是用于存放数据的数据库对象。按照功能的不同,表分为系统表和用户表。按照功能的不同,表分为系统表和用户表。系统表又称数据字典,用于存储管理用户数据和系统表又称数据字典,用于存储管理用户数据和数据库本身的数据,记录数据、口令、数据文件数据库本身的数据,记录数据、口令、数据文件的位置等;用户表就是用于存放用户的数据。的位置等;用户表就是用于存放用户的数据。除了表之外,除了表之外,Orac1e 9i 数据库
7、提供了其他逻辑数据库提供了其他逻辑对象(对象(Logic Object),如高级队列),如高级队列、数组、数组、过程和函数、包、触发器等。过程和函数、包、触发器等。2-11Oracle 9i 数据库的物理结构数据库的物理结构 物理上,物理上,Oracle 9i数据库由各种物理文件组成,每数据库由各种物理文件组成,每个物理文件又由若干个个物理文件又由若干个Oracle块组成。物理文件是块组成。物理文件是构成构成Oracle 9i数据库的基础。数据库的基础。Oracle 9i数据库的物理文件主要有以下几种:数据库的物理文件主要有以下几种:(1)数据文件()数据文件(Data file););(2)
8、控制文件()控制文件(Control file););(3)日志文件()日志文件(Redo file););(4)初始化参数文件()初始化参数文件(Parameter file););(5)其他)其他Oracle物理文件。物理文件。2-12各种物理文件关系图各种物理文件关系图2-13数据文件数据文件 数据文件就是用来存放数据库数据的物理文件,数据文件就是用来存放数据库数据的物理文件,文件文件后缀后缀“.DBF”。数据文件存放的主要内容如下:数据文件存放的主要内容如下:(1)表中的数据;)表中的数据;(2)索引数据;)索引数据;(3)数据字典定义;)数据字典定义;(4)回滚事务所需信息;)回滚事
9、务所需信息;(5)存储过程、函数和数据包的代码;)存储过程、函数和数据包的代码;(6)用来排序的临时数据。)用来排序的临时数据。2-14控制文件控制文件 控制文件用于记录和维护整个数据库的全局物理结控制文件用于记录和维护整个数据库的全局物理结构,它是一个二进制文件,文件后缀为构,它是一个二进制文件,文件后缀为“.CTL”。控制文件存放了与控制文件存放了与Oracle 9i数据库物理文件有关的数据库物理文件有关的关键控制信息,如数据库名和创建时间,物理文件关键控制信息,如数据库名和创建时间,物理文件名、大小及存放位置等信息。名、大小及存放位置等信息。控制文件在创建数据库时生成,以后当数据库发生控
10、制文件在创建数据库时生成,以后当数据库发生任何物理变化都将被自动更新。任何物理变化都将被自动更新。每个数据库包含通常两个或多个控制文件。这几个每个数据库包含通常两个或多个控制文件。这几个控制文件的内容上保持一致。控制文件的内容上保持一致。2-15日志文件日志文件 日志文件用于记录对数据库进行的修改操作和事务操作,日志文件用于记录对数据库进行的修改操作和事务操作,文件后缀为文件后缀为“.LOG”。每个数据库至少包含两个重做日志组,这两个日志组是循每个数据库至少包含两个重做日志组,这两个日志组是循环使用的。日志写入进程(环使用的。日志写入进程(LGWR)会将数据库发生的变)会将数据库发生的变化写入
11、到日志组一,当日志组一写满后,即产生日志切换,化写入到日志组一,当日志组一写满后,即产生日志切换,LGWR会将数据库发生的变化写入到日志组二,当日志组会将数据库发生的变化写入到日志组二,当日志组二也写满后,产生日志切换,二也写满后,产生日志切换,LGWR会将数据库发生的变会将数据库发生的变化再写入日志组一,依次类推。化再写入日志组一,依次类推。日志文件分为日志文件分为重做日志文件重做日志文件和和归档日志文件归档日志文件。归档日志,。归档日志,是当前非活动重做日志的备份,可以使用归档日志进行恢是当前非活动重做日志的备份,可以使用归档日志进行恢复。复。2-16重做日志组和成员重做日志组和成员Dis
12、k 1Disk 2Group 2Group 3Group 1MemberMemberMemberMemberMemberMembergroup 1group 2group 32-17日志文件在日志文件在Oracle 体系结构的作用体系结构的作用InstanceSGAControl filesData files Redo logfilesDatabaseArchived log filesParameterfilePasswordfileCKPT DBWRRedo logbufferData buffercache LGWRARCH2-18日志文件的模式日志文件的模式归档模式归档模式Archi
13、vclog、非归档模式、非归档模式NoArchivelog归档模式,将保留所有的重做日志内容。这样数归档模式,将保留所有的重做日志内容。这样数据库可以从所有类型的失败中恢复,是最安全的据库可以从所有类型的失败中恢复,是最安全的数据库工作方式。对于非常重要的数据库工作方式。对于非常重要的Oraclc 9i 数数据库应用,比如银行系统等,必须采用归档模式。据库应用,比如银行系统等,必须采用归档模式。非归档模式,不保留以前的重做日志内容,适合非归档模式,不保留以前的重做日志内容,适合于对数据库中数据要求不高的场合。于对数据库中数据要求不高的场合。2-19初始化参数文件初始化参数文件 初始化参数文件初
14、始化参数文件INIT.ORA是一个文本文件,定义是一个文本文件,定义了要启动的数据库及内存结构的大约了要启动的数据库及内存结构的大约200多项参数多项参数信息。启动任何一个数据库之前,信息。启动任何一个数据库之前,Oracle系统都要系统都要读取初始化参数文件中的各项参数。读取初始化参数文件中的各项参数。初始化参数文件的主要内容如下:初始化参数文件的主要内容如下:(1)设置内存大小;)设置内存大小;(2)设置数据库回滚段;)设置数据库回滚段;(3)设置要使用的数据库和控制文件;)设置要使用的数据库和控制文件;(4)设置检查点;)设置检查点;(5)设置数据库的控制结构;)设置数据库的控制结构;(
15、6)非强制性后台进程的初始化)非强制性后台进程的初始化 2-20其他其他Oracle 物理文件物理文件 跟踪文件跟踪文件(Trace file):存放着后台进程的警告和错:存放着后台进程的警告和错误信息,每个后台进程都有相应的跟踪文件。误信息,每个后台进程都有相应的跟踪文件。警告文件警告文件(Alert file):由连续的消息和错误组成,:由连续的消息和错误组成,可以看到可以看到Oracle内部错误、块损坏错误等。内部错误、块损坏错误等。备份文件备份文件(Backup file):包含恢复数据库结构和数:包含恢复数据库结构和数据文件所需的副本。据文件所需的副本。口令文件口令文件(Passwo
16、rd file):存放用户口令的加密文:存放用户口令的加密文件。件。2-21Oracle 9i 数据库服务器的总体结构数据库服务器的总体结构Oracle 9i数据库服务器由数据库管理系统和数数据库服务器由数据库管理系统和数据库组成。据库组成。数据库管理系统由内存结构(数据库管理系统由内存结构(PGA和和SGA)、)、后台进程和服务器进程组成。后台进程和服务器进程组成。数据库主要由数据文件、控制文件和日志文件组数据库主要由数据文件、控制文件和日志文件组成。成。2-22Oracle 9i数据库服务器的总体结构图数据库服务器的总体结构图2-23内存结构内存结构 内存结构是内存结构是Oracle存放常
17、用信息和所有运行在存放常用信息和所有运行在该机器上的该机器上的Oracle程序的内存区域。程序的内存区域。Oracle有两种类型的内存结构:有两种类型的内存结构:系统全局区系统全局区System Global Area,SGA程序全局区程序全局区Program Global Area,PGA2-24系统全局区系统全局区 SGA 系统全局区(系统全局区(SGA),是客户机上的用户进程和服),是客户机上的用户进程和服务器上的服务器进程都使用的内存区域。务器上的服务器进程都使用的内存区域。在在Oracle例程中,例程中,SGA是所有通信的中心,所有的是所有通信的中心,所有的用户进程和服务器进程都可以
18、访问这部分内存区域,用户进程和服务器进程都可以访问这部分内存区域,也就是说也就是说SGA内的数据是共享的。内的数据是共享的。在数据库非安装阶段,当创建例程时,分配在数据库非安装阶段,当创建例程时,分配SGA;当例程关闭时,释放当例程关闭时,释放SGA。SGA分成分成4部分:数据缓冲区、字典缓冲区、日志缓部分:数据缓冲区、字典缓冲区、日志缓冲区和冲区和SQL共享池。共享池。2-25程序全局区(程序全局区(PGA)PGA是存储区中被单个用户进程使用的内存区域。是存储区中被单个用户进程使用的内存区域。每一个连接到每一个连接到Oracle数据库的进程都需要自己的数据库的进程都需要自己的PGA,存放单个
19、进程工作时需要的数据和控制信息,存放单个进程工作时需要的数据和控制信息,其中包括进程会话变量和数组及不需要与其他进程其中包括进程会话变量和数组及不需要与其他进程共享的信息等。共享的信息等。PGA是用户进程私有的,不能共享。是用户进程私有的,不能共享。PGA内部的不内部的不同部分可以相互通信,但与外界没有联系。同部分可以相互通信,但与外界没有联系。2-26后台进程后台进程 所谓用户进程指在客户机上运行的程序,如客户机上运所谓用户进程指在客户机上运行的程序,如客户机上运行的行的SQL Plus、企业管理器等,用户进程向服务器进程、企业管理器等,用户进程向服务器进程请求信息。请求信息。所谓服务器进程
20、指在服务器上运行的程序,接受用户进所谓服务器进程指在服务器上运行的程序,接受用户进程发出的请求,根据请求与数据库通信。程发出的请求,根据请求与数据库通信。Oracle 9i数据库支持成千上百用户的并行访问,而且还数据库支持成千上百用户的并行访问,而且还保证了数据的完整性和高性能,这其中离不开保证了数据的完整性和高性能,这其中离不开Oracle后后台进程的支持。台进程的支持。后台进程帮助用户进程和服务器进程进行通信,无论是后台进程帮助用户进程和服务器进程进行通信,无论是否有用户连接数据库它们都在运行,负责数据库的后台否有用户连接数据库它们都在运行,负责数据库的后台管理工作,这也是称之为后台进程的
21、原因。管理工作,这也是称之为后台进程的原因。2-27系统全局区系统全局区SMONARCHLGWRDBWRCKPTRECOPMONQMONOracle 9i数据库的后台进程数据库的后台进程2-28Oracle 9i数据库的主要后台进程数据库的主要后台进程系统监视进程(系统监视进程(SMON):是在数据库系统启动时执行恢复):是在数据库系统启动时执行恢复性工作的强制性进程性工作的强制性进程。进程监视进程(进程监视进程(PMON):用于恢复失败的数据库用户的强):用于恢复失败的数据库用户的强制性进程制性进程。数据库写入进程(数据库写入进程(DBWR):主要管理数据缓冲区和字典缓):主要管理数据缓冲区
22、和字典缓冲区的内容,它从数据文件读取数据,写入到冲区的内容,它从数据文件读取数据,写入到SGA。日志写入进程(日志写入进程(LGWR):用于将内存中的日志内容分批写):用于将内存中的日志内容分批写入到日志文件中入到日志文件中。2-29归档进程(归档进程(ARCH):是可选进程,在当数据库服务器以归):是可选进程,在当数据库服务器以归档模式运行时,将已经写满的联机重做日志文件的内容拷贝档模式运行时,将已经写满的联机重做日志文件的内容拷贝到归档日志文件中才发生。到归档日志文件中才发生。检查点进程(检查点进程(CKPT):是可选进程。用于减少例程恢复时):是可选进程。用于减少例程恢复时间。间。恢复进
23、程(恢复进程(RECO):用于分布式数据库中的失败处理,只):用于分布式数据库中的失败处理,只有在运行分布式选项时才能使用该进程。有在运行分布式选项时才能使用该进程。锁进程(锁进程(LCKn):是可选进程。当用户在并行服务器模式):是可选进程。当用户在并行服务器模式下将出现多个锁进程以确保数据的一致性,这些锁进程有助下将出现多个锁进程以确保数据的一致性,这些锁进程有助于数据库通信。于数据库通信。快照进程(快照进程(SNPn):快照刷新和内部工作队列运行计划的):快照刷新和内部工作队列运行计划的依赖进程。依赖进程。调度进程(调度进程(Dnnn):是共享服务器的可选进程):是共享服务器的可选进程。
24、2-30InstanceSGARedo logbuffer cacheShared poolData Dict.cacheLibrarycacheDBWRSMONPMONCKPTLGWROthersUserprocessServerprocessPGAControl filesData files Archived log filesParameterfilePasswordfileRedo log filesDatabaseDatabasebuffer cacheOracle 9i实例实例2-31多磁盘结构多磁盘结构磁盘映像结构磁盘映像结构客户客户/服务器系统服务器系统共享服务器系统共享服务器系统并行(集群)数据库系统并行(集群)数据库系统分布式数据库系统分布式数据库系统Oracle WebServer系统系统Oracle数据库的应用架构数据库的应用架构2-32Distributed Archive(分布式体系结构)(分布式体系结构)AsiaAsiaUSAUSAEuropeEurope2-33Thank you very much!Thank you very much!