Oracle9i数据库的体系结构.ppt
《Oracle9i数据库的体系结构.ppt》由会员分享,可在线阅读,更多相关《Oracle9i数据库的体系结构.ppt(28页珍藏版)》请在三一办公上搜索。
1、大型数据库概论Introduction of Large Database第4章 Oracle9i数据库的体系结构,学习目标1、掌握 Oracle9i数据库的逻辑结构。2、掌握Oracle9i数据库的物理结构。3、掌握Oracle9i实例。,第4章 Oracle9i数据库的体系结构 Oracle9i数据库的体系结构体现为数据库的逻辑结构、物理结构和实例。逻辑结构包括表空间、段、区和数据块,物理结构包括初始化参数文件、数据文件、控制文件、重做日志文件等,而实例则是一组可以操作数据库的操作系统进程和内存区域。4.1 Oracle9i数据库的逻辑结构:包括Oracle9i数据库的表空间、段、区和数据
2、块。4.1.1 表空间(Tablespace)1表空间的概念 一个Oracle9i数据库划分为一个或多个逻辑单位,该逻辑单位称为表空间。,从物理结构上看,一个表空间由一个或多个数据文件组成,但一个数据文件只能属于一个表空间。任何数据库对象(如表、索引等)都被存储在一个表空间中,但可以存储在多个属于此表空间的数据文件中。从逻辑结构上看,一个表空间由一个或多个段组成,一个段可以分散在不同的数据文件中,但不能分散在不同的表空间中。段中的空间是以区为单位分配的,一个段可以包含一个或多个区,区必须在一个数据文件中存在。区是由一系列连续的数据块组成,数据块可由一个或多个操作系统块组成,它是Oracle服务
3、器分配、读写操作的最小空间单位。,2使用表空间的好处 n将数据字典与用户数据分开,避免因字典对象和用户对象保存在同一数据文件中而产生I/O冲突。n将回滚数据与用户数据分开,避免由于硬盘损坏而导致永久性的数据丢失。n 将表空间的数据文件分散在不同的硬盘上,可以平均分布物理I/O操作。n 将某个表空间设置为脱机状态或联机状态,可以对数据库的一部分进行备份和恢复。n 将某个表空间设置为只读状态,可以将数据库的一部分设置为只读。n为某种特殊用途专门设置一个表空间(如临时表空间),可以优化表空间的使用效率。,3表空间的分类 系统表空间(System Tablespace)系统表空间是每个Oracle9i
4、数据库所必须的,在创建数据库时自动创建且总是联机的,该表空间包含的数据文件称为系统数据文件。在系统表空间中存放的是诸如系统表空间名称、表空间所含数据文件等管理数据库自身所需的信息。临时表空间(Temporary Tablespace)临时表空间用于存放连接查询、索引、排序等操作时产生的临时数据。在一些访问繁忙的数据库中,可能存在多个临时表空间,例如Temp01、Temp02、Temp03等。,工具表空间(Tools Tablespace)工具表空间用于保存数据库工具软件所需的数据库对象,大多数DBA都将支持工具运行所需的表放在该表空间中。用户表空间(User Tablespace)用户表空间用
5、于存放用户的私有信息,一般是由用户建立,是DBA允许用户存放数据库对象的地方。回滚表空间(Rollback Tablespace)回滚表空间用于存放数据库操作的恢复信息,简称RBS。,4表空间的状态 表空间可以有联机和脱机两种状态。联机表空间中的数据对于应用程序和数据库来说是可用的。如果试图使系统表空间处于脱机状态,Oracle9i会返回一个错误。脱机表空间中的数据对于应用程序和数据库来说是不可用的,不允许用户访问。4.1.2 段(Segment)1段的概念 段是由一个或多个区组成的逻辑存储单元,段中所有区大小的总和即是此段的大小。每个数据库对象可以一个段来存储数据。一个段只能从属于一个表空间
6、,但它可以覆盖多个数据文件。,2段的分类:Oracle9i数据库常使用五种段:数据段、索引段、临时段、LOB段和回滚段。数据段:如果一个数据库有很多的用户并发操作,那么该数据库中表的可伸缩性、可用性是非常重要的。索引段:索引段中索引树存储了关键列的值,目的是可以根据指定的关键列值查找表中行的位置。若某个表有3个索引,则该表使用了3个不同的索引段。临时段:当执行CREATE INDEX、SELECT DISTINCT、SELECT GROUP BY等命令时,Oracle服务器就会在内存中执行排序操作。当排序需要的空间超过了内存中可用空间时,Oracle服务器将自动从用户默认的临时空间中指派段进行
7、排序,被指派的段称为临时段,它用来存储排序操作的中间结果。一旦操作完毕,临时段的区间便退还给系统。,LOB段:若表中拥有CLOB、BLOB或NCLOB等大型对象数据类型的列时,可以使用LOB段存储相应的LOB值。回滚段:事务是一个单元的操作,这些操作要么全做,要么全不做,事务具有原子性、一致性、隔离性和持久性等特点。4.1.3 区(Extent):也称为区间,是数据库存储空间分配的一个逻辑单位,是表空间内连续分配的相邻的数据块。4.1.4 数据块(Block):是数据库中最小的、最基本的存储单元。Oracle数据块和操作系统块是不同的,操作系统块是操作系统能从磁盘读写的最小单元,Oracle数
8、据块是Oracle能从磁盘读写的最小单元,为了保证存取的速度,Oracle数据块是操作系统块的整数倍。,4.2 Oracle9i数据库的物理结构 从物理结构角度来讲,Oracle9i数据库指的是操作系统文件的集合,包括初始化参数文件、数据文件、控制文件和重做日志文件等,这些文件用来存储和管理相关数据。4.2.1 初始化参数文件init.ora 初始化参数文件用于初始化创建的实例,是一个包含配置例程数据的ASCII文件。一个数据库包括一个初始化参数文件,名为init.ora,默认存放在E:oracleadmindb_namepfile下(本机Oracle9i的安装路径为E:oracle)。1初始
9、化参数文件的主要内容 n定制数据库使用的内存大小。n定制数据库实例的回滚段。n 定制数据库使用的控制文件。n定制数据库使用的联机日志文件。,2初始化参数文件的主要参数 初始化参数文件中的参数通常可分为导出参数、操作系统参数和变量参数等三种类型:n导出参数:其值由其它参数计算而得,一般不得更改。如参数SESSIONS的默认值由PROCESSES计算而得。n操作系统参数:这类参数依赖于主机的操作系统。如缓冲区的大小参数DB_BLOCK_SIZE的默认值由操作系统决定。n变量参数:有些变量参数不影响系统的性能,如参数OPEN_CURSORS=300时,表示当用户进程打开第301个游标时出错;而有些变
10、量参数会影响系统的性能,如增加参数DB_BLOCK_SIZE的值,将会改进系统的性能。,初始化参数文件中的主要参数意义如下:ninstance_name:指定例程名,本例为test。ndb_name:指定数据库名,本例为test。ncontrol_files:指定一个或多个控制文件名,默认为3,最大8。nopen_cursors:指定游标的最大个数,本例为300。nbackground_dump_dest:指定实例进程LGWR、DBWR写入跟踪文件的路径名。nprocesses:指定可同时连接到一个Oracle服务器上的操作系统用户进程的最大数量,本例为150。ndb_block_size:指
11、定一个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 数据文件 数据文件是存储数据库所有数据的文件,是数据库最基本、最
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle9i 数据库 体系结构
链接地址:https://www.31ppt.com/p-6513380.html