Oracle的体系结构.pptx
《Oracle的体系结构.pptx》由会员分享,可在线阅读,更多相关《Oracle的体系结构.pptx(48页珍藏版)》请在咨信网上搜索。
本章知识要点:本章知识要点:Oracle实例与数据库Oracle数据库的物理存储结构Oracle数据库的逻辑存储结构逻辑存储结构与物理结构的关系Oracle实例的内存结构Oracle实例的进程结构了解主要后台进程的作用理解Oracle数据库中数据字典的作用12.1 ORACLE体系结构概述体系结构概述 完整的Oracle数据库系统通常由两个部分组成:实例(INSTANCE)和数据库(DATABASE)。数据库是由一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等);实例则是由一组Oracle后台进程/线程以及在服务器分配的共享内存区。22.2 逻辑存储结构逻辑存储结构 逻辑存储结构是Oracle数据库存储结构的核心内容,对Oracle数据库的所有操作都会涉及到其逻辑存储结构。数据库的逻辑结构是从逻辑的角度分析数据库的构成,即创建数据库后形成的逻辑概念之间的关系。在逻辑上,Oracle将保存的数据划分为一个个小单元来进行存储和维护,高一级的存储单元由一个或多个低一级的存储单元组成。32.2.1 数据块数据块 数据块是Oracle用来管理存储空间的最小单元,也是执行数据库输入输出操作时的最小单位。相对应地,操作系统执行输入输出操作的最小单位为一个操作系统块的大小。在操作系统中,执行I/O操作是以操作系统块为单位,而在Oracle中,执行的I/O操作以Oracle数据块为单位。它对应磁盘上一个或多个物理块,它的大小由初始化参数db_block_size(在文件init.ora中)决定,典型的大小是2k。Select name,value From v$parameter where name=db_block_size;42.2.1 数据块数据块 Pckfree和Pctused两个参数用来优化数据块空间的使用。PCTFREE:块中保留用于UPDATE操作的空间百分比,当数据占用的空间达到此上限时,新的数据将不能再插入到此块中;PCTUSED:指定块中数据使用空间的最低百分比;52.2.2 盘区盘区 盘区是由一系列物理上连续存放的数据块所构成的Oracle存储结构,由一个或多个数据块组成一个盘区,而一个或多个盘区组成一个段。当一个段中的所有空间被使用完后,系统将自动为该段分配一个新的盘区。盘区是Oracle存储分配的最小单位。62.2.2 盘区盘区主要的几个存储参数:主要的几个存储参数:INITIAL:段建立时分配的第一个区的大小(单位:字节):段建立时分配的第一个区的大小(单位:字节)NEXT:段内分配的下一个增量区大小(单位:字节):段内分配的下一个增量区大小(单位:字节)MAXEXTENTS:分配给段的区总数。:分配给段的区总数。MINEXTENTS:建立段时分配的区的总数,也就是段的最小区:建立段时分配的区的总数,也就是段的最小区数量。数量。PCTINCREASE:为段分配的每个增量区超过上一个区的百分:为段分配的每个增量区超过上一个区的百分比。比。INITRANS:为初试数量的:为初试数量的DML事务条目(并发访问数据块中事务条目(并发访问数据块中的行)保留的预分配空间数量。的行)保留的预分配空间数量。NTKXTRANS:当多个事务同时访问同一数据块的行时,为数:当多个事务同时访问同一数据块的行时,为数据块中每个据块中每个DML事务的条目分配的空间。事务的条目分配的空间。72.2.3 段段 段是由一系列区组成的,它也不再是存储空间的分配单位,而是一个独立的逻辑存储结构。对于具有独立存储结构的对象,它的数据全部存储在保存它的段中。一个段只属于一个特定的数据库对象,每当创建一个具有独立段的数据库对象时,Oracle将为它创建一个段。8 1数据段 数据段中保存的是表中的记录。2索引段 在Oracle数据库中每个未分区索引都有一个索引段保存索引中的索引条目。对于一个分区索引,每个分区都有一个索引段保存它的数据。3临时段 当处理查询时,Oracle可能会需要使用到一些临时存储空间,用于临时保存解析过的查询语句以及在排序过程中产生的临时数据。Oracle会自动在专门用于存储临时数据的表空间为操作分配临时段。92.2.3 段段2.2.3 段段 4回退段 回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值)。回滚段的作用主要有以下几方面:(1)事务回滚(2)事务恢复(3)读一致性102.2.4 表空间表空间 表空间是在Oracle中用户可以使用的最大的逻辑存储结构,用户在数据库中建立的所有内容都被存储在表空间中。Oracle使用表空间将相关的逻辑结构组合在一起,表空间在物理上与数据文件相对应,每一个表空间是由一个或多个数据文件组成的,一个数据文件只可以属于一个表空间,这是逻辑与物理的统一。112.2.4 表空间表空间的分类表空间表空间的分类 Oracle中除了用户创建的存放数据对象的数据表空间外,还有以下类型的表空间:(1)System表空间存放数据字典和内部系统基表。Select*from dict;Select*from v$fixed_view_definition;(2)回滚表空间(RollBack TableSpace)回退信息(3)临时表空间(Temp TableSpace)122.2.4 表空间表空间表空间的使用 在数据库中使用多个表空间具有如下优势:(1)能够将数据字典与用户数据分离开来,避免由于字典对象和用户对象保存在同一个数据文件中而产生的10冲突。(2)能够将回退数据与用户数据分离开来,避免由于硬盘损坏而导致永久性的数据丢失。(3)能够将表空间的数据文件分散保存到不同硬盘上,平均分布物理10操作。(4)能够将某个表空间设置为脱机状态或联机状态,以便对数据库的一部分进行备份和恢复。(5)能够将某个表空间设置为只读状态,从而将数据库的一部分设置为只读状态。(6)能够为某种特殊用途专门设置一个表空间,比如临时表空间等,以优化表空间的使用效率。(7)能够更加灵活地为用户设置表空间限额。132.2.4 表空间中对象的存储 如果表空间只对应一个数据文件,该表空间中所有的对象都存储在此数据文件中。如果表空间对应于多个数据文件,可将一个对象的数据存储在该表空间的任意一个数据文件中,也可将同一个对象的数据分布在表空间的多个数据文件中。142.3 物理存储结构物理存储结构 与逻辑存储结构相比,物理存储结构相对简单并且更容易理解。但是物理存储结构并不是独立存在的,它与数据库逻辑存储结构之间有着不可分割的联系。从整体上看,Oracle的数据在逻辑上存储在表空间中,而物理上存储在表空间所对应的数据文件中。152.3.1 数据文件数据文件 数据库中的数据在物理上保存在若干个操作系统文件中,这些操作系统文件就是数据文件。一个表空间在物理上对应于一个或多个数据文件,而一个数据文件只能属于一个表空间。数据文件是操作系统文件,Oracle通过表空间创建数据文件,从硬盘中获取存储数据所需的物理存储空间,一个数据文件只能属于惟一的一个表空间。通常为后缀名为.dbf格式的文件。Select name from v$datafile;162.3.2 控制文件控制文件 数据库控制文件是一个很小的二进制文件,在其中包含了关于数据库物理结构的重要信息。通过在加载数据库时读取控制文件,Oracle才能找到自己所需的操作系统文件(数据文件、重做日志文件等)。控制文件对于数据库的成功启动和正常运行是至关重要的。在加载数据库时,实例必须首先找到数据库的控制文件。如果控制文件正常,实例才能加载并打开数据库。但是如果控制文件中记录了错误的信息,或者实例无法找到一个可用的控制文件,数据库将无法加载,当然也法打开。每个数据库必须至少拥有一个控制文件。一个数据库也可以同时拥有多个控制文件,但是一个控制文件只能属于一个数据库。172.3.3 其他文件其他文件 除了上述三种类型的文件外,Oracle还提供了其他一些类型的文件,如参数文件、归档日志文件、跟踪和密码文件等。本节将对这些类型的文件进行简单地介绍。日志文件(又称重做日志文件),用于记录数据库所做的全部变更(如增加、删除、修改),以便在系统发生故障时,用它对数据库进行恢复。名字通常为Log*.dbf格式 根据在事务信息将被覆盖时,是否应该将文件归档,数据库分为以下两种归档模式:ARCHIVELOG(归档日志)或NOARCHIVELOG(非归档日志)模式。182.3.3 其他文件其他文件 配置文件是一个ASCII文本文件,记录Oracle数据库运行时的一些重要参数。名字通常为initsid*.ora格式,如:initCIMS.ora,SID相当于它所控制的数据库的标识符。每个Oracle数据库和实例都有它自己惟一的init.ora文件。Oracle9i新引入一个服务器参数文件(SPFILE),一个服务器参数文件(SPFILE)可以被认为是在Oracle数据库服务器端的初始化参数文件。存储在一个服务器参数文件的初始化参数是永久的,它提供了由Oracle数据库服务器自我调节的一个基础。服务器参数文件是二进制文件,不能使用一个文本编辑器浏览或编辑。Oracle提供了浏览和查看相关参数的另外接口。192.4 实例的内存结构实例的内存结构 内存结构是Oracle数据库体系结构中最为重要的部分之一,内存也是影响数据库性能的主要因素。在Oracle数据库中,服务器内存的大小将直接影响数据库的运行速度,特别是多个用户连接数据库时,服务器必须有足够的内存支持,否则有的用户可能连接不到服务器,或查询速度明显下降。202.4.1 系统全局区系统全局区 系统全局区SGA是由一组内存结构组成,它是由所有用户进程共享的一块内存区域。如果多个用户连接到同一个数据库实例,则实例的SGA区中的数据可被多个用户共享。在数据库实例启动时,SGA的内存被自动分配;当数据库实例关闭时,SGA被回收。SGA区中的主要包含如下内存结构:数据缓存区、共享池、重做日志缓存、Java池和大型池等结构。21数据块缓冲区中存放着Oracle系统最近从数据文件中读取的数据块。数据块缓冲区又称用户数据高速缓冲区,为所有与该实例相链接的用户进程所共享。数据块缓冲区数据块缓冲区的容量受物理容量限制。在Oracle9i中,数据库缓存的大小可以直接由初始化参数DB_ACHESIZE指定,该参数可以直接以K字节或M字节为单位来设置数据库缓存的大小。字典缓冲区用于保存数据字典中的行。数据字典缓冲区也通过最近最少使用(LRU)算法来管理。大小由数据库内部管理。字典缓存区是SQL共享池的一部分,共享池的大小(以字节为单位)由数据库文件init.ora中的SHARED_POOL_SIZE参数来设置。字典缓冲区 对数据库进行修改的任何事务(Transaction)在记录到重做日志之前都必须首先放到重做日志缓冲区(Redo Log Buffer.)中。重做日志缓冲区是专为此开辟的一块内存区域,重做日志缓存中的内容将被LGWR后台进程随时写入重做日志文件。重做日志缓冲区 重做日志缓存是一个循环缓存区,在使用时从顶端向底端写入数据,然后再返回到缓冲区的起始点循环写入。重做日志缓冲区的大小(以字节为单位)由init.ora文件中的LOGBUFFER参数决定。共享SQL池(Shared SQL Pool)相当于程序高速缓冲区,所有的用户程序都存放在共享SQL池中。SQL共享池包括库高速缓存、数据字典高速缓存和服务器控制结构。共享SQL池 共享池的大小取决于init.ora文件参数SHARED_POOL_SIZE,它是以字节为单位的。用户必须将这个值设得足够大,以确保有足够的可用空间来装载和存储PL/SQL块和SQL语句。Java池为Java命令提供语法分析。JAVA池 缓冲池把大数据集与其他的应用程序分开,以减少它们争夺数据块缓冲区内相同的资源。可以在SGA中创建多个缓冲池。缓冲池 2.4.2 程序全局区程序全局区 程序全局区(PGA)是保存特定服务进程的数据和控制信息的内存结构,这个内存结构是非共享的,只有服务进程本身才能够访问它自己的PGA区。每个服务进程都有它自己的PGA区,各个服务进程PGA区的总和即为实例的PGA区的大小。312.4.3 排序区 排序区存在于请求排序的用户进程的内存中,由于排序需要内存空间,Oracle利用该内存排序数据,这部分空间称为排序区。该空间的大小为适应排序数据量的大小,可增长,但受初始化参数SORT_AREA_SIZER所限制。322.4.4 软件代码区 软件代码区(Software Code Area)用于存储正在执行的或可以执行的程序代码。软件代码区是只读,可安装成共享或非共享。Oracle系统程序是共享的,多个Oracle用户可存取它,而不需要在内存有多个副本。用户程序可以共享也可以不共享。332.5 实例的进程结构实例的进程结构 进程是操作系统中一个独立的可以调度的活动,用于完成指定的任务。进程与程序的区别在于前者是一个动态概念,后者是一个静态实体。程序仅仅是指令的有序集合,而进程则强调执行过程。进程可以动态地创建,当完成任务后即会消亡。342.5.1 用户进程用户进程 连接是一个用户进程与数据库实例之间的一条通信路径,这条通信路径通过操作系统平台中的进程间通信机制或网络连接来实现。会话则是一个用户到数据库的指定连接。例如当一个用户启动SQL*Plus,并输入正确的用户名和密码连接到一个数据库库后,就为该用户创建了一个会话。会话在用户连接到实例的过程中始终存在,直到用户断开连接或终止应用程序为止。35SQL connect system/admin已连接。SQL select username,sid,serial#,server,status 2 from v$session 3 where username=USER;USERNAME SID SERIAL#SERVER STATUS-SYSTEM 130 66 DEDICATED ACTIVE2.5.2 服务器进程服务器进程 服务器进程就是代表用户会话完成工作的进程,应用向数据库发送的SQL语句就是由这些进程接收并执行。在Oracle数据库中可以同时存在两种类型的服务器进程:一种类型是专用服务器进程,一个专用服务进程只能为一个用户进程提供服务;另一种是共享服务进程,一个共享服务进程可以为多个用户进程提供服务。362.5.3 后台进程后台进程 Oracle实例包括两部分:SGA和一组后台进程。在任意一个刻,Oracle数据库可以处理多个并发用户请求,进行复杂的数据操作,与些同时还要维护数据库系统使其始终具有良好的性能。为了完成这些任务,Oracle具有一组后台进程保证数据库运行所需的实际维护任务。372.5.3 常见后台进程常见后台进程DBWR数据写进程将缓存区中的数据写入到数据文件LGWR日志写进程将和重做日志缓冲区中信息写入磁盘日志文件组ARCN归档进程将已写满的重做日志文件复制到制定的存储设备中CKPT检查点进程1.检查点进程负责将检查点更新到控制文件2.启动DBWR进程将脏缓存块写入数据文件SMON系统监视进程在数据库实例启动时负责对数据库进行恢复操作。382.6 数据字典数据字典 数据字典是Oracle数据库的核心组件,它是由一系列对于用户而言是只读的基础表和视图组成,它保存了关于数据库本身以及其中存储的所有对象的基本信息。可以认为数据字典记录了数据库实例自身的重要信息。39SQL select name,value from v$sga;NAME ALUE-Fixed Size 1333312Variable Size 310380480Database Buffers 58720256Redo Buffers 6201344数据字典是Oracle数据库的核心组件,它是对用户来说为只读类型的表和视图组成。在其中保存着关于数据库系统本身以及其中存储的所有对象的基本信息。数据库对象所有的框架对象的定义(表、视图、索引、群集、同义词、序列、过程、函数、包、触发器等)为框架对象如何分配和使用空间列的默认值完整性约束信息数据库安全信息,包括用户、权限、角色等审计信息一个数据字典包括基础表,动态性能视图及数据字典视图。数据字典视图又包含ALL视图,USER视图和DBA视图。2.6.1 数据字典的结构 1基础表基础表存储相关数据库信息的表,这些数据库的信息包括表、索引、约束,以及所有其他数据库对象结构的信息。它们属于SYS用户,通过运行SQL脚本来创建(在数据库创建时自动发生)。是Oracle系统的核心。只有Oracle才能写和读取这些表。基础表中的存储的信息通常是经过加密处理的。大部分数据字典基础表的名称中都包含“”等特殊字符。2 2动态性能视图动态性能视图在操作过程中,Oracle维护了一种“虚拟”表的集合,记录当前数据库的活动。这些表称为动态性能表。SYS拥有动态性能表,其名字都是以V_开头的。在这些表上面创建的视图被称为动态性能视图(dynamic performance view)。可为这些视图创建公共同义词,同义词名称以V开头。3 3ALLALL视图视图包包含含了了用用户户查查询询表表时时可可以以访访问问的的所所有有对对象象的的信息。信息。4 4USERUSER视图视图前缀为USER,每个数据库用户都拥有一套属于自己的USER视图。在USER视图中包含了该用户模式下所有对象的信息。5 5DBADBA视图视图前缀为DBA,在DBA数据字典视图中包含着全部数据库对象的信息。对于带有DBA前缀的视图,显示了整个数据库的情况。因此,它们只能被数据库管理员查询。授予系统权限SELECT ANY TABLE的用户都能查询带有DBA前缀的视图。2.6.2 数据字典的用途 对于Oracle系统本身而言,当数据库实例运行时,会需要使用数据字典基础表中的信息。Oracle从基础表中读取信息,来判断用户要求访问的对象是否存在。同时,当用户对数据库结构、对象结构做出修改时,Oracle向基础表中写入相应的修改信息。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 体系结构
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文