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

张维照 2019-05-31
22
0 0
摘要:其实那个错误是因为超出了小表空间单个数据文件的最大大小

问题描述

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

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表空间只有一个数据文件。


「喜欢文章,快来给作者赞赏墨值吧」

评论

0
0
Oracle
订阅
欢迎订阅Oracle频道,订阅之后可以获取最新资讯和更新通知。
墨值排行
今日本周综合
近期活动
全部
相关课程
全部