第二章 嵌入式操作系统.ppt

上传人:bao****ty 文档编号:143818797 上传时间:2020-09-02 格式:PPT 页数:85 大小:556.50KB
返回 下载 相关 举报
第二章 嵌入式操作系统.ppt_第1页
第1页 / 共85页
第二章 嵌入式操作系统.ppt_第2页
第2页 / 共85页
第二章 嵌入式操作系统.ppt_第3页
第3页 / 共85页
第二章 嵌入式操作系统.ppt_第4页
第4页 / 共85页
第二章 嵌入式操作系统.ppt_第5页
第5页 / 共85页
点击查看更多>>
资源描述

《第二章 嵌入式操作系统.ppt》由会员分享,可在线阅读,更多相关《第二章 嵌入式操作系统.ppt(85页珍藏版)》请在金锄头文库上搜索。

1、2.1 物理结构 2.2 逻辑结构 2.3 内存结构 2.4 数据库实例与进程 2.5 数据字典,第二章 Oracle体系结构,2.实例与数据库的关系,2.1.1 数据文件,2.1.2 日志文件,2.1.3 控制文件,2.1.4 配置文件,2.1 物理结构,相应的OS文件由相应的字典视图中读取,数据文件用来存储数据库中的全部数据,如数据库表中的数据和索引数据。通常为后缀名为.dbf格式的文件。,2.1.1 数据文件,数据文件的详细信息记载在控制文件中 可以通过如下方式查看数据文件 SQL select name from v$datafile; NAME - /u05/dbf/PROD/sys

2、tem_01.dbf /u06/dbf/PROD/temp_01.dbf /u04/dbf/PROD/users_01.dbf /u09/dbf/PROD/rbs_01.dbf /u06/dbf/PROD/applsys_indx_01.dbf /u05/dbf/PROD/applsys_data_01.dbf 数据文件是ORACLE中最重要的物理文件,直接记录了用户数据。按照使用上的不同,可以把数据文件分成如下几类: 系统数据文件 回滚数据文件 临时数据文件 用户数据文件 以上各类文件分别属于不同性质的表空间,在以下的逻辑结构中,将进一步说明该类型文件的作用。,日志文件(又称重做日志文件),

3、用于记录数据库所做的全部变更(如增加、删除、修改),以便在系统发生故障时,用它对数据库进行恢复。 名字通常为Log*.dbf格式,2.1.2 日志文件,用户对数据库进行的任何操作都会记录在重做日志文件。在了解重做日志之前必须了解重做日志的两个概念,重做日志组和重做日志组成员(Member),一个数据库中至少要有两个日志组文件,一组写完后再写另一组,即轮流写。每个日志组中至少有一个日志成员,一个日志组中的多个日志成员是镜像关系,有利于日志文件的保护,因为日志文件的损坏,特别是当前联机日志的损坏,对数据库的影响是巨大的。 联机日志组的交换过程叫做切换,需要特别注意的是,日志切换在一个优化效果不好的

4、数据库中会引起临时的“挂起”。挂起大致有两种情况: 在归档情况下,需要归档的日志来不及归档,而联机日志又需要被重新利用 检查点事件还没有完成(日志切换引起检查点),而联机日志需要被重新利用 解决这种问题的常用手段是: i.增加日志组 ii.增大日志文件成员大小 一个包含三个日志组,每个日志组两个成员的联机日志组成与运行大致如图所示:,通过v$log可以查看日志组,v$logfile可以查看具体的成员文件,2.1.3归档日志文件(Archived files),Oracle可以运行在两种模式之中,归档模式和不归档模式。如果不用归档模式,当然,你就不会有归档日志,但是,你的系统将不会是一个实用系统

5、,特别是不能用于生产系统,因为你可能会丢失数据。但是在归档模式中,为了保存用户的所有修改,在重做日志文件切换后和被覆盖之间系统将他们另外保存成一组连续的文件系列,该文件系列就是归档日志文件。,有人或许会说,归档日志文件占领我大量的硬盘空间,其实,具体想一想,你是愿意浪费一点磁盘空间来保护你的数据,还是愿意丢失你的数据呢?显而义见,我们需要保证我们的数据的安全性。其实,归档并不是一直占领你的磁盘空间,你可以把她备份到磁带上,或则删除上一次完整备份前的所有日志文件。 通过v$archived_log和v$log_history可以查看归档日志文件的信息。,每个Oracle数据库都有相应的控制文件,

