Oracle逻辑存储结构_第1页
Oracle逻辑存储结构_第2页
Oracle逻辑存储结构_第3页
Oracle逻辑存储结构_第4页
Oracle逻辑存储结构_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Oracle 10g 数据库基础教程2009 第六章 Oracle逻辑存储结构 第二篇第二篇 体系结构篇体系结构篇 第六章 Oracle逻辑存储结构 5.1 Oracle数据库系统结构数据库系统结构 pOracle数据库的存储结构分为物理存储结构数据库的存储结构分为物理存储结构 和逻辑存储结构和逻辑存储结构 n物理存储结构主要用于描述物理存储结构主要用于描述Oracle数据库数据库 外部数据的存储,即在操作系统中如何组外部数据的存储,即在操作系统中如何组 织和管理数据织和管理数据 n逻辑存储结构主要描述逻辑存储结构主要描述Oracle数据库内部数据库内部 数据的组织和管理方式。数据的组织和管理

2、方式。 n逻辑存储结构从用户角度描述数据的组织逻辑存储结构从用户角度描述数据的组织 形式形式 n物理存储结构是逻辑存储结构在物理上的、物理存储结构是逻辑存储结构在物理上的、 可见的、可操作的、具体的体现形式可见的、可操作的、具体的体现形式 第六章 Oracle逻辑存储结构 p物理结构物理结构 第六章 Oracle逻辑存储结构 pOracle数据库物理结构数据库物理结构 第六章 Oracle逻辑存储结构 p逻辑结构逻辑结构 第六章 Oracle逻辑存储结构 表空间 段 区 块 OS块 数据文件 逻 辑 结 构 数据库 控制文件 重做日志文 件 物 理 结 构 pOracle数据库逻辑结构数据库逻

3、辑结构 数据库数据库 数据表,索引,存储过程数据表,索引,存储过程 第六章 Oracle逻辑存储结构 数据表,索引,存储过程数据表,索引,存储过程 第六章 Oracle逻辑存储结构 pOracle 数据库系统结构由数据库实例和物数据库系统结构由数据库实例和物 理存储结构组成。理存储结构组成。 第六章 Oracle逻辑存储结构 第六章 Oracle逻辑存储结构 p7-12周周 周二周二7-8节节 上机上机 信息楼三楼信息楼三楼 大软大软 p作业作业 课本课本P93 第第1题(题(1)()(3) P94第第2题题 (1)()(2)()(3) 第六章 Oracle逻辑存储结构 复习复习 Oracle

4、数据库系统结构数据库系统结构 pOracle数据库的存储结构分为物理存储结构数据库的存储结构分为物理存储结构 和逻辑存储结构和逻辑存储结构 n物理存储结构主要用于描述在操作系统中物理存储结构主要用于描述在操作系统中 如何组织和管理数据如何组织和管理数据 第六章 Oracle逻辑存储结构 表空间 段 区 块 OS块 数据文件 逻 辑 结 构 数据库 控制文件 重做日志文 件 物 理 结 构 p逻辑逻辑存储结构从存储结构从用户用户角度描述数据的组织角度描述数据的组织 形式形式 数据库数据库 数据表,索引,存储过程数据表,索引,存储过程 Oracle 10g 数据库基础教程2009 第六章 Orac

5、le逻辑存储结构 第第6章章 逻辑存储结构逻辑存储结构 第六章 Oracle逻辑存储结构 本章内容本章内容 pOracle逻辑存储结构概述逻辑存储结构概述 表空间表空间 数据块数据块 区区 段段 第六章 Oracle逻辑存储结构 6.1 逻辑存储结构概述逻辑存储结构概述 p逻辑存储结构逻辑存储结构 n数据块:数据块:BLOCK 数据库中最小的数据库中最小的I/O单元单元 n区:区:EXTENT 由若干连续的数据块组成,是数据库中由若干连续的数据块组成,是数据库中 最小的存储分配单元最小的存储分配单元 n段:段:SEGMENT 由若干区组成,存储相同类型数据由若干区组成,存储相同类型数据 n表空

6、间:表空间:TABLESPACE 由若干段组成,是最大的存储逻辑单元,由若干段组成,是最大的存储逻辑单元, 所有表空间构成数据库所有表空间构成数据库 第六章 Oracle逻辑存储结构 6.2 表空间表空间 6.2.1 表空间概述表空间概述 1.表空间的概念表空间的概念 pOracle数据库在逻辑上可以划分为一系列数据库在逻辑上可以划分为一系列 的逻辑空间,每一个逻辑空间就可以称为的逻辑空间,每一个逻辑空间就可以称为 一个表空间。一个表空间。 p一个数据库由有一个或多个表空间构成,一个数据库由有一个或多个表空间构成, 不同表空间用于存放不同应用的数据。不同表空间用于存放不同应用的数据。 p一个表

7、空间对应一个或多个数据文件,数一个表空间对应一个或多个数据文件,数 据文件大小决定了表空间的大小。一个数据文件大小决定了表空间的大小。一个数 据文件只能从属于一个表空间。据文件只能从属于一个表空间。 第六章 Oracle逻辑存储结构 表空间 段 区 块 OS 块 数据文件 逻 辑 结 构 数据库 控制文件 重做日志文 件 物 理 结 构 数据表,索引,存储过程数据表,索引,存储过程 第六章 Oracle逻辑存储结构 第六章 Oracle逻辑存储结构 第六章 Oracle逻辑存储结构 p表空间是数据库对象的容器,一个数据库表空间是数据库对象的容器,一个数据库 对象只能存储在一个表空间中,但可以存

8、对象只能存储在一个表空间中,但可以存 储在该表空间所对应的一个或多个数据文储在该表空间所对应的一个或多个数据文 件中。件中。 p数据库、表空间、数据文件、数据库对象数据库、表空间、数据文件、数据库对象 之间的关系之间的关系 数据库数据库 表空间表空间2 2表空间表空间1 1 数据文件数据文件1 1数据文件数据文件2 2 数据库对象数据库对象2 2 数据库对象数据库对象4 4数据库对象数据库对象3 3数据库对象数据库对象1 1 数据文件数据文件3 3数据文件数据文件4 4 数据库对象数据库对象6 6 数据库对象数据库对象5 5 数据库对象数据库对象7 第六章 Oracle逻辑存储结构 2.表空间

9、的分类表空间的分类 (1)系统表空间)系统表空间 nSYSTEM 表空间,主要存储:表空间,主要存储: p数据库的数据字典;数据库的数据字典; pPL/SQL程序的源代码和解释代码;程序的源代码和解释代码; p数据库对象的定义等数据库对象的定义等 p不应把用户数据放在不应把用户数据放在SYSTEM表空间中表空间中 nSYSAUX表空间表空间 p辅助系统表空间辅助系统表空间 p在通常情况下,不允许删除、重命名及在通常情况下,不允许删除、重命名及 传输传输SYSAUX表空间。表空间。 第六章 Oracle逻辑存储结构 (2)非系统表空间)非系统表空间 p撤销表空间撤销表空间 n专门进行回滚信息的自

