暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

张维照 2019-05-31
1859

问题描述

有时扩展数据文件遇到这个错误

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


专家解答

网上收集了一下

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

其实那个错误是因为超出了小表空间单个数据文件的最大大小,单个文件最大大小是 “Operating system dependent. Limited by maximum operating system file size; typically 2^22 or 4 MB blocks”。

其实是有原因 的

physical rowid就是我们常说的rowid,physical rowid由80B构成,其中32B用于表示data_object_id,10B用于表示rfile,22B用于表示block_number,16位用于表示row_number
small表空间中使用10B用于表示rfile,22B用于表示block_number,所以一个small表空间中一个数据文件最大大小为db_block_size*(4M-1)。big表空间中使用32B表示block_number,big表空间只有一个数据文件。


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论