更新时间:2021-03-05 17:33:40 来源:极悦 浏览1025次
我们之前已经介绍了很多的数据库,基本上每个数据库都有其自身的表空间,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数据库。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习