【11gR2新特性】extent延迟创建

在使用create table中的storage参数时,在11g和10g中表现的不一样,步骤如下:
database 10g:
SQL> create table tab10 (id char(1000),name char(1000)) storage (minextents 2) pctfree 50 pctused 20;
Table created.
SQL> select object_id,object_name from dba_objects where object_name='TAB10';
OBJECT_ID OBJECT_NAME
---------- ------------------------------
52957         TAB10

SQL> select extent_id,file_id,relative_fno,block_id,blocks from dba_extents where segment_name='TAB10';
EXTENT_ID FILE_ID RELATIVE_FNO BLOCK_ID BLOCKS
-------------------- --------- -------- ----------
0          8           8       521         128
1          8           8       649          128
database 11g:
SQL> create table tab11 (id char(1000),name char(1000)) storage(minextents 2) pctfree 50 pctused 20;
Table created.
SQL> select object_id,object_name from dba_objects where object_name='TAB11';
OBJECT_ID OBJECT_NAME
---------- ------------------------------
75815 TAB11
SQL> select extent_id,file_id, relative_fno, block_id, blocks from dba_extents where segment_name='TAB11';
no rows selected
向表中插入数据:
SQL> insert into tab11 values ('1','a');
1 row created.
SQL> commit;
Commit complete.
SQL> select extent_id,file_id, relative_fno, block_id, blocks from dba_extents where segment_name='TAB11';
EXTENT_ID  FILE_ID   RELATIVE_FNO  BLOCK_ID   BLOCKS
---------- ---------- ------------ ---------- ----------
0             10          10        384        128
1             10          10        512        128
在11g中,即使指定了storage参数,如果没有数据插入也不会给它分配extent!此特性和参数:deferred_segment_creation有关。此参数默认是打开的。这种情况下,当用户使用exp导出时,是不会导出这些未分配段的空表的,并且没有任何警告提示。所以建议关闭次参数。

SQL> show parameter segment
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
deferred_segment_creation boolean TRUE
rollback_segments string
transactions_per_rollback_segment integer 5
SQL> alter system set deferred_segment_creation=FALSE scope=both;
System altered.
SQL> drop table tab11 purge;
Table dropped.
SQL> create table tab11 (id number) storage(minextents 2) pctfree 50 pctused 20;
Table created.
SQL> select extent_id,file_id, relative_fno, block_id, blocks from dba_extents where segment_name='TAB11';
EXTENT_ID  FILE_ID  RELATIVE_FNO BLOCK_ID BLOCKS
---------- -------- ------------ -------- ----------
0          10         10           384     128
1          10         10           512     128

希望使用11gr2的同学注意!!
----------------------------------EOF-----------------------------------------

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22664653/viewspace-701621/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22664653/viewspace-701621/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值