收藏 分享(赏)

第二、三章数据库和表的创建.ppt

上传人:j35w19 文档编号:4725592 上传时间:2019-01-09 格式:PPT 页数:39 大小:140.50KB
下载 相关 举报
第二、三章数据库和表的创建.ppt_第1页
第1页 / 共39页
第二、三章数据库和表的创建.ppt_第2页
第2页 / 共39页
第二、三章数据库和表的创建.ppt_第3页
第3页 / 共39页
第二、三章数据库和表的创建.ppt_第4页
第4页 / 共39页
第二、三章数据库和表的创建.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

1、第二章数据库和表的创建,基本概念 界面创建数据库和表 命令方式创建数据库和表,逻辑结构之间的关系,块的管理,块的概念:O用来管理存储空间的最小的单元,数据库执行I/O的最小单位。 物理I/O;逻辑I/O 块的结构 标准块非标准块,块结构的组成,块头部:块的属性信息,如,物理地址,块所属的段的类型 表目录:关于表的相关信息(if 存的是表数据) 行目录:记录的相关信息,如:ROWID(if 存的是表数据) 块头部信息区:以上三部分组成,块结构的组成,块的存储区 空闲空间:块中尚未使用的存储空间 行空间:块中已经使用的空间,保存了数据库对象的数据 空闲空间和行空间共同构成了块的存储区,空闲空间和行

2、空间的总和即是块的总容量,块的存储管理,块的存储空间管理以自动和手工两种方式进行 自动管理:创建表空间的时候使用的是本地管理,且段的处处空间管理方式设置为AUTO 手工管理:设置PCTFREE和PCTUSED两个存储参数,适用于表空间和段,PCTFREE参数,PCTFREE参数用于制定块中必须保留的最小空闲空间比例。防止数据修改时存储空间不足,分配新的块,产生记录链接现象。该参数指定的是一个百分数。如: PCTFREE 20;块中空间使用超过80后,块标记为不可用。 PCTFREE参数值较小,有效的利用存储空间 PCTFREE参数值较大,浪费存储空间,提高更新操作的效率,PCTUSED参数,P

3、CTUSED参数用于指定一个百分数,当块中已经使用的存储空间降低到这个百分比之下时,这个块才被重新标记为可用状态。如:PCTUSED 40 表明指定的表空间或段中的以满块只在已用存储空间降低到40以下时,才能够再向块中插入新的数据 PCTUSED设置的过小,增加数据库中存储空间的浪费,提高更新或者删除的执行效率 PCTUSED设置的过大,提高存储效率,但降低插入和更新等操作的执行效率,两参数配合使用,Pctfree和Pctused共同使用。 Pf:20;Pu:40; 应用中会产生较多的update操作,并且会增加记录的大小 Pf:5;Pu:60; 应用中产生较多的insert和delete,并

4、且update不会增加记录的大小; Pf:2;Pu:40;表的规模十分大,存储效率是要主要考虑的问题,且大部分操作是只读的,区的管理,概念:区是由很多连续的数据块组成的数据库逻辑存储空间。一个或者多个区再构成更高一级的逻辑存储结构段。 Oracle中创建有存储结构的数据库对象时,oracle为对象分配若干个区,构成一个段用来为对象提供初始的存储空间。段中分配的区写满后,o为段分配一个新的区,以容纳更多的数据。,区的分配方式,分配方式:在创建具有独立段结构的数据库对象时,如表,先为表创建一个数据段,并为数据段分配一个初识区;初始区的块写满后,表的数据段会向oracle申请新的存储空间。rracl