10、动管理专门进行回滚信息的自动管理 n由回滚段构成,不包含其他信息由回滚段构成,不包含其他信息 n由由UNDO_TABLESPACE初始化参数设置初始化参数设置 p临时表空间临时表空间 n进行临时数据管理,会话结束时自动释放进行临时数据管理,会话结束时自动释放 n在创建用户时,为用户指定默认临时表空在创建用户时,为用户指定默认临时表空 间,通常不使用间,通常不使用SYSTEM表空间作为临时表空间作为临时 表空间表空间 p用户表空间用户表空间 n保存用户数据保存用户数据 n建议为每个用户建立独立表空间建议为每个用户建立独立表空间 第六章 Oracle逻辑存储结构 事务的结束方式事务的结束方式 p事

11、务:是一组数据库操作的集合,由一组事务:是一组数据库操作的集合,由一组 相关的相关的SQL语句组成语句组成 p事务结束方式事务结束方式 1.提交:用户执行提交:用户执行COMMIT命令或系统自动命令或系统自动 提交。提交。 事务所作的修改写入数据库文件,释放占事务所作的修改写入数据库文件,释放占 用资源用资源 2.回滚:用户执行回滚:用户执行ROLLBACK命令命令 事务中所有的操作被取消,数据库恢复到事务中所有的操作被取消,数据库恢复到 事务开始之前的状态,释放占用资源事务开始之前的状态,释放占用资源 第六章 Oracle逻辑存储结构 (3)大文件表空间与小文件表空间)大文件表空间与小文件表

12、空间 p大文件表空间是指一个表空间只包含一个大文件表空间是指一个表空间只包含一个 大数据文件,该文件的最大尺寸为大数据文件,该文件的最大尺寸为128TB或或 32TB p系统默认创建的表空间称为小文件表空间,系统默认创建的表空间称为小文件表空间, 可以包含最多可以包含最多1024个数据文件个数据文件 第六章 Oracle逻辑存储结构 3.表空间的管理方式表空间的管理方式 根据表空间中数据区的管理方式不同,表空根据表空间中数据区的管理方式不同,表空 间分为字典管理方式和本地管理方式间分为字典管理方式和本地管理方式 p字典管理方式字典管理方式 n表空间使用数据字典来管理存储空间的表空间使用数据字典

