Home > Database > Mysql Tutorial > ORA-01144: File size (string blocks) exceeds maxi

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

WBOY
Release: 2016-06-07 16:58:19
Original
2209 people have browsed it

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

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template