5、e为数据段再分配一个“后续区”,由storage字句中的参数指定。可以是统一的,也可以是递增的。,区的分配的例子,Create table u_table1 (col1,col2,col3) Tablespace user01 Storage (initial 128knext 128kpctincrease 50); INITIAL:段建立时分配的第一个区的大小(单位:字节) NEXT:段内分配的下一个增量区大小(单位:字节) PCTINCREASE:为段分配的每个增量区超过上一个区的百分比。,本地管理方式表空间的区分配方式,表空间中所有区的分配信息都保存在该表空间内部(数据文件头部的“位图

6、”中) 创建:默认;extent management local 不使用default storage子句 Autoallocate 对区的管理分配进行自动管理,最小的区是64k Extent management local autoallocate; Uniform 所有的区都统一大小,默认1mb Extent management local uniform size 512k;,字典管理方式的表空间,表空间中间中所有存储空间的管理信息都保存在数据字典中 创建字典管理方式的表空间:在Create tablespace 中显式的使用extent management子句,并指定DICTI

7、ONARY关键字 创建子句以及参数:default storage:initial、next 、pctincrease、 min(max)extents minimum extent:表中所有区的大小都是它的值的整数倍,区的存储空间分配算法,本地管理方式下的分配算法:使用“位图”而不是块列表来管理可用的块。为区分配时,先选定属于表空间的一个数据文件,在数据文件的位图中搜索是否具有足够的相邻可用块,如果有,组成新的区,没有,在其他的表空间中进行同样的操作。,区的存储空间分配算法,字典管理方式下的分配算法:使用块列表管理未分配的存储块;步骤: 在块列表中查找是否有适合新区大小的连续可用的块 有恰好

8、的,则分配;没有,找出大的; 大出五个以上,剩下的放回到可用块列表;小于5个,全部分配给新区; 没有合适的和大的,就合并邻近的块;还没有就扩展数据文件,区的回收,通常分配给段的区将一直保留在段中,不论里面是否有数据。直到删除数据库对象时,组成对象的段所有区才被回收; 通过命令来回收:alter table table_name deallocate unused;,段的管理,段的概念:由一系列区组成,不再是存储空间分配的单位,是独立的逻辑存储结构。某个特定的具有独立存储结构的对象中的数据将全部保存在它的段中; 一个段只属于一个特定的数据库对象;每个段中至少含有一个区(初始区) 段中可以使用自己

9、的存储参数,若没有指定参数,则自动继承表空间的相应参数,段的类型,数据段:保存表中的记录; 索引段:索引中的索引条目; 临时段:执行查询操作时,临时保存解析过得查询语句以及在排序过程中产生的临时数据;所有分配的临时段都属于sys模式; 回退段:保存回退条目,将被修改的数据的初始版本保存在回退条目中,利用这些信息,用户可利用撤销未提交的事务,维护数据库的读一致性; 自动撤销管理,物理存储结构,数据文件 控制文件 重做日志文件,表空间,表空间,一个表空间物理上对应于操作系统中的一个或多个数据文件; 表空间中创建的对象物理上两种存储方式:表空间对应一个数据文件,该表空间中所有的对象都存储在这个数据文

10、件中;表空间对应多个数据文件,可将一个对象的数据存储在任意一个数据文件中;,特殊的表空间,Oracle中除了用户创建的存放数据对象的数据表空间外,还有以下类型的表空间: (1)System表空间 (2)回滚表空间(RollBack TableSpace) (3)临时表空间(Temp TableSpace),多个表空间的优势,在数据库中使用多个表空间具有如下优势: (1)能够将数据字典与用户数据分离开来,避免由于字典对象和用户对象保存在同一个数据文件中而产生的10冲突。 (2)能够将回退数据与用户数据分离开来,避免由于硬盘损坏而导致永久性的数据丢失。 (3)能够将表空间的数据文件分散保存到不同硬

