Oracle数据库自带表空间的详细说明

需求:

需要整理现场用户创建的表空间以及其存储数据,进行规范化管理。在整理用户现场建立的表空间时,需要排除掉非用户创建的表空间,所有首先需要那些表空间是用户创建的,那些是oracle自带的。

本机测试建立一个新库,发现自带表空间如下:

下面对每一个表空间进行简单说明(部分内容引自网络):

1、sysaux表空间

      sysaux表空间在oracle database 10g中引入,作为system表空间的辅助表空间.以前一些使用独立表空间或系统表空间的数据库组件现在在sysaux表空间中创建.sysaux 表空间存放一些其他的 metadata 组件,如 oem,streams 等会默认存放在 sysaux 表空间里。通过分离这些组件和功能,system表空间的负荷得以减轻.反复创建一些相关对象及组件引起system表空间的碎片问题得以避免。

2、system表空间

      system表空间是oracle创建数据库时候自动创建的,每个oracle数据库都会有system表空间,而且system表空间总是要保持在联机模式下,因为其包含了数据库运行所要求的基本信息,如:数据字典、联机求助机制、所有回退段、临时段和自举段、所有的用户数据库实体、其它oracle软件产品要求的表等等。

3、temp表空间

      临时表空间用来管理数据库排序操作以及用于存储临时表、中间排序结果等临时对象,当oracle里需要用到sort的时候,并且当pga中sort_area_size大小不够时,将会把数据放入临时表空间里进行排序。像数据库中一些操作: create index、 analyze、select distinct、order by、group by、 union all、 intersect、minus、sort-merge joins、hash join等都可能会用到临时表空间。当操作完成后,系统会自动清理临时表空间中的临时对象,自动释放临时段。这里的释放只是标记为空闲、可以重用,其实实质占用的磁盘空间并没有真正释放。这也是临时表空间有时会不断增大的原因。临时表空间存储大规模排序操作(小规模排序操作会直接在ram里完成,大规模排序才需要磁盘排序disk sort)和散列操作的中间结果.它跟永久表空间不同的地方在于它由临时数据文件(temporary files)组成的,而不是永久数据文件(datafiles)。临时表空间不会存储永久类型的对象,所以它不会也不需要备份。另外,对临时数据文件的操作不产生redo日志,不过会生成undo日志。

4、undo表空间

      undo表空间是oracle特有的概念。undo表空间中会自动分配undo段,这些undo段用来保存事务中的dml语句的undo信息,也就是来保存数据在被修改之前的值。在rollback,实例恢复(前滚),一致性读cr块的构造时会使用到undo信息。由于undo的引入,从而oracle的select语句实现一致性读时,不需要任何锁。undo表空间和其它表空间有很多类似的地方:undo数据块也会被读到buffer cache缓存起来,修改时也会产生redo log,数据也会写回到undo表空间的磁盘上。所以崩溃后,undo块的buffer cache也会恢复过来。

5、users表空间

创建用户必须为其指定表空间,如果没有显性指定默认表空间,则指定为users表空间,此用户所有信息都会放入到users表空间中。

总结

以上所述是www.887551.com给大家介绍的oracle数据库自带表空间的详细说明,希望对大家有所帮助

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