13、来管理存储空间的 分配分配 n当进行区的分配与回收时,当进行区的分配与回收时,Oracle将对数将对数 据字典中的信息进行更新据字典中的信息进行更新 n字典管理方式将渐渐被淘汰。字典管理方式将渐渐被淘汰。 第六章 Oracle逻辑存储结构 数据字典数据字典 p数据字典是在数据库创建过程中创建的,保数据字典是在数据库创建过程中创建的,保 存了数据库的系统信息以及数据库中所有对存了数据库的系统信息以及数据库中所有对 象的信息,是数据库系统运行的基础象的信息,是数据库系统运行的基础 p数据字典由一系列表和视图构成,这些表和数据字典由一系列表和视图构成,这些表和 视图对于所有的用户都是只读的视图对于所

14、有的用户都是只读的 p只有只有Oracle系统才可以对数据字典进行管理与系统才可以对数据字典进行管理与 维护维护 p在在Oracle数据库中,所有数据字典表和视图都数据库中,所有数据字典表和视图都 属于存储于属于存储于SYSTEM表空间中表空间中 第六章 Oracle逻辑存储结构 p本地管理方式本地管理方式 n区的分配和管理信息都存储在表空间本区的分配和管理信息都存储在表空间本 身的数据文件中,而与数据字典无关。身的数据文件中,而与数据字典无关。 n表空间在每个数据文件中维护一个表空间在每个数据文件中维护一个“位位 图图”结构,用于记录表空间中所有区的结构,用于记录表空间中所有区的 分配情况分

15、配情况 n区在分配与回收时,区在分配与回收时,Oracle将对数据文件将对数据文件 中的位图进行更新,不会产生回滚信息中的位图进行更新,不会产生回滚信息 或重做信息。或重做信息。 第六章 Oracle逻辑存储结构 p表空间本地管理方式的优势:表空间本地管理方式的优势: n由于在区分配与回收过程中不需要对数据字由于在区分配与回收过程中不需要对数据字 典进行访问典进行访问 n能够避免表空间存储管理操作中的递归现象能够避免表空间存储管理操作中的递归现象 n能够在保留可查询性同时,将整个数据库设能够在保留可查询性同时,将整个数据库设 置为只读状态。置为只读状态。 n简化了表空间的存储管理简化了表空间的

16、存储管理 n降低了用户对数据字典的依赖性。降低了用户对数据字典的依赖性。 n不存在磁盘碎片问题不存在磁盘碎片问题 第六章 Oracle逻辑存储结构 4.表空间管理策略表空间管理策略 系统表空间用于存储系统表空间用于存储Oracle自身数据,建议将自身数据,建议将 所有的用户数据保存到其他表空间中所有的用户数据保存到其他表空间中 p将数据字典与用户数据分离。将数据字典与用户数据分离。 p将回滚数据与用户数据分离。将回滚数据与用户数据分离。 p将表空间的数据文件保存到不同的硬盘上将表空间的数据文件保存到不同的硬盘上 p为不同的应用创建独立的表空间。为不同的应用创建独立的表空间。 p能够将表空间设置

17、为脱机状态或联机状态。能够将表空间设置为脱机状态或联机状态。 p能够将表空间设置为只读状态。能够将表空间设置为只读状态。 p能够为某种特殊用途专门设置一个表空间。能够为某种特殊用途专门设置一个表空间。 p能够更加灵活地为用户设置表空间配额。能够更加灵活地为用户设置表空间配额。 第六章 Oracle逻辑存储结构 6.2.2 表空间的管理(本地管理方式)表空间的管理(本地管理方式) p创建表空间创建表空间 p修改表空间修改表空间 p表空间的备份表空间的备份 p删除表空间删除表空间 p大文件表空间的管理大文件表空间的管理 p表空间信息查询表空间信息查询 p利用利用OEM管理表空间管理表空间 第六章

