非标准数据块表空间, 其数据块大小不基于标准数据块大小的表空间。
在创建表空间时,可以使用blocksize子句,该子句用来另外设置表空间中的数据块大小,如果不指定该子句,则默认的数据块大小由系统初始化尝试db_block_size决定.db_block_size参数指定的数据块大小即标准数据块大小,在数据块创建之后无法在修改该参数的值。
oracle11g容许用户创建非标准数据块表空间,使用blocksize子句指定表空间中数据块大小,但是必须有数据
缓冲区参数db_nk_cache_size的值与blocksize参数值相匹配,如下所示:
blocksize db_nk_cache_size
2kb db_2k_cache_size
4kb db_4k_cache_size
8kb db_8k_cache_size
16kb db_16k_cache_size
32kb db_32k_cache_size
第一步: 设置db_nk_cache_size 参数。
第二部: 创建表空间中blocsize 参数和第一步中某参数一致为n.
SQL> alter system set db_16k_cache_size = 16M;
系统已更改。
SQL> create tablespace blocksapce
2 datafile 'D:\app\SQLTest\Self\blockspace.dbf' size 10m
3 autoextend on next 5m
4 blocksize 16k