> 데이터 베이스 > MySQL 튜토리얼 > ORA-01144: File size (string blocks) exceeds maxi

ORA-01144: File size (string blocks) exceeds maxi

WBOY
풀어 주다: 2016-06-07 16:58:19
원래의
2205명이 탐색했습니다.

在一个裸设备上扩展一个表空间的时候遭遇了这个错误,想知道具体原因是什么。SQLgt; alter database datafile 5 resize 33G;alt

ORA-01144: File size (string blocks) exceeds maximum of string blocks

 

今天公司的Oracle服务器突然停止工作

在一个裸设备上扩展一个表空间的时候遭遇了这个错误,想知道具体原因是什么。

SQL> alter database datafile 5 resize 33G;
alter database datafile 5 resize 33G
*
ERROR at line 1:
ORA-01144: File size (4325376 blocks) exceeds maximum of 4194303 blocks

AIX 64位的平台

下面是oracle err messages:

ORA-01144: File size (string blocks) exceeds maximum of string blocks

-----------------------------------------


在Oracle 10G及以上中,表空间有bigfile tablespace和smallfile tablespace的区别:    bigfile tablespace是Oracle10g的新特性。Bigfile tablespaces包含1个最大4G个blocks 的datafile。因此,使用8KBdata blocks 的bigfile tablespace 最大可以达到32TB。Bigfile tablespaces 常用于非常大的DB。 如果很大的DB有成千的 read/write datafiles, 那么checkpoints之类的操作将非常费时。如果用一个很大的datafile,减少datafiles的数量,将会提高效率。创建时使用BIGFILE关键字如下:CREATE BIGFILE TABLESPACE BIG_DEMO
DATAFILE '/ORADATA/PROD/BIG_DEMO.DBF' SIZE 25G;    Smallfile tablespace是原Oracle tablespace datafile 选项的新名字。 smallfile tablespace中,你可以包含多个datafiles。每个datafile 有最多4M个data blocks。因此,,使用8KB data blocks的smallfile tablespace 中的datafiles 最大32GB。smallfile tablespace最多有1,023 个datafiles。SYSTEM和SYSAUX tablespaces总是smallfile tablespaces。
ORA-01144即表示你的单个数据文件超出了oracle的限制:如:ORA-01144: File size (4194304 blocks) exceeds maximum of 4194303 blocks表示你的表空间是Smallfile tablespace,单个数据文件最大只可以有2^22=4194303个blocks,换成KBytes时即乘上你数据库的block_size即可,解决方法是用多个数据文件,不是把单个数据文件设得很大.

-----------------------------------------

今天在solaris sparc10上安装单节点oracle10g,dbca报ora-01144,说数据文件大于限制,其实之前也奇怪为什么一个数据文件要150g。 后来发现原来是自己的理解错误,要求中并没有说只能用一个数据文件,但是metalink查到相关信息如下,以备参考:

fix:

FIX 1:

   Specify a smaller file size.

   The maximum file size is
       db_block_size * 4194303

   For example, if db_block_size is 2kB then maximum file size is limited
   to 2k*4194303, 8Gb-2k.

FIX 2:

   Change db_block_size. This can only be done by recreating of
   database.
 
       db_block_size    Maximum data file size
       -------------    ---------------------- 
            2kb                 8Gb-2kb
            4kb                16Gb-4kb
            8kb                32Gb-8kb
           16kb                64Gb-16kb
           32kb               128Gb-32kb

可见db_block_size对 maximum data file size还是起决定作用的

还有就是不能轻易的勾bigfile tablespace 这东西只允许表空间中存在一个数据文件~差点儿犯错误~ 呵呵~

linux

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