表空间
oracle文件注意的问题
控制文件,redolog文件,数据文件----一定要放在存储上
问题:银行用户,集群切换失败,原因是数据库中部分的文件未放到存储上
存储三种组织形式:文件系统、ASM、裸设备
oracle有表以及实实在在的文件dbf
一个表空间由一个或多个文件组成。
表空间的空间大小就是多个文件大小的总和
为了使用的方便,在表与文件之间建立的中间层
oracle中存在的表空间
select * from dba_tablespaces;//查看所有表空间
表空间放的是表,表里有数据
1.SYSTEM 系统表空间,这里面放了一下系统自身的信息,系统信息放在数据字典,数据字典是表,表放在表空间
2.SYSAUX 系统辅助表空间,也是系统信息
注意:这两个表空间必须同时存在,否则数据库启动不了
3.UNDOTBS1 系统表空间,存放的是数据块改变之前的数据
4.TEMP 临时表空间,存放的是数据库的临时数据,Oracle在排序的时候,PGA空间不够,会用到TEMP空间,这个表丢失可以重建
系统级别的表空间:SYSTEM SYSAUX UNDOTBS1 TEMP
5.USERS 用于存放用户数据的表空间
6.EXAMPLE 存放的是一些样例表空间
这两个表空间一般不用,如有需要是可以另外创建的
在实际生产中,会根据需求自行创建user空间
表空间的状态:
1.PERMANENT 里面的数据不会丢失 SYSTEM SYSAUX
2.UNDO 放的是UNDO数据
3.TEMPORARY 可以丢失
select * from dba_data_files;
oracle数据库通过划分多个不同的表空间,进而对数据进行管理
一个表空间中包括一个或者多个数据文件
一个数据文件仅属于一个表空间
段区块
段:一个表是一个段
段存在于表空间中
如果表分区了,那么每个分区是一段
索引也是一个段
临时段
undo段
log段
二进制大分区段
段是由区的集合构成
区是数据块的集合,物理上连续的一个或者多个块
数据块将映射到磁盘块中
Oracle每次是以一个区为单位给段分配空间
逻辑和物理数据库结构
一个数据库由多个表空间组成
一个表空间由一个或者多个数据文件/段组成
一个段由一个或者多个区组成
一个区由一个或者多个数据块组成
一个数据块可以由一个或者多个系统(OS)块组成
------------------------------------------------------------------------
一个表空间仅属于一个数据库
一个段仅属于一个表空间
一个区仅属于一个段
一个数据块仅属于一个区
查看用户 select * from dba_users;
每个用户下都有一堆段
可以理解为oracle通过用户将所有的段组织起来
查看所有的段的情况 select * from dba_segments;
oracle数据块默认8k
Oracle段:表段、表分区段、索引段、索引分区段、临时段、撤销段、二进制大对象段