11、盘上,平均分布物理10操作。,多个表空间的优势,(4)能够将某个表空间设置为脱机状态或联机状态,以便对数据库的一部分进行备份和恢复。 (5)能够将某个表空间设置为只读状态,从而将数据库的一部分设置为只读状态。 (6)能够为某种特殊用途专门设置一个表空间,比如临时表空间等,以优化表空间的使用效率。 (7)能够更加灵活地为用户设置表空间限额。,表空间的存储管理方式,表空间级的两类存储参数:一类是pctfree、pctused用于控制块存储空间的参数;另一类是initial next pctincrease 等用于控制区的存储分配方式的参数 两种类型表空间:字典管理方式表空间;本地管理方式表空间(9

12、i默认管理方式);,字典管理方式,表空间中间中所有存储空间的管理信息都保存在数据字典中。在表空间中分配新的区或回收已分配的区时,oracle对数据字典中的相关基础表进行更新,本地管理方式,本地管理方式下,取得分配与管理信息都存储在表空间的数据文件中,与数据字典无关。表空间会在每个数据文件中维护一个“位图”结构,用于记录表空间中的所有区的分配情况。 本地管理的优势:在表空间的存储分配过程中不需要访问数据库(只是简单的改变数据文件中的位图),故能够提高存储分配操作的速度;降低对数据字典的依赖;简化了DBA对表空间的存储管理操作等等。,联机表空间和脱机表空间,联机状态:可以访问其中的数据; 脱机状态

13、:任何用户都不能访问; SYSTEM必须处于联机状态,数据字典存在system表空间 表空间的状态会被记录在数据字典中,数据文件,概念:数据库中的数据在物理上保存在若干个操作系统文件中,这些操作系统文件就是数据文件 Oracle通过表空间创建数据文件,从硬盘中获取存储数据所需的物理存储空间。一个数据文件只能属于惟一的一个表空间 创建数据文件的过程,数据文件,增加存储空间的三种方式: 为同一个表空间追加新的数据文件; 通过手工方式扩大现有的数据文件; 配置数据文件为自动增长方式。 脱机和临时数据文件 表空间脱机时,该表空间的数据文件也相应的进入脱机状态;也可单独设置 临时数据文件及其特点,控制文

14、件,概念:包含了关于数据库物理结构的重要信息,是个很小的二进制文件,物理结构 加载数据库是读取控制文件,才能找到自己所需的操作系统文件(数据和日志文件等) 每个数据库必须至少拥有一个控制文件 一个控制文件只能属于一个数据库 控制文件的内容必须oracle本身来修改,控制文件,复合控制文件:oracle同时拥有多个控制文件,各文件之间是镜像的。 各控制文件应放到不同的硬盘中。 管理控制文件的策略:P117,重做日志文件,Oracle在重做日志文件中以重做记录形式记录下用户对数据库所进行的修改操作 每个数据库至少需要两个重做日志文件,因为oracle是以循环方式来使用重做日志文件的。 重做记录:由

15、一组“变更向量”组成,每个变更向量中记录了事务对数据库中某个数据块所做的修改。 以循环方式在SGA区的重做日志高速缓存中进行缓存,然后由Oracle实例的LGWR写入重做日志文件中。,重做日志文件,写入重做日志文件:LGWR进程以循环方式将重做日志缓存区中的内容不断写入重做日志文件。 LGWR进程在写入下一个重做日志文件之前,覆盖重做日志文件之前应:归档;非归档 正被写入的重做日志文件称为处于“当前状态”;“活动状态”;“未活动状态”,重做日志文件,复合重做日志文件:LGWR进程同步地写入多个重做日志文件(不同硬盘) 相互镜像地多个重做日志文件组成一个“重做日志组”,重做日志组地每个重做日志文件叫做“成员” LGWR进程同步地向一个重做日志组中地所有成员写入重做信息,重做日志文件,归档重做日志:对日志进行归档来实现重做记录永久的保留,以便完整的记录数据库的全部修改过程。必须在处于归档模式的数据库中。 将已经写满的重做日志文件通过复制操作系统文件的方式保存到指定的位置,保存下来的叫做“归档重做日志”,复制的过程称为“归档”。,重做日志文件,数据库的归档模式 非归档模式:数据库只有从实例崩溃中恢复地能力,无法进行介质恢复;不能进行联机表空间备份操作 归档模式:优势,数据字典,数据字典的概念 数据字典的结构 数据字典的oracle使用方式 数据字典的用户使用方式 V$动态性能表,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 实用文档 > 统计图表

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报