一.表空间的概念
ORACLE数据库被划分成称作为表空间[1] 的逻辑区域——形成ORACLE数据库的逻辑结构。一个ORACLE数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件。表空间是ORACLE数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。
每个ORACLE数据库均有SYSTEM表空间,这是数据库创建时自动创建的。SYSTEM表空间必须总要保持联机,因为其包含着数据库运行所要求的基本信息(关于整个数据库的数据字典、联机求助机制、所有回退段、临时段和自举段、所有的用户数据库实体、其它ORACLE软件产品要求的表)。
二.表空间的分类
永久表空间:存放永久性数据,如表,索引,存储过程;
临时表空间:由于Oracle工作时经常需要一些临时的磁盘空间,这些空间主要用作查询时带有排序(Group by,Order by等)等算法所用,当用完后就立即释放,对记录在磁盘区的信息不再使用,因此叫临时表空间。一般安装之后只有一个TEMP临时表空间。
UNDO表空间:在事务执行过程中,保存调整的镜像。uNDO表空间是用于存储DML操作的前镜像数据,它是实例恢复,数据回滚,一致性查询功能的重要组件
在某个事务启动时,Oracle会为其指派一个撤销段。任何一个事务都只能受一个撤销段保护,一个事务生成的撤销数据无法被分配到多个撤销段中。
在某个事务更新表和索引数据块时,回滚该变化所需的信息会被写入指定撤销表空间的数据块。撤销数据在提交后过期的事实意味着可以采用循环方式使用撤销段。如果使用原有的、人工管理的回滚段,那么调整的重要环节是控制具体事务分别受哪些回滚段保护
1.
查询当前的
undo
表空间的大小,及系统可用空间大小
1.
查询当前的
undo
表空间的大小,及系统可用空间大小
三.Oracle表空间作用
表空间的作用能帮助DBA用户完成以下工作:
1.决定数据库实体的空间分配;
2.设置数据库用户的空间份额;
3.控制数据库部分数据的可用性;
4.分布数据于不同的设备之间以改善性能;
5.备份和恢复数据。
查看表空间:
SQL> select * from v$tablespace;
TS#
NAME
INCLUDED_IN_DATABASE_BACKUP
BIGFILE
FLASHBACK_ON
ENCRYPT_IN_BACKUP
6 6 INTERFACE YES NO YES
7 7 ODRSTAGE YES NO YES
2 1 SYSAUX YES NO YES
1 0 SYSTEM YES NO YES
5 3 TEMP NO NO YES
3 2 UNDOTBS1 YES NO YES
4 4 USERS YES NO YES
查看详细数据文件:
SQL> select file_name,tablespace_name from dba_data_files;
FILE_NAME
TABLESPACE_NAME
1 /u02/oradata/odrq/users01.dbf USERS
2 /u02/oradata/odrq/undotbs01.dbf UNDOTBS1
3 /u02/oradata/odrq/sysaux01.dbf SYSAUX
4 /u02/oradata/odrq/system01.dbf SYSTEM
5 /u02/oradata/odrq/interface_01.dbf INTERFACE
6 /u02/oradata/odrq/odrstage_01.dbf ODRSTAGE
7 /u02/oradata/odrq/interface_02.dbf INTERFACE
1 /u02/oradata/odrq/users01.dbf USERS
2 /u02/oradata/odrq/undotbs01.dbf UNDOTBS1
3 /u02/oradata/odrq/sysaux01.dbf SYSAUX
4 /u02/oradata/odrq/system01.dbf SYSTEM
5 /u02/oradata/odrq/interface_01.dbf INTERFACE
6 /u02/oradata/odrq/odrstage_01.dbf ODRSTAGE
7 /u02/oradata/odrq/interface_02.dbf INTERFACE