频道栏目
首页 > 资讯 > Oracle > 正文

《Oracle编程艺术》学习笔记(9)-Oracle中的文件-数据文件

11-10-24        来源:[db:作者]  
收藏   我要投稿

 

 

在Oracle 中,可以用4 种文件系统机制存储数据。(一个数据库中可能包含下述所有类型文件)

·“Cooked”操作系统(OS)文件系统

这些文件存放在OS的文件系统中。可以使用OS工具来移动文件。Cooked 文件系统通常也会缓存,这说明在你读写磁盘时,OS会为你缓存信息。

·原始分区(raw partitions,也称裸分区)

这不是文件,而是原始磁盘。不能用OS工具查看其内容。它们就是磁盘上的一些大扇区,上面没有任何文件系统。对Oracle来说,整个原始分区就是一个大文件。这与cooked 文件系统不同,cooked 文件系统上可能有几十个甚至数百个数据库数据文件。目前,只有极少数Oracle安装使用原始分区,因为原始分区的管理开销很大。原始分区不是缓冲设备,所完成的所有I/O 都是直接I/O,对数据没有任何OS 缓冲(不过,对于数据库来说,这通常是一个优点)。

 

·自动存储管理文件系统(Automatic Storage Management,ASM)

这是Oracle 10g Release 1 的一个新特性(标准版和企业版都提供了这个特性)。ASM是专门为数据库设计的文件系统。可以简单地把它看作一个数据库文件系统。

 

·集群文件系统

这个文件系统专用于RAC(集群)环境,看上去有些像由集群环境中多个节点(计算机)共享的cooked 文件系统。Oracle 集群文件系统(Oracle Cluster File System,OCFS)是Oracle在这个领域推出的一个新的文件系统,目前只能在Windows和Linux上使用。其他第三方开发商也提供了一些经认证的集群文件系统,也可以用于Oracle。集群文件系统让cooked 文件系统的优点延伸到了集群环境中。

 

Oracle的存储体系总结如下:

(1) 数据库由一个或多个表空间(Tablespace)组成。

 

(2) 表空间由一个或多个数据文件组成。这些文件可以是文件系统中的cooked 文件、原始分区、ASM管理的数据库文件,或集群文件系统上的文件。表空间包含段(Segment)。

 

(3) 段(TABLE、INDEX 等)由一个或多个区段(Extent)组成。段在表空间中,但是可以包含这个表空间中多个数据文件中的数据。

 

(4) 区段是磁盘上一组逻辑连续的块(Block)。区段只在一个表空间中,而且总是在该表空间内的一个文件中。

 

(5) 块是数据库中最小的分配单位,也是数据库使用的最小I/O单位。

通常Oracle从磁盘读写的就是块。

一个数据库中允许有多种块大小,目的是为了可以在更多的情况下使用可传输的表空间。如果能传输表空间,DBA就能从一个数据库移动或复制格式化的数据文件,把它放在另一个数据库中。

数据库还有一个默认的块大小,即执行CREATE DATABASE命令时初始化文件中指定的大小。SYSTEM表空间总是使用这个默认块大小。

可以按非默认块大小创建其他表空间。在所有给定的表空间内部,块大小都是一致的。

 

摘自:NowOrNever

 

相关TAG标签
上一篇:TableSpace介绍
下一篇:《Oracle编程艺术》学习笔记(8)-Oracle中的文件-警告日志文件
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站