
4个回答
展开全部
数据文件和重做日志文件是数据库中最重要的文件。
您的数据最终就是要存储在数据文件中。每个数据库都至少有一个相关的数据文件,通常还不止一个。最简单的“测试”数据库只有一个数据文件。其中用最简单的CREATE DATABASE命令根据默认设置创建了一个数据库,这个数据库中有两个数据文件,其中一个对应SYSTEM表空间(真正的Oracle数据字典),另一个对应SYSAUX表空间(在10g及以上版本中,非字典对象都存储在这个表空间中)。不过,所有实际的数据库都至少有3个数据文件;一个存储SYSTEM数据,一个存储SYSAUX数据,还有一个存储USER数据。
简要回顾文件系统类型之后,我们将讨论如何组织这些文件,以及文件中如何组织数据。要了解这些内容,需要知道什么是表空间(tablespace)、什么是段(segment)、什么是区段(extent),以及什么是块(block)。这些都是Oracle在数据库中存储对象所用的分配单位,稍后将详细介绍。
简要回顾文件系统机制
在Oracle中,可以用4种文件系统机制存储您的数据。这里强调了“您的数据”,是指您的数据字典、redo记录、undo记录、表、索引、LOB等,也就是您自己每天关心的数据。简单地讲,这包括:
a)“Cooked”操作系统(OS)文件系统:这些文件就像字处理文档一样放在文件系统中。在Windows 资源管理器中可以看到这些文件,在UNIX上,可以通过ls命令看到这些文件。可以使用简单的OS工具(如Windows上的xcopy或UNIX上的cp)来移动文件。从历史上看,Cooked OS文件一直是Oracle中存储数据的“最流行”的方法,不过我个人认为,随着ASM(稍后再详细说明)的引入,这种情况会有所改观。Cooked文件系统(“加工”文件系统或“熟”文件系统)通常也会缓存,这说明在您读写磁盘时,OS会为您缓存信息。
b)原始分区(raw partitions,也称裸分区):这不是文件,而是原始磁盘。不能用ls来查看;不能在Windows资源管理器中查看其内容。它们就是磁盘上的一些大扇区,上面没有任何文件系统。对Oracle来说,整个原始分区就是一个大文件。这与cooked文件系统不同,cooked文件系统上可能有几十个甚至数百个数据库数据文件。目前,只有极少数Oracle安装使用原始分区,因为原始分区的管理开销很大。原始分区不是缓冲设备,所完成的所有I/O都是直接I/O,对数据没有任何OS缓冲(不过,对于数据库来说,这通常是一个优点)。
c)自动存储管理(Automatic Storage Management,ASM):这是 Oracle 10g Release 1 的一个新特性(标准版和企业版都提供了这个特性)。ASM是专门为数据库设计的文件系统。可以简单地把它看作一个数据库文件系统。在这个文件系统上,不是把购物清单存储在文本文件中;这里只能存储与数据库相关的信息:您的表、索引、备份、控制文件、参数文件、重做日志、归档文件等。不过,即使是ASM,也同样存在着相应的数据文件;从概念上讲,数据库仍存储在文件中,不过现在的文件系统是ASM。ASM设计成可以在单机环境或者集群环境中工作。
d)集群文件系统:这个文件系统专用于RAC(集群)环境,看上去有些像由集群环境中多个节点(计算机)共享的cooked文件系统。传统的cooked文件系统只能由集群环境中的一台计算机使用。所以,尽管可以在集群中的多个节点之间使用NFS装载或Samba共享一个cooked文件系统(Samba与NFS类似,可以在Windows/UNIX环境之间共享磁盘),但这会导致一损俱损。如果安装有文件系统并提供共享的节点失败,这个文件系统都将不可用。Oracle集群文件系统(Oracle Cluster File System,OCFS)是Oracle在这个领域推出的一个新的文件系统,目前只能在Windows和Linux上使用。其他第三方开发商也提供了一些经认证的集群文件系统,也可以用于Oracle。集群文件系统让cooked文件系统的优点延伸到了集群环境中。
您的数据最终就是要存储在数据文件中。每个数据库都至少有一个相关的数据文件,通常还不止一个。最简单的“测试”数据库只有一个数据文件。其中用最简单的CREATE DATABASE命令根据默认设置创建了一个数据库,这个数据库中有两个数据文件,其中一个对应SYSTEM表空间(真正的Oracle数据字典),另一个对应SYSAUX表空间(在10g及以上版本中,非字典对象都存储在这个表空间中)。不过,所有实际的数据库都至少有3个数据文件;一个存储SYSTEM数据,一个存储SYSAUX数据,还有一个存储USER数据。
简要回顾文件系统类型之后,我们将讨论如何组织这些文件,以及文件中如何组织数据。要了解这些内容,需要知道什么是表空间(tablespace)、什么是段(segment)、什么是区段(extent),以及什么是块(block)。这些都是Oracle在数据库中存储对象所用的分配单位,稍后将详细介绍。
简要回顾文件系统机制
在Oracle中,可以用4种文件系统机制存储您的数据。这里强调了“您的数据”,是指您的数据字典、redo记录、undo记录、表、索引、LOB等,也就是您自己每天关心的数据。简单地讲,这包括:
a)“Cooked”操作系统(OS)文件系统:这些文件就像字处理文档一样放在文件系统中。在Windows 资源管理器中可以看到这些文件,在UNIX上,可以通过ls命令看到这些文件。可以使用简单的OS工具(如Windows上的xcopy或UNIX上的cp)来移动文件。从历史上看,Cooked OS文件一直是Oracle中存储数据的“最流行”的方法,不过我个人认为,随着ASM(稍后再详细说明)的引入,这种情况会有所改观。Cooked文件系统(“加工”文件系统或“熟”文件系统)通常也会缓存,这说明在您读写磁盘时,OS会为您缓存信息。
b)原始分区(raw partitions,也称裸分区):这不是文件,而是原始磁盘。不能用ls来查看;不能在Windows资源管理器中查看其内容。它们就是磁盘上的一些大扇区,上面没有任何文件系统。对Oracle来说,整个原始分区就是一个大文件。这与cooked文件系统不同,cooked文件系统上可能有几十个甚至数百个数据库数据文件。目前,只有极少数Oracle安装使用原始分区,因为原始分区的管理开销很大。原始分区不是缓冲设备,所完成的所有I/O都是直接I/O,对数据没有任何OS缓冲(不过,对于数据库来说,这通常是一个优点)。
c)自动存储管理(Automatic Storage Management,ASM):这是 Oracle 10g Release 1 的一个新特性(标准版和企业版都提供了这个特性)。ASM是专门为数据库设计的文件系统。可以简单地把它看作一个数据库文件系统。在这个文件系统上,不是把购物清单存储在文本文件中;这里只能存储与数据库相关的信息:您的表、索引、备份、控制文件、参数文件、重做日志、归档文件等。不过,即使是ASM,也同样存在着相应的数据文件;从概念上讲,数据库仍存储在文件中,不过现在的文件系统是ASM。ASM设计成可以在单机环境或者集群环境中工作。
d)集群文件系统:这个文件系统专用于RAC(集群)环境,看上去有些像由集群环境中多个节点(计算机)共享的cooked文件系统。传统的cooked文件系统只能由集群环境中的一台计算机使用。所以,尽管可以在集群中的多个节点之间使用NFS装载或Samba共享一个cooked文件系统(Samba与NFS类似,可以在Windows/UNIX环境之间共享磁盘),但这会导致一损俱损。如果安装有文件系统并提供共享的节点失败,这个文件系统都将不可用。Oracle集群文件系统(Oracle Cluster File System,OCFS)是Oracle在这个领域推出的一个新的文件系统,目前只能在Windows和Linux上使用。其他第三方开发商也提供了一些经认证的集群文件系统,也可以用于Oracle。集群文件系统让cooked文件系统的优点延伸到了集群环境中。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
都没看懂你的什么意思?实最笨的方法,你可以导出来保存在你的电脑上
追问
逻辑的和物理的。。。 我问的是原理性的问题!不好意思 表述不清楚 ,现在明白了吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询