18、Oracle逻辑存储结构 利用利用OEM创建表空间创建表空间 p管理属性页管理属性页存储存储表空间表空间 第六章 Oracle逻辑存储结构 第六章 Oracle逻辑存储结构 创建表空间创建表空间 第六章 Oracle逻辑存储结构 第六章 Oracle逻辑存储结构 1 使用语句创建表空间使用语句创建表空间 p表空间名称不能超过表空间名称不能超过30个字符,必须以字母个字符,必须以字母 开头,可以包含字母、数字以及一些特殊字开头,可以包含字母、数字以及一些特殊字 符(如符(如#、_、$)等;)等; p表空间的类型表空间的类型 普通表空间、临时表空间和撤销表空间;普通表空间、临时表空间和撤销表空间;

19、 第六章 Oracle逻辑存储结构 (1).创建永久创建永久(普通普通)表空间表空间 pCREATE TABLESPACE语句,包含子句:语句,包含子句: n设定表空间的数据文件设定表空间的数据文件DATAFILE n表空间的管理方式表空间的管理方式 EXTENT MANAGEMENT 取值为取值为LOCAL(默认默认)或或DICTIONARY。 n区的分配方式区的分配方式 AUTOALLOCATE(默认默认)或或UNIFORM SIZE n段的管理方式段的管理方式 SEGMENT SPACE MANAGEMENT 取值为取值为MANUAL或或AUTO (默认)(默认) 本地管理本地管理 数据

20、字典数据字典 自动分配自动分配 定制分配定制分配 手动管理手动管理自动管理自动管理 第六章 Oracle逻辑存储结构 语句形式:语句形式: Create Tablespace 表空间名表空间名 Datafile 文件名文件名Size 整数整数K|MReuse Extent Management Local Autoallocate|Uniform Size 整数整数K|M Segment Space Management Manual|Auto; 第六章 Oracle逻辑存储结构 例例2.为为ORCL数据库创建一个本地管理永久性的数据库创建一个本地管理永久性的 表空间表空间ORCLTBS02

21、,数据文件为,数据文件为 E:ORACLEORCLTBS02_1.DBF大小为大小为10M, 区定制分配,每个区大小为区定制分配,每个区大小为512K,段采用手动,段采用手动 管理方式。管理方式。 CREATE TABLESPACE ORCLTBS02 DATAFILE E:ORACLEORCLTBS02_1.DBF SIZE 10M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K SEGMENT SPACE MANAGEMENT MANUAL; 第六章 Oracle逻辑存储结构 例例1.为为ORCL数据库创建一个本地管理永久性的数据库创建一个本地管理永久性

22、的 表空间表空间ORCLTBS01 ,数据文件为,数据文件为 E:ORACLEORCLTBS01_1.DBF 大小为大小为 20M,区自动扩展,段采用自动管理方式,区自动扩展,段采用自动管理方式 pCREATE TABLESPACE ORCLTBS01 DATAFILE E:ORACLEORCLTBS01_1.DBF SIZE 20M; 第六章 Oracle逻辑存储结构 例例3.为为ORCL数据库创建一个本地管理永久性数据库创建一个本地管理永久性 的表空间的表空间ORCLTBS03 ,数据文件为,数据文件为 E:ORACLEORCLTBS03_1.DBF大小为大小为 50M,区自动扩展,段采用

23、手动管理方式。,区自动扩展,段采用手动管理方式。 CREATE TABLESPACE ORCLTBS03 DATAFILE E:ORACLEORCLTBS03_1.DBF SIZE 50M SEGMENT SPACE MANAGEMENT MANUAL; 第六章 Oracle逻辑存储结构 (2) 创建临时表空间创建临时表空间 p使用使用CREATE TEMPORARY TABLESPACE 语句创建临时表空间语句创建临时表空间 p用用TEMPFILE子句设置临时数据文件。子句设置临时数据文件。 p需要注意的是临时表空间中区的分配方式只需要注意的是临时表空间中区的分配方式只 能是能是UNIFOR

24、M,而不能是,而不能是 AUTOALLOCATE 第六章 Oracle逻辑存储结构 例例5,为,为ORCL数据库创建一个本地管理临时表数据库创建一个本地管理临时表 空间空间ORCLTEMP1,数据文件为,数据文件为 D:ORACLEORCLTEMP1_1.DBF 大小大小 20M,每个区大小为,每个区大小为16M。 pCREATE TEMPORARY TABLESPACE ORCLTEMP1 TEMPFILE D:ORACLEORCLTEMP1_1.DBF SIZE 20M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 16M; 第六章 Oracle逻辑存储结构 p

25、临时表空间组临时表空间组 n将一个或多个临时表空间构成一个表空将一个或多个临时表空间构成一个表空 间组。间组。 n当将临时表空间组作为数据库或用户的当将临时表空间组作为数据库或用户的 默认临时表空间时,用户就可以同时使默认临时表空间时,用户就可以同时使 用该表空间组中所有的临时表空间。用该表空间组中所有的临时表空间。 n临时表空间组不需要显式创建,为临时临时表空间组不需要显式创建,为临时 表空间组指定第一个临时表空间时隐式表空间组指定第一个临时表空间时隐式 创建,当临时表空间组中最后一个临时创建,当临时表空间组中最后一个临时 表空间删除时而隐式地删除。表空间删除时而隐式地删除。 第六章 Ora

26、cle逻辑存储结构 (3) 创建撤销表空间创建撤销表空间 p数据库回滚信息保存在回滚段中,撤销表空数据库回滚信息保存在回滚段中,撤销表空 间专门用于回滚段的自动管理。间专门用于回滚段的自动管理。 p如果数据库中没有创建撤销表空间,那么将如果数据库中没有创建撤销表空间,那么将 使用使用SYSTEM表空间来自动管理回滚段。表空间来自动管理回滚段。 p那么一个实例只能使用一个撤销表空间,可那么一个实例只能使用一个撤销表空间,可 以通过参数以通过参数UNDO_TABLESPACE来指定来指定 p如果要使用撤销表空间对数据库回滚信息进如果要使用撤销表空间对数据库回滚信息进 行自动管理,则必须将初始化参数

27、行自动管理,则必须将初始化参数 UNDO_MANAGEMENT设为设为AUTO。 第六章 Oracle逻辑存储结构 p使用使用CREATE UNDO TABLESPACE语句创建语句创建 撤销表空间撤销表空间 p在该语句中只能指定在该语句中只能指定DATAFILE和和EXTENT MANAGEMENT LOCAL两个子句。两个子句。 例例7,为,为ORCL数据库创建一个撤销表空间数据库创建一个撤销表空间 ORCLUNDO01 ,数据文件为,数据文件为 E:ORACLEORCLUNDO1_1.DBF大小为大小为20M CREATE UNDO TABLESPACE ORCLUNDO01 DATAF

28、ILE E:ORACLEORCLUNDO1_1.DBF SIZE 20M; 第六章 Oracle逻辑存储结构 2 . 修改表空间修改表空间 p可以对表空间进行下列修改操作:可以对表空间进行下列修改操作: n扩展表空间扩展表空间 n修改表空间可用性修改表空间可用性 n修改表空间读修改表空间读/写性写性 n设置默认表空间设置默认表空间 n表空间重命名表空间重命名 p注意注意 n不能将本地管理的永久性表空间转换为本不能将本地管理的永久性表空间转换为本 地管理的临时表空间,也不能修改本地管地管理的临时表空间,也不能修改本地管 理表空间中段的管理方式。理表空间中段的管理方式。 第六章 Oracle逻辑存

29、储结构 (1) 扩展表空间扩展表空间 p为表空间添加新数据文件为表空间添加新数据文件 n为永久表空间添加新的数据文件为永久表空间添加新的数据文件 ALTER TABLESPACEADD DATAFILE n为临时表空间添加新的临时数据文件为临时表空间添加新的临时数据文件 ALTER TABLESPACE ADD TEMPFILE 例例8,为,为ORCL数据库的数据库的ORCLTBS01表空间添加表空间添加 一个大小为一个大小为10 MB的新数据文件。的新数据文件。 nALTER TABLESPACE ADD DATAFILE E:ORACLEORCLTBS01_2.DBF SIZE 10M;

30、ORCLTBS01 第六章 Oracle逻辑存储结构 p改变已有数据文件的大小改变已有数据文件的大小 ALTER DATABASE DATAFILE RESIZE 例例10,将,将ORCL数据库的数据库的ORCLTBS01表空间的表空间的 数据文件数据文件E:ORACLEORCLTBS01_2.DBF 大大 小增加到小增加到20 MB。 ALTER DATABASE DATAFILE E:ORACLEORCLTBS01_2.DBF RESIZE 20M; 第六章 Oracle逻辑存储结构 p改变数据文件的扩展方式改变数据文件的扩展方式 如果为数据文件指定了如果为数据文件指定了AUTOEXTEN

31、D ON选项,选项, 当数据文件被填满时会自动扩展。当数据文件被填满时会自动扩展。 p可以在创建新数据文件时设定,也可以通过修可以在创建新数据文件时设定,也可以通过修 改已有数据文件设定改已有数据文件设定 例例11,将,将ORCL数据库的数据库的ORCLTBS01表空间的表空间的 数据文件数据文件E:ORACLEORCLTBS01_2.DBF修修 改为自动扩展,每次扩展改为自动扩展,每次扩展5 MB空间,文件最空间,文件最 大为大为100 MB。 ALTER DATABASE DATAFILE E:ORACLEORCLTBS01_2.DBF AUTOEXTEND ON NEXT 5M MAXS

32、IZE 100M; 无限制无限制 UNLIMITED 第六章 Oracle逻辑存储结构 总结:扩展表空间总结:扩展表空间 p为表空间添加新数据文件为表空间添加新数据文件 ALTER TABLESPACEADD DATAFILE ALTER TABLESPACE ADD TEMPFILE p改变已有数据文件的大小改变已有数据文件的大小 ALTER DATABASE DATAFILE RESIZE p改变数据文件的扩展方式改变数据文件的扩展方式 AUTOEXTEND ON NEXT MAXSIZE 在在CREATE TABLESPACE ALTER TABLESPACE ADD ALTER DAT

33、ABASE等语句中使用等语句中使用 第六章 Oracle逻辑存储结构 p练习,为练习,为ORCL数据库的数据库的ORCLTBS01表空间表空间 添加一个大小为添加一个大小为20 MB的新数据文件的新数据文件 E:ORACLEORCLTBS01_3.DBF,并且,并且 设为自动扩展,每次扩展设为自动扩展,每次扩展10M,最大无限制,最大无限制 pALTER TABLESPACE ORCLTBS01 ADD DATAFILE E:ORACLEORCLTBS01_3.DBF SIZE 20M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED; 第六章 Oracle逻辑

34、存储结构 (2)修改表空间可用性)修改表空间可用性 p当表空间处于联机当表空间处于联机ONLINE状态时,用户可以状态时,用户可以 对其进行访问,离线状态对其进行访问,离线状态OFFLINE的表空间的表空间 是不能进行数据访问的是不能进行数据访问的,所对应的所有数据文所对应的所有数据文 件也都处于脱机状态。件也都处于脱机状态。 p语法语法 ALTER TABLESPACEONLINE|OFFLINE pSYSTEM表空间,撤销表空间表,临时表空表空间,撤销表空间表,临时表空 间必须是联机状态间必须是联机状态 例例12,将,将ORCLTBS01表空间设为脱机表空间设为脱机 ALTER TABLE

35、SPACE ORCLTBS01 OFFLINE; ONLINE 第六章 Oracle逻辑存储结构 (3)修改表空间读写性)修改表空间读写性 p表空间可以是读写方式,也可以是只读方式表空间可以是读写方式,也可以是只读方式 ALTER TABLESPACE READ ONLY|READ WRITE p表空间只有满足下列要求才可以转换为只读表空间只有满足下列要求才可以转换为只读 状态:状态: n表空间处于联机状态;表空间处于联机状态; n表空间中不能包含任何活动的回退段;表空间中不能包含任何活动的回退段; n如果表空间正在进行联机数据库备份,不如果表空间正在进行联机数据库备份,不 能将它设置为只读状

