第4章Oracle9i数据库的体系结构 (2)

上传人:hs****5 文档编号:252389001 上传时间:2024-11-15 格式:PPT 页数:28 大小:301.51KB
返回 下载 相关 举报
第4章Oracle9i数据库的体系结构 (2)_第1页
第1页 / 共28页
第4章Oracle9i数据库的体系结构 (2)_第2页
第2页 / 共28页
第4章Oracle9i数据库的体系结构 (2)_第3页
第3页 / 共28页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,大型数据库概论,Introduction of Large Database,第,4,章,Oracle9i,数据库的体系结构,学习目标,1,、,掌握,Oracle9i,数据库的逻辑结构。,2,、掌握,Oracle9i,数据库的物理结构。,3,、掌握,Oracle9i,实例。,第,4,章,Oracle9i,数据库的体系结构,Oracle9i,数据库的体系结构体现为数据库的逻辑结构、物理结构和实例。逻辑结构包括表空间、段、区和数据块,物理结构包括初始化参数文件、数据文件、控制文件、重做日志文件等,而实例则是一组可以操作数据库的操作系统进程和内存区域。,4.1 Oracle9i,数据库的逻辑结构:,包括,Oracle9i,数据库的表空间、段、区和数据块。,4.1.1,表空间,(Tablespace),1,表空间的概念,一个,Oracle9i,数据库划分为一个或多个逻辑单位,该逻辑单位称为表空间。,数据库,表空间,2,表空间,1,数据文件,1,数据文件,2,数据库对象,3,数据库对象,4,数据库对象,2,数据库对象,1,数据文件,3,数据文件,4,数据库对象,6,数据库对象,5,从物理结构上看,一个表空间由一个或多个数据文件组成,但一个数据文件只能属于一个表空间。任何数据库对象(如表、索引等)都被存储在一个表空间中,但可以存储在多个属于此表空间的数据文件中。,从逻辑结构上看,一个表空间由一个或多个段组成,一个段可以分散在不同的数据文件中,但不能分散在不同的表空间中。段中的空间是以区为单位分配的,一个段可以包含一个或多个区,区必须在一个数据文件中存在。区是由一系列连续的数据块组成,数据块可由一个或多个操作系统块组成,它是,Oracle,服务器分配、读写操作的最小空间单位。,2,使用表空间的好处,n,将数据字典与用户数据分开,避免因字典对象和用户对象保存在同一数据文件中而产生,I/O,冲突。,n,将回滚数据与用户数据分开,避免由于硬盘损坏而导致永久性的数据丢失。,n,将表空间的数据文件分散在不同的硬盘上,可以平均分布物理,I/O,操作。,n,将某个表空间设置为脱机状态或联机状态,可以对数据库的一部分进行备份和恢复。,n,将某个表空间设置为只读状态,可以将数据库的一部分设置为只读。,n,为某种特殊用途专门设置一个表空间(如临时表空间),可以优化表空间的使用效率。,3,表空间的分类,系统表空间,(System Tablespace),系统表空间是每个,Oracle9i,数据库所必须的,在创建数据库时自动创建且总是联机的,该表空间包含的数据文件称为系统数据文件。在系统表空间中存放的是诸如系统表空间名称、表空间所含数据文件等管理数据库自身所需的信息。,临时表空间,(Temporary Tablespace),临时表空间用于存放连接查询、索引、排序等操作时产生的临时数据。在一些访问繁忙的数据库中,可能存在多个临时表空间,例如,Temp01,、,Temp02,、,Temp03,等。,工具表空间(,Tools Tablespace,),工具表空间用于保存数据库工具软件所需的数据库对象,大多数,DBA,都将支持工具运行所需的表放在该表空间中。,用户表空间,(User Tablespace),用户表空间用于存放用户的私有信息,一般是由用户建立,是,DBA,允许用户存放数据库对象的地方。,回滚表空间,(Rollback Tablespace),回滚表空间用于存放数据库操作的恢复信息,简称,RBS,。,4,表空间的状态,表空间可以有联机和脱机两种状态。,联机表空间中的数据对于应用程序和数据库来说是可用的。如果试图使系统表空间处于脱机状态,,Oracle9i,会返回一个错误。,脱机表空间中的数据对于应用程序和数据库来说是不可用的,不允许用户访问。,4.1.2,段,(Segment),1,段的概念,段是由一个或多个区组成的逻辑存储单元,段中所有区大小的总和即是此段的大小。每个数据库对象可以一个段来存储数据。一个段只能从属于一个表空间,但它可以覆盖多个数据文件。,2,段的分类:,Oracle9i,数据库常使用五种段:数据段、索引段、临时段、,LOB,段和回滚段。,数据段:如果一个数据库有很多的用户并发操作,那么该数据库中表的可伸缩性、可用性是非常重要的。,索引段:索引段中索引树存储了关键列的值,目的是可以根据指定的关键列值查找表中行的位置。若某个表有,3,个索引,则该表使用了,3,个不同的索引段。,临时段:当执行,CREATE INDEX,、,SELECT DISTINCT,、,SELECT GROUP BY,等命令时,,Oracle,服务器就会在内存中执行排序操作。当排序需要的空间超过了内存中可用空间时,,Oracle,服务器将自动从用户默认的临时空间中指派段进行排序,被指派的段称为临时段,它用来存储排序操作的中间结果。一旦操作完毕,临时段的区间便退还给系统。,LOB,段:若表中拥有,CLOB,、,BLOB,或,NCLOB,等大型对象数据类型的列时,可以使用,LOB,段存储相应的,LOB,值。,回滚段:事务是一个单元的操作,这些操作要么全做,要么全不做,事务具有原子性、一致性、隔离性和持久性等特点。,4.1.3,区(,Extent,):也称为区间,是数据库存储空间分配的一个逻辑单位,是表空间内连续分配的相邻的数据块。,4.1.4,数据块(,Block,),:,是数据库中最小的、最基本的存储单元。,Oracle,数据块和操作系统块是不同的,操作系统块是操作系统能从磁盘读写的最小单元,,Oracle,数据块是,Oracle,能从磁盘读写的最小单元,为了保证存取的速度,,Oracle,数据块是操作系统块的整数倍。,4.2 Oracle9i,数据库的物理结构,从物理结构角度来讲,,Oracle9i,数据库指的是操作系统文件的集合,包括初始化参数文件、数据文件、控制文件和重做日志文件等,这些文件用来存储和管理相关数据。,4.2.1,初始化参数文件,init.ora,初始化参数文件用于初始化创建的实例,是一个包含配置例程数据的,ASCII,文件。一个数据库包括一个初始化参数文件,名为,init.ora,,默认存放在,E:oracleadmindb_namepfile,下(本机,Oracle9i,的安装路径为,E:oracle,)。,1,初始化参数文件的主要内容,n,定制数据库使用的内存大小。,n,定制数据库实例的回滚段。,n,定制数据库使用的控制文件。,n,定制数据库使用的联机日志文件。,2,初始化参数文件的主要参数,初始化参数文件中的参数通常可分为导出参数、操作系统参数和变量参数等三种类型:,n,导出参数:其值由其它参数计算而得,一般不得更改。如参数,SESSIONS,的默认值由,PROCESSES,计算而得。,n,操作系统参数:这类参数依赖于主机的操作系统。,如缓冲区的大小参数,DB_BLOCK_SIZE,的默认值由操作系统决定。,n,变量参数:有些变量参数不影响系统的性能,如参数,OPEN_CURSORS=300,时,表示当用户进程打开第,301,个游标时出错;而有些变量参数会影响系统的性能,如增加参数,DB_BLOCK_SIZE,的值,将会改进系统的性能。,初始化参数文件中的主要参数意义如下:,n,instance_name,:指定例程名,本例为,test,。,n,db_name,:指定数据库名,本例为,test,。,n,control_files,:指定一个或多个控制文件名,默认为,3,,最大,8,。,n,open_cursors,:指定游标的最大个数,本例为,300,。,n,background_dump_dest,:指定实例进程,LGWR,、,DBWR,写入跟踪文件的路径名。,n,processes,:指定可同时连接到一个,Oracle,服务器上的操作系统用户进程的最大数量,本例为,150,。,n,db_block_size,:指定一个,Oracle9i,数据库块的大小,本例,8192,。,3,查看初始化参数文件,查看初始化参数文件有以下三种方法:,使用记事本等,ASCII,文本编辑工具,打开初始化参数文件如图,4.2,所示。,图,4.2,使用记事体查看初始化参数文件,使用,PL/SQL,命令,以下脚本运行结果如图,4.3,所示。,show parameters db_block_size;,图,4.3,使用,PL/SQL,命令查看初始化参数文件,使用企业管理器。选择“例程”“配置”“一般信息”“所有初始化参数”,结果如图,4.4,所示。,图,4.4,使用企业管理器查看初始化参数文件,4.2.2,数据文件,数据文件是存储数据库所有数据的文件,是数据库最基本、最主要的文件,逻辑数据库结构(如表、索引等)的数据物理地存储在数据库的数据文件中。默认情况下数据文件以用户名命名,其后缀名为,DBF,。例如,若用户名称是,SYSTEM,,则该数据文件的名称是,SYSTEM.DBF,;若有多个数据文件,则数据文件的名称是,SYSTEM01.DBF,、,SYSTEM02.DBF,、,SYSTEM03.DBF,等。数据文件包括下列类型的数据:,n,表数据。,n,索引数据。,n,数据字典定义。,n,回滚事务所需的信息。,n,存储过程、函数和数据包的代码。,n,用来排序的临时数据。,4.2.3,控制文件:记录了数据库名和建立日期、所有数据文件和日志文件的名字和位置等控制信息,用于,Oracle9i,数据库实例启动时标识数据库和日志文件。一个数据库至少包括两个控制文件,控制文件只能由,Oracle9i,服务器操作,任何用户(包括,DBA,)都不能直接编辑控制文件。若某数据库的所有控制文件都损坏了,则该数据库就不能使用。控制文件的命名是,CONTROL01.CTL,、,CONTROL02.CTL,、,CONTROL03.CTL,等。控制文件中包括的信息有:,n,数据库名。,n,表空间信息。,n,所有数据文件的名字和位置。,n,所有日志文件的名字和位置。,n,当前日志序列号。,n,检查点信息。,n,关于日志和归档的当前状态信息。,4.2.4,重做日志文件,重做日志文件用于收集数据库日志,记录了所有事务对数据所作的修改,出现故障时如果未能将修改数据永久地写入数据文件,则可利用日志得到该修改,所以系统不会丢失已有操作成果。一组相同的联机重做日志文件集合称为联机重做日志文件组。一个数据库至少包括两个联机重做日志文件组。重做日志文件的命名是,REDO01,、,REDO02,、,REDO03,等。重做日志文件通常采用循环记录的方式进行运作,其大小、个数和存储位置对数据库性能,尤其是对数据库的备份和恢复具有非常重要的影响。,4.3 Oracle9i,实例,4.3.1,实例的概念:由一组操作系统进程和内存区域组成,图,4.5,是,Oracle9i,实例的组成示意图。一个数据库可以被多个实例访问,每个实例都用,SID(System Identifier,,系统标识符,),进行标识。决定实例的参数存储在初始化参数文件中,启动实例时需要读取初始化参数文件,运行实例时可以由,DBA,修改这些参数,但所作的修改只在下一次启动时才生效。,4.3.2,实例的内存结构,实例的内存结构是组成实例的进程进行自身对话或与其它进程进行对话的内存区域。,Oracle,使用系统全局区,SGA(System Global Area),和程序全局区,PGA(Program Gloabal Area),两种内存结构。,1,系统全局区,(SGA),:启动一个,Oracle9i,实例时,系统便分配一个,SGA,。,SGA,能被该实例的所有进程共享,是,Oracle9i,实例的主要部分。在数据库非安装阶段,创建实例时分配,SGA,,关闭实例时释放,SGA,。,图,4.5 Oracle9i,实例的组成示意图,CKPT,PMON,LGWR,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 生活常识


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!