1.表空间定义
一个数据库由一 个或多个表空间组成,一个表空间可以指定多个数据文件,多个文件可以在不同的物理存储上。创建表空间的同时必须创建数据文件。
●Oracle中最大的逻辑存储结构
●与OS中数据文件相对应( DBF )
select * from DBA_TABLESPACES;
select * from DBA_USERS;
1.1TableSpace和Data Files的关系
逻辑上oracle数据存储在表空间中;
物理上oracle数据存储在数据文件中。
●表空间: .
仅属于一个数据库
存在一个或多个数据文件
进一步可划分为多个存储单元
●数据文件:
仅属于一个表空间和一个数据库
是一个数据库对象数据的存储器
1.2默认表空间
■SYSTEM :存储sys用户的表、视图、存储过程等对象;
■SYSAUX :作为示例数据库辅助表空间;
■TEMP :用于存储sq|语句处理的表和索引信息;
■UNDOTBS1 :存储撤销信息;
■USERS :存储用户创建的数据库对象;
■EXAMPLE: ORACLE示例数据库。
1.3表空间分类
系统表空间、临时表空间、大文件表空间、非标准数据表空间、撤销表空间
2.表空间使用
2.1创建表空间
create [temporary|undo] TABLESPACE tablespace_name
[
DATAFILE|TEMPFILE 'file_name' SIZE K|M[REUSE]
[ AUTOEXTEND OFF|ON
NEXT number K|M MAXSIZE UNLIMITED | number K|M]
] [,……]
]
例:
2.2表空间属性
2.3重命名表空间
ALTER TABLESPACE tablespace_name RENAME TO new_tablespace_name;
2.4删除表空间
3.临时表空间
临时表空间主要用于存储用户在执行ORDER BY等语句进行排序或汇总时产生的临时数据,为所有用户公用的。
3.1创建临时表空间
CREATE TEMPORARY TABLESPACE mytemp
TEMPFILE 'F:\loraclefile'\mytemp.dbf'
SIZE 10M
AUTOEXTEND ON NEXT 2M MAXSIZE 20M;
4.大文件表空间
4.1创建大文件表空间
●大文件表空间主要用于解决存储文件大小不够的问题,只有正常表
空间不够用才创建。
●创建大文件表空间需要使用BIGFILE关键字,而且只能为其指定
-个数据文件或临时文件。
CREATE BIGFILE TABLESPACE mybigspace
DATAFILE 'C:\test mybigspace.dbf'
5.设置默认表空间
ALTER DATABASE DEFAULT [TEMPORARY ] TABLESPACE tablespace_ name;
6.撤销表空间
show parameter undo_tablespace;
select to_char(begin_time,'hh24:mi:ss'),
to_char(end_time,'hh24:mi:ss'),
undoblks
from V$undostat
order by begin_time;
7.与表空间和数据文件相关的数据字典
dba_data_files 记录数据库实例中所有数据文件及表空间的信息
v$data_file 记录数据库实例中数据文件被使用情况的统计信息
文章内容整理来源:天津科技大学人工智能学院软件工程系王怡老师《数据库应用与开发》课程PPT