Oracle 11.2.0.4 创建普通表,区及段默认是否会分配

来源:这里教程网 时间:2026-03-03 18:58:23 作者:

Oracle 10G 中,新创建一张新表,初始至少为这个表分配一个区。而从11.2.0.3 以上版本中,创建新表时默认一个区都不分配。只有在想表中插入第一行数据时,才会默认为表分配第一个区,如下:建表: 查询占用空间: 通过上述测试,发现Oracle 11G 默认创建了一个区,结果与我们预期的截然不同,为什么?下面我们通过各种场景测试该现象测试场景:第一场景 我们进一步查询与该操作相关的参数deferred_segment_creation,默认为true 同时我们确认段默认是否会创建: 查询是TRUE ,与我们的预先的不通,我们测试一下修改一下deferred_segment_creation 参数是否会影响(SYS用户): SYS用户下创建对象默认还是会分配一个区及段,该参数无影响,如下: 第二场景 查询是TRUE ,与我们的预先的不通,我们测试一下修改一下deferred_segment_creation 参数是否会影响(普通用户): 普通用户TEST下创建对象默认还是会分配一个区及段,该参数影响,如下: 普通用户创建表,默认不会分配区及段;第三场景 普通用户使用system 表空间: 第四场景设置deferred_segment_creation 参数为false 问题总结:通过上述实验场景,发现第一 sys 用户下创建对象默认分配区及段第二 普通用户创建对象默认不分配区及段第三 上述现象和表空间无关第四 11G普通用户是否分配空间与参数deferred_segment_creation 有关系

相关推荐