做一個測試需要建一個表空間,報錯。
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;
表空間已創建。