首页 > 代码库 > ORA-03249: 自动段空间管理的表空间大小都应至少具有 5 个块

ORA-03249: 自动段空间管理的表空间大小都应至少具有 5 个块

   做一个测试需要建一个表空间,报错。

SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE    11.2.0.1.0      Production
TNS for Linux: Version 11.2.0.1.0 - Production

NLSRTL Version 11.2.0.1.0 - Production

SQL> create tablespace TBS_A datafile ‘/oracle/oradata/lcamtest/TBS_A.DBF‘ size 1M autoextend on uniform size 64k;
create tablespace TBS_A datafile ‘/oracle/oradata/lcamtest/TBS_A.DBF‘ size 10M autoextend on uniform size 64k
*
第 1 行出现错误:
ORA-03249: 自动段空间管理的表空间大小都应至少具有 5 个块

    autoextend on uniform size, 指的是表空间分配的所有EXTENT的大小都是指定的值,对于SEGMENT自动管理,要求至少5个BLOCK以上的表头EXTENT。解决方法是将uniform size改为至少为db_block_size的5倍。
SQL> show parameter db_block_size
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_block_size                        integer     16384


SQL> create tablespace TBS_A datafile ‘/oracle/oradata/lcamtest/TBS_A.DBF‘ size 1M autoextend on uniform size 128k;
表空间已创建。

ORA-03249: 自动段空间管理的表空间大小都应至少具有 5 个块