6、用于打开、存取数据库。它们是较小的二进制文件,其中记录了数据库的物理结构。 名字通常为Ctr*.ctl格式,2.1.4 控制文件,参数文件init.ora记录了控制文件的位置,控制文件是一个非常小的二进制文件,最大可以增长到64MB,控制文件包括如下主要信息 数据库的名字,检查点信息,数据库创建的时间戳 所有的数据文件,联机日志文件,归档日志文件信息 备份信息等 有了这些信息,Oracle就知道那些文件是数据文件,现在的重做日志文件是哪些,这些都是系统启动和运行的基本条件,所以他是Oracle运行的根本。如果没有控制文件系统是不可能启动的。控制文件是非常重要的,一般采用多个镜像复制来保护控制文

7、件,或采用RAID来保护控制文件。控制文件的丢失,将使数据库的恢复变的很复杂。 控制文件信息可以从V$Controlfile中查询获得,2.1.5 配置文件,配置文件是一个ASCII文本文件,记录Oracle数据库运行时的一些重要参数。名字通常为initsid*.ora格式,如:initCIMS.ora,SID相当于它所控制的数据库的标识符。每个Oracle数据库和实例都有它自己惟一的init.ora文件。,2.1.6其他文件,i . 密码文件 用于Oracle 的具有sysdba权限用户的认证,在9i以前主要指Internal用户,从9i开始已经取消了这个用户。密码文件的密码可以通过ORAP

8、WD命令来修改。 ii. 日志文件 报警日志文件(alert.log或alrt.ora) 记录数据库启动,关闭和一些重要的出错信息。数据库管理员应该经常检查这个文件,并对出现的问题作出即使的反应。你可以通过以下SQL 找到他的路径select value from v$parameter where name =background_dump_dest,或通过参数文件获得其路径。 后台跟踪文件 路径与报警文件路径一致,记载了系统后台进程出错时写入的信息。 用户跟踪文件 记载了用户进程出错时写入的信息,一般不可能读懂,可以通过ORACLE的TKPROF工具转化为可以读懂的格式。用户跟踪文件的路径

9、,你可以通过以下SQL找到他的路径select value from v$parameter where name =user_dump_dest,或通过参数文件获得其路径。 可以通过设置用户跟踪或dump命令来产生用户跟踪文件,一般在调试、优化、系统分析中有很大的作用。,2.2.1 表空间,2.2.2 段,2.2.3 区,2.2.4 数据库块,2.2 逻辑结构,2.2.5 模式对象,1表空间的分类,2表空间的使用,3表空间中对象的存储,2.2.1 表空间,表空间是数据库中的基本逻辑结构,一系列数据文件的集合。一个表空间可以包含多个数据文件,但是一个数据文件只能属于一个表空间。 在8i以前,表

10、空间的管理类型只有一种,被称为字典管理表空间(DMT),即在数据字典中管理表空间中的空间的分配。在8i以后的版本,为了减少在字典上的开销,引入了本地管理的表空间(LMT),在该类型的表空间中,在每个数据文件中存储的位图来管理空间的分配,不再要求使用数据字典。本地管理的表空间有速度快,无碎片等众多优点,建议用户表空间都实现本地管理。 通过v$tablespace可以查询表空间,DBA_TABLESPACE可以查询详细表空间信息。,Oracle中除了用户创建的存放数据对象的数据表空间外,还有以下类型的表空间: (1)System表空间 (2)回滚表空间(RollBack TableSpace) (

11、3)临时表空间(Temp TableSpace),1表空间的分类,在数据库中使用多个表空间具有如下优势: (1)能够将数据字典与用户数据分离开来,避免由于字典对象和用户对象保存在同一个数据文件中而产生的10冲突。 (2)能够将回退数据与用户数据分离开来,避免由于硬盘损坏而导致永久性的数据丢失。 (3)能够将表空间的数据文件分散保存到不同硬盘上,平均分布物理10操作。,2表空间的使用,(4)能够将某个表空间设置为脱机状态或联机状态,以便对数据库的一部分进行备份和恢复。 (5)能够将某个表空间设置为只读状态,从而将数据库的一部分设置为只读状态。 (6)能够为某种特殊用途专门设置一个表空间,比如临时