36、态。能将它设置为只读状态。 p例如,例如,ALTER TABLESPACE ORCLTBS01 READ ONLY; 第六章 Oracle逻辑存储结构 (4)设置默认表空间)设置默认表空间 p创建用户时,用户默认的永久表空间为创建用户时,用户默认的永久表空间为USERS 表空间,默认临时表空间为表空间,默认临时表空间为TEMP表空间。表空间。 p设置数据库的默认表空间设置数据库的默认表空间 ALTER DATABASE DEFAULT TABLESPACE p设置数据库的默认临时表空间设置数据库的默认临时表空间 ALTER DATABASE DEFAULT TEMPORARY TABLESPA

37、CE 例例16,将,将ORCLTBS01表空间设置为表空间设置为ORCL数据数据 库的默认表空间库的默认表空间 ALTER DATABASE DEFAULT TABLESPACE ORCLTBS01 ; 第六章 Oracle逻辑存储结构 (5)表空间重命名)表空间重命名 pALTER TABLESPACERENAME TO p在重命名表空间时该表空间在重命名表空间时该表空间ID号并没有修改号并没有修改 p如果该表空间是数据库默认表空间,那么重如果该表空间是数据库默认表空间,那么重 命名后仍然是数据库的默认表空间。命名后仍然是数据库的默认表空间。 p不能重命名不能重命名SYSTEM和和SYSAU

