oracle数据库:数据文件_笔记7
3.4数据文件
数据文件和重做日志文件是数据库中最重要的文件。数据最终就是要存储在数据文件中。
在Oracle中,可以用4种文件系统机制存储数据。
."Cooked"操作系统(OS)文件系统:从历史上看,Cooked OS文件一直是Oracle中存储数据的"最流行"的方法,随着ASM的引入,这种情况会有所改观。Cooked文件系统通常也会缓存,这说明在读写磁盘时,OS会为你缓存信息。
.原始分区(raw partitions,也称裸分区):不是文件,而是原始磁盘。它们就是磁盘上的一些大扇区,上面没有任何文件系统。对Oracle来说,整个原始分区就是一个大文件。这与cooked文件系统不同,cooked文件系统上可能有几十个甚至数百个数据库数据文件。目前,只有极少数Oracle安装使用原始分区,因为原始分区的管理开销很大。原始分区不是缓冲设备,完成的所有I/O都是直接I/O,对数据没有任何OS缓冲。
.自动存储管理(Automatic Storage Management,ASM)ASM是专门为数据库设计的文件系统。可以简单地把它看做一个数据库文件系统。在这个文件系统上,不是把购物清单存储在文本文件中。这里只能存储与数据库相关的信息:表、索引、备份、控制文件、参数文件、重做日志、归档文件等。不过,即使是ASM,也同样存在着相应的数据文件。从概念上讲,数据库仍存储在文件中,不过现在的文件系统是ASM。ASM设计成可以在单机环境或者集群环境中工作。
.集群文件系统:这个文件系统专用于RAC(集群)环境,看上去有些像由集群环境中多个节点共享的cooked文件系统。传统的cooked文件系统只能由集群环境中的一台计算机使用。所以,尽管可以在集群中的多个节点之间使用NFS装载或Samba共享一个cooked文件系统(Samba与NFS类似,可以在Windows/Unix环境之间共享磁盘),但这会导致一损俱损。如果安装有文件系统并提供共享的节点失败,这个文件系统都将不可用。Oracle集群文件系统(Oracle Cluster File System,OCFS)是Oracle在这个领域推出的一个新的文件系统,目前只能在Windows和Linux上使用。其他第三方开发商也提供了一些经认证的集群文件系统,这可以用于Oracle。集群文件系统让cooked文件系统的优点延伸到了集群环境中。
注意:对于11g Release(11.1.0.7),还有另一种文件系统Exadata。Exadata是面向Oracle的一个存储区网络,是特别为这个数据库而设计。
3.4.2 Oracle数据库中的存储层次体系
数据库由一个或多个表空间构成。表空间(tablespace)是Oracle中的一个逻辑存储容器,位于存储层次体系的顶层,包括一个或多个数据文件。这些文件可能是文件系统中的cooked文件、原始分区、ASM管理的数据库文件,或者是集群文件系统上的文件。
1、段
首先讨论段,这是表空间中主要的组织结构。段(segment)就是占用存储空间的数据库对象,如表、索引、回滚段等。创建表时,会创建一个表段。创建分区表时,则每个分区会创建一个段。创建索引时,就会创建一个索引段,依次类推。占用存储空间的每一个对象最后都会存储在一个段中,此外还有回滚段(rollback segment)、临时段(temporary segment)、聚簇段(cluster segment)、索引段(index segment)等。
注意:你会发现许多CREATE语句能创建多段的对象。之所以会产生困惑,原因是一条CREATE语句最后创建的对象可能包含0个、1个或多个段!例如,CREATE TABLE T(x int primary key,y clob)就会创建4个段:一个是TABLE T的段,还有一个段对应索引(这个索引是为支持主键而创建的),另外还有两个CLOB段(一个CLOB段是LOB索引,另一个段是LOB数据本身)。与之不同,CREATE TABLE T(x int,y date) cluster MY_CLUSTER则不会创建任何段
2、区段
段本身又由一个或多个区段组成。区段(extent)是文件中一个逻辑上连续分配的空间。传统的每个段都至少有一个区段,有些对象可能还需要至少两个区段(回滚段至少需要两个区段)。11g Release 2引入了“延迟”段的概念——不会立即分配区块的段,所以在这个版本及更高版本中,段将延迟分配初始区段,直到插入数据。如果一个对象超出了其初始区段,就会请求再为它分配另一个区段。第二个区段不一定就在磁盘上第一个区段旁边,甚至有可能不在第一个区段所在的文件中分配。第二个区段可能与第一个区段相距甚远,但是区段内的空间总是文件中的一个逻辑连续空间。区段的大小可能不同,可以是一个Oracle数据块,也可以大到2GB。
http://www.52ij.com/jishu/5151.htmloracle数据库:数据文件_笔记6
本文来源 我爱IT技术网 http://www.52ij.com/jishu/5152.html 转载请保留链接。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
