oracle及操作系统对于文件大小的限制

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

[ORACLE]:单个表空间的数据限制

当将表空间加到4GB的时候,系统提示表空间不足。

原因:

FAT12 单文件最大支持8M

Fat16单文件最大支持2G

Fat32单文件不能大于4G

NTFS单文件最大64GB

NTFS5.0单文件最大2TB

解决方案:

增加多个数据文件,对应同一个表空间。

因为:size of a tablespace = size of each datafile * number of datafiles

========================================

Oracle中数据文件大小的限制

/archives/2007/07/oracle_datafile_limit.html

Oracle数据文件的大小存在一个内部限制,这个限制是:

每个数据文件最多只能包含2^22-1个数据块。

这个限制也就直接导致了每个数据文件的最大允许大小。

在2K Block_size下,数据文件最大只能达到约8G

在32K的Block_size下,数据文件最大只能达到约16*8G的大小。

这个限制是由于Oracle的Rowid中使用22位来代表Block号,这22位最多只能代表2^22-1个数据块。

为了扩展数据文件的大小,Oracle10g中引入了大文件表空间,在大文件表空间下,Oracle使用32位来代表Block号,也就是说,在新的技术下,大文件表空间下每个文件最多可以容纳4G个Block。

那么也就是说当Block_size为2k时,数据文件可以达到8T 。

当block_size为32K时,数据文件可以达到128T。

上周在做2K block_size测试时,第一次遇到了这个限制:

SQL> alter tablespace eygle add datafile 'f:eygle02.dbf' size 8192M; alter tablespace eygle add datafile 'f:eygle02.dbf' size 8192M

*

ERROR 位于第 1 行:

ORA-01144: 文件大小 (4194304 块) 超出 4194303 块的最大数

缩减一点,最后创建成功:

SQL> alter tablespace eygle add datafile 'f:eygle02.dbf' size 8191M reuse;

表空间已更改。

已用时间: 00: 44: 42.08

计算一下,这台破烂的测试机的IO速度:

io speed = 8191 M / 00: 44: 42.08 = 8191 M / 44*60+42 = 8191M / 2682 s = 3.05M/s

够惊人的了吧。

=============================================

关于aix中大文件限制的问题

目前常见的主要有两种情况限制文件大小:

一,操作系统文件大小限制

一般文件大小限制为2g,如果要改变限制,可以有两种方法:

1,如果文件系统为jfs,则必须重建jfs文件系统且将文件系统设置为允许大文件。之后就可以支持大于2g的文件了。

2,如果文件系统为jfs2,则无此限制,理论上jfs2文件系统支持最大1T的文件。所以你也可以创建jfs2文件系统满足要求。

3,如果以上2个都不行,则可能是操作系统对单一用户的文件大小有限制,必须修改/etc/secrucity/limits 文件中指定用户的 fsize参数为-1(表示无限制),修改完后,必须重新登陆shell生效。可使用ulimit –a命令查看修改后的值。

4,为什么在一个目录下无法再创建目录,因为一个目录下最多只能创建32767个文件(含目录),该参数是由系统内核决定的,在系统安装以后该参数不能更改。

(/usr/include/sys/limits.h文件里的 #define SHRT_MAX 参数 (32767))

This is due to the fact that ".." in each subdirectory is a hard-link back to

the parent directory and the link count is implemented with a signed 16

bit quantity. Hence the error, EMLINK. Regular files are ok since they do not require this link. You could work around this limitation by using symbolic to directories

/usr/include/sys/limits.h as the LINK_MAX value set to 32767

二,tar文件大小限制

tar文件最大只能为8g,原因是:tar命令介绍,因为tar使用USTAR格式,(美国磁带归档程序),而ustar头格式允许文件大到8GB,所以tar支持归档最大8GB文件。

The ustar header format allows for file sizes to be as large as 8 GB. Therefore, the tar command is enabled to archive files of up to 8 GB in size.

解决办法有以下三种:

1, pax

pax使用方法:

备份:pax -wvf /dev/rmt0

查看备份文件列表:pax -vf /dev/rmt0

解备份:pax -rvf /dev/rmt0 -----可以随意解哪个都行,空为全部

复制:pax -rw

向磁带后追加:pax -avf /dev/rmt0

处理大文件(超过8GB):pax -x pax -wvf /dev/rmt0

不方便之处:分卷、不存在的目录不能恢复、存在的目录自动覆盖。

2, backup

backup使用方法:

find ... -print | backup -iqvf /dev/rmt0

相关文档
最新文档