38、X表空间表空间 p不能重命名处于脱机状态或部分数据文件处不能重命名处于脱机状态或部分数据文件处 于脱机状态的表空间。于脱机状态的表空间。 例例19,将表空间,将表空间ORCLTBS01重命名为重命名为NEWTB ALTER TABLESPACE ORCLTBS01 RENAME TO NEWTB; 第六章 Oracle逻辑存储结构 3.表空间的备份表空间的备份 p对表空间进行联机备份。基本步骤为:对表空间进行联机备份。基本步骤为: n将表空间设置为备份模式将表空间设置为备份模式 ALTER TABLESPACEBEGIN BACKUP n在操作系统中备份表空间所对应的数据文件在操作系统中备份表

39、空间所对应的数据文件 n结束表空间的备份模式结束表空间的备份模式 ALTER TABLESPACEEND BACKUP 第六章 Oracle逻辑存储结构 第六章 Oracle逻辑存储结构 Oracle数据库数据库 服务器服务器 图形客户端图形客户端 Web企业管理器企业管理器SQL*PLUS PL/SQL Developer 第六章 Oracle逻辑存储结构 p作业作业 1(1) 第六章 Oracle逻辑存储结构 (3)数据库,表空间,数据文件以及数据库)数据库,表空间,数据文件以及数据库 对象之间的关系对象之间的关系 数据库数据库 表空间表空间1 表空间表空间n 数据文件数据文件1 数据文件

40、数据文件n 数据库对象数据库对象 第六章 Oracle逻辑存储结构 复习:创建永久复习:创建永久(普通普通)表空间表空间 pCREATE TABLESPACE语句,包含子句:语句,包含子句: n设定表空间的数据文件设定表空间的数据文件DATAFILE n表空间的管理方式表空间的管理方式 EXTENT MANAGEMENT 取值为取值为LOCAL(默认默认)或或DICTIONARY。 n区的分配方式区的分配方式 AUTOALLOCATE(默认默认)或或UNIFORM SIZE n段的管理方式段的管理方式 SEGMENT SPACE MANAGEMENT 取值为取值为MANUAL或或AUTO (默

41、认)(默认) 本地管理本地管理 数据字典数据字典 自动分配自动分配 定制分配定制分配 手动管理手动管理自动管理自动管理 第六章 Oracle逻辑存储结构 语句形式:语句形式: Create Tablespace 表空间名表空间名 Datafile 文件名文件名Size 整数整数K|MReuse Extent Management Local Autoallocate|Uniform Size 整数整数K|M Segment Space Management Manual|Auto; 第六章 Oracle逻辑存储结构 作业作业 2(1)使用)使用SQL命令创建一个本地管理命令创建一个本地管理 方