12、表空间等,以优化表空间的使用效率。 (7)能够更加灵活地为用户设置表空间限额。,如果表空间只对应一个数据文件,该表空间中所有的对象都存储在此数据文件中。如果表空间对应于多个数据文件,可将一个对象的数据存储在该表空间的任意一个数据文件中,也可将同一个对象的数据分布在表空间的多个数据文件中。,3表空间中对象的存储,1数据段,2.2.2 段,2索引段,3临时段,4回退段,段是对象在数据库中占用的空间,虽然段和数据库对象是一一对应的,但段是从数据库存储的角度来看的。一个段只能属于一个表空间,当然一个表空间可以有多个段。 表空间和数据文件是物理存储上的一对多的关系,表空间和段是逻辑存储上的一对多的关系,

13、段不直接和数据文件发生关系。一个段可以属于多个数据文件,关于段可以指定扩展到哪个数据文件上面。 段基本可以分为以下四种 数据段(Data Segment) 索引段(Index Segment) 回滚段(Rollback Segment) 临时段(Temporary Segment) 通过DBA/ALL/USER_SEGMENTS可以查询详细的段信息。,数据段中保存的是表中的记录。,1数据段,在Oracle数据库中每个未分区索引都有一个索引段保存索引中的索引条目。对于一个分区索引,每个分区都有一个索引段保存它的数据。,2索引段,当处理查询时,Oracle可能会需要使用到一些临时存储空间,用于临时

14、保存解析过的查询语句以及在排序过程中产生的临时数据。Oracle会自动在专门用于存储临时数据的表空间为操作分配临时段。,3临时段,回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值)。 回滚段的作用主要有以下几方面: (1)事务回滚 (2)事务恢复 (3)读一致性,4回退段,区是由很多连续的数据块组成的数据库存储空间。 缺省情况下,数据库会使用表空间中存储的存储参数来管理他们的区。,2.2.3 区,关于Extent的翻译有多种解释,有的译作扩展,有的译作盘区,我这里通常译为区间。在一个段中可以存在多个区间,区间是为数据一次性预留的一个较大的存储空间,直到那个区间被用满,数据库会继续申请

15、一个新的预留存储空间,即新的区间,一直到段的最大区间数(Max Extent)或没有可用的磁盘空间可以申请。 在ORACLE8i以上版本,理论上一个段可以无穷个区间,但是多个区间对ORACLE却是有性能影响的,ORACLE建议把数据分布在尽量少的区间上,以减少ORACLE的管理与磁头的移动,但是在某些特殊情况下,需要把一个段分布在多个数据文件或多个设备上,适当的加多区间数也是有很大好处的。 通过DBA/ALL/USER_EXTENTS可以查询详细的区间信息。,主要的几个存储参数: INITIAL:段建立时分配的第一个区的大小(单位:字节) NEXT:段内分配的下一个增量区大小(单位:字节) M

16、AXEXTENTS:分配给段的区总数。 MINEXTENTS:建立段时分配的区的总数,也就是段的最小区数量。 PCTINCREASE:为段分配的每个增量区超过上一个区的百分比。,数据库块也称逻辑块或Oracle块,它对应磁盘上一个或多个物理块,它的大小由初始化参数db_block_size(在文件init.ora中)决定,UNIX典型的大小是2k,windows系统是8k。,2.2.4 数据库块,ORACLE最基本的存储单位,在建立数据库的时候指定,虽然在初始化文件中可见,但是不能修改。为了保证存取的速度,它是OS数据块的整数倍。ORACLE的操作都是以块为基本单位,一个区间可以包含多个块,如果区间大小不是块大小的整数倍,ORACLE实际也扩展到块的整数倍。 块的内部结构与数据的存取方法都是比较复杂的,以表段的块为例,从简单的结构上划分,可以把块的内部划分成如下几个部分:公用头,表目录,行目录,可存取空间等。,以下是一个表块的大致结构图:,Pckfree和Pctused两个参数用来优化数据

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

最新文档


当前位置:首页 > 高等教育 > 大学课件

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