Oracle Database 11g体系结构 系列二

存储数据

所有这些逻辑结构都必须存储在数据库中的某个地方。

Oracle维护一个数据字典,这个字典中记录了与所有对象(对象所有者,定义,相关的权限等)有关的元数据。

对于需要自己的物理空间来存储的对象,Oracle会在一个表空间(tablespace)中为其分配空间。

表空间

表空间由一个或多个数据文件组成;

数据文件是表空间的一部分,而且也只能是一个表空间的一部分。

Oracle 11g至少为每个数据库创建两个表空间:

  1. SYSTEM
  2. SYSAUX

以支持其内部管理的需要。可以使用Oracle托管文件(Oracle managed file, OMF)。

可以创建一种特殊的表空间,称为bigfile表空间,其大小可以达几千个TB。

借助OMF,对bigfile的管理使得对表空间的管理对DBA完全透明。DBA可以把表空间作为一个整体来管理,而不担心空间的大小和底层数据文件的各种结构。

如果一个表空间被指定为临时表空间,则这个表空间本身是永久的,但是保存在它里面的数据段是临时的。

Oracle使用临时表空间来支持诸如创建索引和连接处理这样的排序操作。

临时数据段和永久对象不应该存储在相同的表空间中。

表空间可以按字典的方式管理,也可以按本机的方式进行管理。

  • 按字典方式进行管理的表空间中,空间的管理记录在数据字典中
  • 按本机方式(默认方式)进行管理的表空间中,Oracle在表空间的每个数据文件中都维护了一个位图。这个位图用于跟踪可用空间的大小。只有存储限额(quota)是在数据字典中进行维护的,极大地减少了对于数据字典的争用。

自动存储管理

自动存储管理(automatic storage management, ASM)功能将自动完成对数据库所使用的数据文件和其他操作系统级别文件的分布规划。

把这些文件分配到所有可用的磁盘空间中。

当ASM时中添加了心的磁盘时,Oracle会自动在定义好的磁盘阵列的所有磁盘上重新分配数据文件,以获得更优的性能。

ASM实例的多路复用功能使得数据丢失的可能性降到最低,而且比手工管理关键性文件并把备份保存到不同的物理磁盘上要高效得多。

自动撤销管理

为了支持事务,Oracle能够动态地创建和管理撤销数据段(undo segment),这个数据段有助于维护数据块和数据行在修改前的镜像。

自动撤销管理(automatic undo management,AUM)使得Oracle可以直接管理撤销数据段,而无需数据管理员进行干预。

另外AUM还简化了闪回查询的使用。可以执行闪回查询来查看在一定时间间隔内对数据所进行的各种修改。

删除的数据

Oracle Database 10g中新增了回收站(recycle bin)概念使得表空间和数据文件对空间的需求发生了改变。

删除一个表的默认动作是保留为它分配的空间;可以通过RECYCLEBIN数据字典视图查看它的空间使用情况。

如果两次创建一个表并把它删除,那么回收站将会出现这个表的两个副本。

虽然,这个体系大大简化了恢复偶然删除的数据表的恢复,但是同时也显著地增加了数据库所使用的空间。

使用purge命令可以删除回收站中原来的内容。

猜你喜欢

转载自pengwei-daily.iteye.com/blog/1387882