42、式下自动分区管理的表空间方式下自动分区管理的表空间USERTBS1, 其对应的数据文件大小为其对应的数据文件大小为20MB create tablespace usertbs1 Datafile (2)使用)使用SQL命令创建一个本地管理方式下命令创建一个本地管理方式下 的表空间的表空间USERTBS2,要求每个分区的大,要求每个分区的大 小为小为512KB create tablespace usertbs2 datafile D:testusertbs2.dbf size 20M uniform size 512k; D:testusertbs1.dbf size 20M; 第六章 Ora

43、cle逻辑存储结构 复习:扩展表空间复习:扩展表空间 p为表空间添加新数据文件为表空间添加新数据文件 ALTER TABLESPACEADD DATAFILE p改变已有数据文件的大小改变已有数据文件的大小 ALTER DATABASE DATAFILE RESIZE p改变数据文件的扩展方式改变数据文件的扩展方式 AUTOEXTEND ON NEXT MAXSIZE 在在CREATE TABLESPACE ALTER TABLESPACE ADD ALTER DATABASE等语句中使用等语句中使用 第六章 Oracle逻辑存储结构 (3)修改)修改USERTBS1表空间的大小,将该表空表空

44、间的大小,将该表空 间的数据文件改为自动扩展方式,最大值为间的数据文件改为自动扩展方式,最大值为 100MB alter database datafile D:testusertbs1.dbf autoextend on maxsize 100M; 第六章 Oracle逻辑存储结构 4. 删除表空间删除表空间 pDROP TABLESPACE INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS pSYSTEM和和SYSAUX表空间不能删除表空间不能删除 p一旦表空间删除,里面的数据将永久丢失一旦表空间删除,里面的数据将永久丢失 p如果表空

45、间中的数据正在使用或者含有未如果表空间中的数据正在使用或者含有未 提交的事务,则不能删除提交的事务,则不能删除 一并删除里一并删除里 面的内容和面的内容和 数据文件数据文件 删除涉及其他表删除涉及其他表 空间的外键空间的外键 第六章 Oracle逻辑存储结构 例例23,删除,删除ORCL数据库的数据库的ORCLUNDO01表空表空 间及其所有内容,同时删除其所对应的数据间及其所有内容,同时删除其所对应的数据 文件,以及其他表空间相关的参照完整性约文件,以及其他表空间相关的参照完整性约 束束 DROP TABLESPACE ORCLUNDO01 INCLUDING CONTENTS AND DA

46、TAFILES CASCADE CONSTRAINTS; 第六章 Oracle逻辑存储结构 (6)表空间信息查询)表空间信息查询 pV$TABLESPACE:从控制文件中获取的表:从控制文件中获取的表 空间名称和编号信息空间名称和编号信息 pDBA_TABLESPACES:数据库中所有表空:数据库中所有表空 间的信息间的信息 pDBA_FREE_SPACE:所有表空间中空闲区:所有表空间中空闲区 的信息的信息 pDBA_DATA_FILES:数据文件及其所属表:数据文件及其所属表 空间信息空间信息 第六章 Oracle逻辑存储结构 p查询表空间基本信息查询表空间基本信息 SELECT TABL

47、ESPACE_NAME, EXTENT_MANAGEMENT, ALLOCATION_TYPE, CONTENTS FROM DBA_TABLESPACES; p查询表空间数据文件信息查询表空间数据文件信息 SELECT , BLOCKS, TABLESPACE_NAME FROM DBA_DATA_FILES; 第六章 Oracle逻辑存储结构 6.3 数据块数据块(BLOCK) 1. 数据块的概念数据块的概念 pOracle数据块是数据库中最小的逻辑存储数据块是数据库中最小的逻辑存储 单元,也是单元,也是I/O操作的最小单元操作的最小单元 p由一个或者多个操作系统块组成由一个或者多个操作系

48、统块组成 p分为标准块和非标准块,标准块在数据库分为标准块和非标准块,标准块在数据库 创建时创建时DB_BLOCK_SIZE 参数大小设置,参数大小设置, 不可更改不可更改 第六章 Oracle逻辑存储结构 2 数据库块结构数据库块结构 块头部块头部 空闲区空闲区 行数行数 据区据区 标题标题 表目录表目录 行目录行目录 插入新的行或更新插入新的行或更新 保存行数据保存行数据 第六章 Oracle逻辑存储结构 3 数据块的管理数据块的管理 p对块的管理主要是对块中可用存储空间的对块的管理主要是对块中可用存储空间的 管理,确定保留多少空闲空间,避免产生管理,确定保留多少空闲空间,避免产生 行链接

