打印本文 打印本文 关闭窗口 关闭窗口
2Gb or Not 2Gb - File limits in Oracle (Part I)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2269  更新时间:2009/4/22 22:07:57  文章录入:mintao  责任编辑:mintao
le8支持每个表空间中包含最多1022个数据文件)。

l         在现实情况中Oracle7的最大数据库尺寸会比2044Gb小,因为一般数据文件都存放在单独的表空间中,而很多数据文件就可能远远小于2Gb。使用大文件可以让数据库超越2044Gb的这个限制。

l         使用大文件意味着对于较小的数据库只需要管理较少的文件。

l         需要较少的文件处理资源。

 

使用大于2Gb文件的缺点:

l         恢复的单位更大了。一个2Gb文件的备份和还原,根据备份媒体和磁盘速度的差异,会耗费15分钟到1个小时的时间,那么一个8Gb的文件就要花4倍这样的时间。

l         备份和恢复的并行操作新能将会收到影响。

l         会碰到一些平台特有的限制,比如说在超过2Gb以上异步I/O的操作就可能会变成线性操作。

l         处理2Gb以上的文件可能会需要补丁或者一些特殊的配置。相对于小文件来说也会有更大的风险性。比如在一些AIX的发行版上,超过2Gb,异步I/O就会使用线性操作。

 

使用大于2Gb文件的要点:

l         跟操作系统提供商确认,大文件是否被支持,同时要如何去配置。

l         跟操作系统提供商确认,真正的最大文件限制是多少?

l         询问Oracle技术支持,确定对于你现有的平台,操作系统版本,Oracle版本,是否需要什么补丁或者还有什么限制?

l         记住,如果你真的考虑对于操作系统或者Oracle要打一些补丁的话,那么就再检查一遍上面提到的这些问题。

l         确认对于所有要使用大文件读取的用户来说,操作系统的限制已经正确设定。

l         确认所有的备份脚本都能够处理大文件。

l         注意,对于使用超过2Gb的数据文件,对于最大文件大小还有一个限制。这个限制依赖于你的系统平台以及Oracle初始化参数DB_BLOCK_SIZE。在大多数平台上(包括Unix, NT, VMS)文件大小的限制在4194302*DB_BLOCK_SIZE这么大。

 

[NOTE:112011.1]文档描述了改变文件大小中存在的问题,特别是超过了2Gb的时候。

 

一般需要注意的要点:

需要小心设置文件的自动扩展。明智的作法是在不使用“大文件”的场合下,将自动扩展的数据文件最大尺寸限制在2Gb以下。另外注意由于[BUG:568232]将有可能定义一个超过Oracle处理极限的MAXSIZE数值,这在resize之后将会引发一个内部错误(错误显示为ORA-600 [3292])

 

在很多平台上,Oracle数据文件的头部都包含着附加的数据块,所以创建一个2Gb的数据文件实际上需要比2Gb更多的磁盘空间。在UNIX平台上数据文件头部的附加数据块大小通常等于DB_BLOCK_SIZE的大小,但是在裸设备上可能需要占用更多一些的空间。

 

2Gb相关的Oracle错误

当2Gb限制到达的时候可能会发生下面这些错误,这些错误的产生没有特定的顺序。

ORA-01119 Error in creating datafile xxxx 

ORA-27044 unable to write header block of file 

SVR4 Error: 22: Invalid argument

ORA-19502 write error on file ''''filename'''', blockno x (blocksize=nn)

ORA-27070 skgfdisp: async read/write failed

ORA-02237 invalid file size 

KCF:write/open error dba=xxxxxx block=xxxx online=xxxx file=xxxxxxxx file limit exceed. 

Unix error 27, EFBIG

 

 

 

上一页  [1] [2] 

打印本文 打印本文 关闭窗口 关闭窗口