问题描述
有时扩展数据文件遇到这个错误
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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。