10-管理表空间和数据文件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle 10g 数据库管理、应用与开发
15
SYSTEM表空间
• System表空间用于存放内部数据和数据字典,主 要存放sys用户的各个对象和其他用户的少量对象 。用户从DBA_SEGMENTS数据字典中查询到某个表 空间所存放的数据对象及其类型和拥有者。
Oracle 10g 数据库管理、应用与开发
SYSAUX表空间是Oracle 10g新增的辅助系统表空间,主要用于存储 数据库组件等信息,以减小SYSTEM表空间的负荷。
在通常情况下,不允许删除、重命名及传输SYSAUX表空间。
Oracle 10g 数据库管理、应用与开发
20
非系统表空间
撤销表空间
专门进行回滚信息的自动管理,由回滚段构成。一个数据库可以有多个撤 销表空间,但每个数据库实例只能使用一个由UNDO_TABLESPACE参数设置 的撤销表空间。
逻辑结构单元类型
数据块:BLOCK
区:EXTENT
段:SEGMENT
表空间:TABLESPACE
Oracle 10g 数据库管理、应用与开发
5
数据库逻辑存储结构之间的关系
表空间
数据段
………
数据块
区间
(段片)
Oracle 10g 数据库管理、应用与开发
6
数据库逻辑和物理存储对应关系
逻辑
数据库
Oracle 10g 数据库管理、应用与开发
23
表空间本地管理方式的优势:
由于在区分配与回收过程中不需要对数据字典进行访问,提高了表空 间存储管理操作的速度和并发性。
能够避免表空间存储管理操作中的递归现象,提高了存储空间管理操 作性能。
能够在保留可查询性同时,将整个数据库设置为只读状态。这种数据 库可以作为备用数据库使用。
和定制(UNIFORM); 段的管理包括两种方式:自动管理(AUTO)和手动管理(MANUAL)。
Oracle 10g 数据库管理、应用与开发
26
创建永久表空间
创建永久表空间使用CREATE TABLESPACE语句来实现, 该语句包含以下几个子句:
DATAFILE:设定表空间对应的数据文件。 EXTENT MANAGEMENT:指定表空间的管理方式,取值为
4
逻辑存储结构概述
概念
逻辑存储结构是从逻辑的角度来分析数据库的构成的,是数据库创建 后利用逻辑概念来描述Oracle数据库内部数据的组织和管理形式。
在操作系统中,没有数据库逻辑存储结构信息,而只有物理存储结构 信息。数据库的逻辑存储结构概念存储在数据库的数据字典中,可以 通过数据字典查询逻辑存储结构信息。
保存用户数据。
Oracle 10g 数据库管理、应用与开发
21
大文件表空间与小文件表空间
所谓大文件表空间(Bigfile Tablespace)是指一个表空间只包含一个大数 据文件,该文件的最大尺寸为128 TB(数据块大小为32 KB)或只32 TB(数 据块大小为8 KB)。
与大文件表空间相对应,系统默认创建的表空间称为小文件表空间 (Smallfile Tablespace),如SYSTEM表空间、SYSAUX表空间等。小文件表 空间可以包含多达1024个数据文件。小文件表空间的总容量与大文件表空 间的容量基本相似。
Oracle 10g 数据库管理、应用与开发
19
3.表空间的分类
系统表空间——包括SYSTEM和SYSAUX SYSTEM 表空间,主要存储:
数据库的数据字典; PL/SQL程序的源代码和解释代码,包括存储过程、函数、包、触发
器等; 数据库对象的定义,如表、视图、序列、同义词等。
SYSAUX表空间
11
表空间和数据文件的关系
• 创建表空间时必须创建数据文件,增加数据文件 时必须指定表空间。
• 可以从DBA_DATA_FILES数据字典获得表空间和数 据文件的相关信息
Oracle 10g 数据库管理、应用与开发
12
• 在SYSTEM模式下,从DBA_DATA_FILES数据字典中 获得。
• Col tablespace_name for a10; • Col file_name for a50; • Col bytes for 999,999,999; • Select tablespace_name,file_name,bytes from
Oracle 10g 数据库管理、应用与开发
3
Oracle的物理存储结构
Oracle的物理存储结构
物理存储结构是指从物理角度分析数据库的构成, 即Oracle数据库创建后所使用的操作系统文件。
Oracle 数据库
参数文件 口令文件
数据 文件
控制 文件
重做
日志 文件
归档 日志文件
Oracle 10g 数据库管理、应用与开发
SQL> CREATE TABLESPACE ORCLTBS1 DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_1.DBF' SIZE 50M;
16
• 查询users表空间内存放的数据对象及其类型和拥 有者
• Col owner for a10; • Col segment_type for a20; • Col segment_name for a30; • Select segment_type,segment_name,owner from
Oracle 10g 数据库管理、应用与开发
18
• 查询sysaux表空间所存放的用户及其所拥有的对 象数量
• Select owner,count(segment_name) from dba_segments where tablespace_name='SYSAUX' group by owner;
2
Oracle的存储结构
在Oracle数据库的存储结构包括物理存储结构和 逻辑存储结构。
物理存储结构:主要用于描述Oracle数据库外部数据的 存储,即在操作系统中如何组织和管理数据,与具体的操 作系统有关;
逻辑存储结构:主要描述Oracle数据库内部数据的组织 和管理方式,与操作系统没有关系。
物理存储结构是逻辑存储结构在物理上的、可见的、可操 作的、具体的体现形式。
dba_segments where tablespace_name='USERS';
Oracle 10g 数据库管理、应用与开发
17
SYSAUX表空间
• SYSTEM表空间用于存放oracle系统内部的数据字 典,sysaux表空间充当其辅助表空间,存放处数 据字典外其他数据对象,一定程度上降低system 表空间的负荷。
初始化参数UNDO_MANAGEMENT=AUTO时,系统使用撤销表空间自动进行回 滚信息管理。
临时表空间
专门进行临时数据管理的表空间。
在数据库实例运行过程中,执行排序等SQL语句时会产生大量的临时数据, 这些临时数据将保存在数据库临时表空间中。
建议为数据库单独定义默认的临时表空间。
用户表空间
LOCAL(默认)或DICTIONARY。 AUTOALLOCATE(默认)或UNIFORM:设定区的分配方式。 SEGMENT SPACE MANAGEMENT:设定段的管理方式,其取值为
MANUAL或AUTO (默认) 。
Oracle 10g 数据库管理、应用与开发
27
例1:为ORCL数据库创建一个永久性的表空间ORCLTBS1, 区 自动扩展,段采用自动管理方式。
Oracle 10g 数据库管理、应用与开发
25
5.创建表空间
在创建本地管理方式下的表空间时,应该确定表空间的名 称、类型、对应的数据文件的名称和位置以及区的分配方式、 段的管理方式。
表空间名称不能超过30个字符,必须以字母开头,可以包含字母、数 字以及一些特殊字符(如#、_、$)等;
表空间的类型包括普通表空间、临时表空间和撤销表空间; 表空间中区的分配方式包括两种方式:自动扩展(AUTOALLOCATE)
Oracle10g管理、应用与开发
第10章 管理表空间和数据文件
软件学院
大型数据库技术
南阳理工学院软件学院.数据库技术教研室
2012年9月
本章要点
理解表空间和数据文件的关系 掌握如何创建表空间 掌握如何维护表空间和数据文件 了解如何管理撤销表空间 掌握如何管理临时表空间
Oracle 10g 数据库管理、应用与开发
Oracle 10g 数据源自文库管理、应用与开发
22
4.表空间的管理方式
字典管理方式
表空间使用数据字典来管理存储空间的分配,当进行区的分配与回收 时,Oracle将对数据字典中的相关基础表进行更新,同时会产生回滚 信息和重做信息。字典管理方式将渐渐被淘汰。
本地管理方式
在本地管理方式中,区的分配和管理信息都存储在表空间的数据文件 中,而与数据字典无关。表空间在每个数据文件中维护一个“位图” 结构,用于记录表空间中所有区的分配情况,因此区在分配与回收时 ,Oracle将对数据文件中的位图进行更新,不会产生回滚信息或重做 信息。
Oracle 10g 数据库管理、应用与开发
14
默认表空间
• Example 如果安装时选择实例方案,则此表空间 存放各样例的数据
• Sysaux system表空间的辅助空间 • System 存储数据字典、包括表、视图、存储过程
的定义等 • Temp 存放sql语句处理的表和索引的信息 • Undotbs1 存放撤销数据的表空间 • Users 存放应用系统所使用的数据库对象
物理
Schema (模式)
表空间 段
数据文件
扩展区
Oracle 数据块
Oracle 10g 数据库管理、应用与开发
OS 数据块
7
1. 表空间
表空间概述 表空间的管理
Oracle 10g 数据库管理、应用与开发
8
(1)表空间概念
Oracle数据库在逻辑上可以划分为一系列的逻辑空间,每一个逻辑空间 就可以称为一个表空间。
若表空间只有一个数据文件,则该表空间中所有对象都保存在该文件中; 若表空间对应多个数据文件,则表空间中的对象可以分布于不同的数据 文件中。
Oracle 10g 数据库管理、应用与开发
9
数据库、表空间、数据文件、数据库对象之间的关系:
表空间 1
数据库
表空间 2
数据文件 1
数据文件 2
数据文件 3
数据文件 4
一个数据库由有一个或多个表空间构成,不同表空间用于存放不同应用 的数据,表空间大小决定了数据库的大小。
一个表空间对应一个或多个数据文件,数据文件大小决定了表空间的大 小。一个数据文件只能从属于一个表空间。
表空间是存储模式对象的容器,一个数据库对象只能存储在一个表空间 中(分区表和分区索引除外),但可以存储在该表空间所对应的一个或多个 数据文件中。
数据库对象 1 数据库对象 3
数据库对象 2
数据库对象 4
数据库对象 5 数据库对象 6
Oracle 10g 数据库管理、应用与开发
10
通过表空间,可以实现对数据库存储的管理:
控制整个数据库占用空间的大小; 控制数据库在磁盘上的分配,提高数据库的I/O性能; 控制用户所占用的存储空间的大小。
Oracle 10g 数据库管理、应用与开发
简化了表空间的存储管理,由Oracle自动完成存储管理操作。
降低了用户对数据字典的依赖性。
不存在磁盘碎片问题,因为必要的信息都存储在数据文件的位图中, 而不是保存在数据字典中。
Oracle 10g 数据库管理、应用与开发
24
表空间管理策略
将数据字典与用户数据分离,避免由于数据字典对象和用户对象保存在 一个数据文件中而产生I/O冲突。 将回滚数据与用户数据分离,避免由于硬盘损坏而导致永久性的数据丢 失。 将表空间的数据文件分散保存到不同的硬盘上,平均分布物理I/O操作。 为不同的应用创建独立的表空间,避免多个应用之间的相互干扰。 能够将表空间设置为脱机状态或联机状态,以便对数据库的一部分进行 备份或恢复。 能够将表空间设置为只读状态,从而将数据库的一部分设置为只读状态。 能够为某种特殊用途专门设置一个表空间,如临时表空间,优化表空间 的使用效率。 能够更加灵活地为用户设置表空间配额。
dba_data_files order by tablespace_name;
Oracle 10g 数据库管理、应用与开发
13
2.Oracle 11g 默认表空间
• 默认表空间时指创建oracle数据库时,系统自动 创建的表空间。这些表空间用于存储oracle系统 内部数据和提供样例所需的逻辑空间。