专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 浅谈Oracle表空间

浅谈Oracle表空间

更新时间:2021-03-05 17:33:40 来源:动力节点 浏览928次

我们之前已经介绍了很多的数据库,基本上每个数据库都有其自身的表空间,Oracle数据库也不例外。Oracle数据库的数据存放在表空间中,表空间是一个逻辑的概念,它是由数据文件组成,表空间大小由数据文件的数量和大小决定。Oracle表空间除了能够存放一些数据库的数据,同时一些特殊的表空间也有其独特的功能。

表空间有三种:Permanent Tablespaces(永久表空间)、Temporary Tablespaces(临时表空间)、Undo Tablespaces(回滚表空间),Oracle在创建数据库实例的时候,默认会创建三个永久表空间(SYSTEM、SYSAUX、USERS),一个临时表空间(TEMP),一个回滚表空间(UNDOTBS1)。

1、SYSTEM表空间

SYSTEM表空间主要用于存放Oracle数据库内部的数据字典,它是Oracle数据库最重要的表空间,在创建数据库实例时被最先创建,包含了数据库的元数据,对于数据库来说生死攸关。

2、SYSAUX表空间

SYSAUX表空间是SYSTEM表空间的辅助表空间,主要用于存储数据字典以外的其他数据对象,它在一定程度上降低了SYSTEM表空间的负荷。

3、UNDOTBS1表空间

UNDO是回滚表空间,主要有四方面的用途,分别是:事物回滚、数据库恢复、读一致性、闪回查询。

1)事物回滚:当事物执行失败或用户执行回滚操作(rollback)时,Oracle会利用保存在回退段中的信息将数据恢复到原来的值。

2)数据库恢复:当数据库实例出现了意外,在重启恢复时,Oracle先利用重做日志文件的信息对数据库进行恢复,再利用回滚段中的信息回滚未提交的事务。

3)读一致性:当一个用户对数据进行修改时,会预先将其原始值保存到回退段中,这时,如果有其它用户访问该数据,则访问回退段中的信息,使当前用户未提交的修改其他用户无法看到,保证了数据的一致性。

4)闪回查询:通过保留在回退段中的信息,用户可以查询某个数据在过去某个时刻的状态。

4、TEMP表空间

临时表空间用来管理数据库排序以及用于存储临时表和索引、中间结果等临时对象。当Oracle的内存不够时,会把数据放在临时表空间中,当操作完成后,系统会自动清理临时表空间中的临时对象,自动释放空间。这里的释放只是标记为空闲、可以重用,占用的磁盘空间并没有真正释放。这也是临时表空间有时会不断增大却不见减少的原因。

5、USERS表空间

USERS表空间用于存放普通用户的表和索引,一般情况下,它是用户的缺省表空间。

6、查看表空间

用DBA登录数据库,执行以下SQL可以查看数据库全部的表空间。

select * from v$tablespace;

企业级的Oracle数据系统的存储一般是采用ASM(自动存储管理),ASM是Oracle 10g R2中为了简化Oracle数据库的管理而推出来的一项新功能,这是Oracle自己提供的卷管理器,替代了操作系统所提供的LVM,它不仅支持单实例,同时对RAC的支持也是非常好。与此同时,ASM也能够对Oracle表空间起到一部分的管理作用,本站的Oracle教程中,对Oracle表空间的管理有进一步的介绍,帮助我们更全面的认识Oracle数据库。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>