本书主要介绍Oracle数据库的基本概念、知识和技术,注重培养Oracle数据库技术的基本操作技能。本书内容体系完整,覆盖了Oracle数据库技术的主要组成部分,设置有Oracle数据库概述、管理与开发工具、数据库运行状态维护、物理存储结构、逻辑存储结构、数据库对象管理、数据库安全管理、数据库备份与恢复以及PL/SQL程序设计等9个章节内容。为满足实际教学的需要,每章后面均附有课后习题,附录提供了7个实验项目,可以作为实验教学内容。此外,本书有配套的在线课程资源服务网站,免费提供课后习题及实验项目的参考答案、课件PPT以及试题库等教学资源,并可以进行在线互动交流。
本书适合作为本科院校和高职院校计算机相关专业的教材,也适合作为Oracle数据库技术的自学或者培训教材。
1.本书以Oracle 12c为平台,系统讲解Oracle数据库的基础概念、知识和技术,注重基本操作技能的培养。
2.重点突出,详略得当,详细介绍了重点技术内容,简明扼要讲解较为繁琐的理论内容。
3.提供大量实用性强的操作实例,并通过代码演示及操作截图的方式直观介绍Oracle数据库技术,适合初学者阅读和实践。
4.每章配有练习题,帮助读者巩固所学知识,附录提供七个实验项目,可以作为实验教学内容。
5.提供各章教学PPT、课后练习题及实验项目的参考答案,在自有平台学者网创建在线课程,共享各类课程资源,提供互动交流服务。网址为:http://www.scholat.com/course/odbt。
第5章chapter5
逻辑存储结构接正文接标题1.1微型计算机简介本章学习目标
了解Oracle数据库逻辑存储结构的组成部分
理解Oracle数据库物理存储结构与逻辑存储结构的关系
掌握表空间的管理方法
掌握段、区以及数据块的管理方法逻辑存储结构描述了Oracle数据库的内部组织形式,它包含表空间、段、区以及数据块等组成部分,本章将主要介绍这些逻辑存储结构的基本管理方法。
5.1逻辑存储结构概述
逻辑存储结构是指Oracle数据库的逻辑构成形式,它的组成部分按层次等级划分为表空间、段、区以及数据块,最高层是表空间,表空间可以包含多个段,多个区又可以组成一个段,段又由多个数据块组成。
逻辑存储结构与物理存储结构分别从逻辑和物理的角度描述了数据库的组成部分,两者共同组成了Oracle数据库的存储结构(图51),同时两者既有本质上的区别也有密切的联系。
首先,逻辑存储结构并没有与物理存储结构一样在操作系统层面存在结构信息数据,其相关信息存储在数据字典中。
其次,逻辑存储结构中的表空间与物理存储结构中的数据文件是包含关系,数据文件必须要指定表空间进行统一管理,表空间可以包含多个数据文件。
此外,逻辑存储结构中的数据块(Block)大小与物理存储结构中的操作系统数据块(OS_block)大小是整数倍关系。◆Oracle数据库技术基础教程第◆5章逻辑存储结构图51Oracle数据库的存储结构
5.2表空间〖1〗5.2.1概述表空间(Tablespace)是Oracle数据库逻辑结构中最大的逻辑划分,一个数据库可以包含多个表空间,但一个表空间只能属于一个数据库。同时,一个表空间可以包含多个数据文件,但一个数据文件只能属于一个表空间。由于表空间中的数据文件主要用于存储数据对象中的表数据,所以称为表空间。Oracle数据库中的表空间主要分为系统表空间和非系统表空间两种类型,这两类表空间的作用以及包含的内容分别描述如下。
1. 系统表空间
系统表空间在Oracle数据库创建时自动创建,其包括system和sysaux两个表空间,其中,system表空间是系统默认的表空间,专门用于存放数据字典以及各种数据对象的定义等。sysaux是system的辅助表空间,主要用于存放数据库组件、表统计以及数据库审计等信息。
2. 非系统表空间
非系统表空间主要包括用户表空间(users)、临时表空间(temp)以及撤销表空间(undotabs)三种类型,其中,users表空间用于存放用户创建的各类数据库对象的应用数据,temp表空间专门用于存放各类系统产生的临时数据,例如,SQL语句进行数据排序时产生的中间数据,undotabs表空间则专门用于存放数据库的回滚(rollback)信息,支持数据库的事务回滚操作。在实际应用中,用户可以创建多个undotabs表空间,默认的表空间命名方式为undotabs1,undotabs2,…,undotbsn。除了users、temp和undotabs表空间外,用户还可以创建多个自定义的普通表空间,专门用于为各类应用系统的数据划分存放位置,这类表空间也归为非系统表空间的范畴。
从Oracle 11g版本开始,Oracle数据库还引入了另外一个表空间类型: 大文件表空间(Bigfile tablespace)。与普通的表空间允许包含多个小数据文件(最多为1024个)不同的是,大文件表空间只包含一个大文件,在64位的操作系统中,该大文件的存储容量理论上可以达到8EB,从而可以用于创建超大型数据库,但也需要用户提供相匹配的磁盘存储空间。