49、、行迁移。行链接、行迁移。 p行链接行链接 插入数据时,如果行的长度大于块的大小,插入数据时,如果行的长度大于块的大小, 就需要使用多个块存放行信息。就需要使用多个块存放行信息。 数据数据 第六章 Oracle逻辑存储结构 p行迁移行迁移 数据更新时,如果更新后的数据长度大于数据更新时,如果更新后的数据长度大于 块长度,块长度,Oracle会将整行的数据从原数据会将整行的数据从原数据 块迁移到新的数据块中。块迁移到新的数据块中。 更新数据更新数据 更新数据更新数据 原数据原数据 第六章 Oracle逻辑存储结构 p对块的管理分为自动和手动两种。对块的管理分为自动和手动两种。 p本地管理方式的表

50、空间,如果段的管理方本地管理方式的表空间,如果段的管理方 式设置为式设置为AUTO,则采用自动方式管理块。,则采用自动方式管理块。 p设为设为MANUAL为手动管理。通过为段设置为手动管理。通过为段设置 PCTFREE和和PCTUSED两个参数来控制数两个参数来控制数 据块中空闲空间的使用。据块中空闲空间的使用。 第六章 Oracle逻辑存储结构 pPCTFREE n指定块中必须保留的用于更新的最小空闲空指定块中必须保留的用于更新的最小空闲空 间比例。间比例。 n当数据块的空闲空间百分率低于当数据块的空闲空间百分率低于PCTFREE 时,此数据块被标志为时,此数据块被标志为USED,此时在数据

51、,此时在数据 块中只可以进行更新,而不能插入。块中只可以进行更新,而不能插入。 pPCTUSED n指定可以向块中插入数据时,块已使用的最指定可以向块中插入数据时,块已使用的最 大空间比例。大空间比例。 n当数据块使用空间低于当数据块使用空间低于PCTUSED时,此块时,此块 标志为标志为FREE,进行插入,进行插入 第六章 Oracle逻辑存储结构 PCTUSED=40 数据数据 PCTFREE=20 =20% 20% 数据数据 40% 数据数据 第六章 Oracle逻辑存储结构 pINITRANS n可以同时对此数据块进行可以同时对此数据块进行DML操作的事操作的事 务的个数。务的个数。

52、pMAXTRANS n可以同时对此数据块进行可以同时对此数据块进行DML操作的最操作的最 多事务的个数。多事务的个数。 p 在数据库中,每一行都有一个物理地址在数据库中,每一行都有一个物理地址 ROWID,由,由18位十六进制数字组成位十六进制数字组成 第六章 Oracle逻辑存储结构 1.区的概念区的概念 p区由一系列连续的数据块构成的逻辑存储单元区由一系列连续的数据块构成的逻辑存储单元 p区是存储空间分配与回收的最小单位。区是存储空间分配与回收的最小单位。 p当创建一个数据库对象时,当创建一个数据库对象时,Oracle为对象分配为对象分配 若干个区。若干个区。 2.区的管理区的管理 (1)

53、区的分配)区的分配 p本地管理的表空间中,用本地管理的表空间中,用AUTOALLOCATE 选项自动进行区的分配选项自动进行区的分配 p通过表空间通过表空间UNIFORM选项,指定所有区具有选项,指定所有区具有 统一大小,统一大小, 6.4 区区 第六章 Oracle逻辑存储结构 (2)区的回收)区的回收 n通常区将一直保留在段中,不论区中的通常区将一直保留在段中,不论区中的 数据块是否被使用。数据块是否被使用。 n只有当段所属的对象被删除时,段中所只有当段所属的对象被删除时,段中所 有的区才会被回收。有的区才会被回收。 n如果在创建回滚段时指定了如果在创建回滚段时指定了OPTIMAL关关 键

54、字,键字,Oracle会定期回收回滚段中未使用会定期回收回滚段中未使用 的区。的区。 第六章 Oracle逻辑存储结构 6.5.1 段的概述段的概述 n段是由一个或多个区组成的逻辑存储单元。段是由一个或多个区组成的逻辑存储单元。 n段是表空间的组成单位段是表空间的组成单位 n通常一个数据库对象只拥有一个段,一个通常一个数据库对象只拥有一个段,一个 段至少包含一个区段至少包含一个区 p段的类型:段的类型: n数据段,索引段,临时段,回滚段数据段,索引段,临时段,回滚段 6.5 段段 第六章 Oracle逻辑存储结构 p数据段数据段 n数据段用来存储表或簇的数据,可以细数据段用来存储表或簇的数据,可以细 分为表数据段、索引表数据段、分区表分为表数据段

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论