deferred_segment_creation

段延迟分配
系统参数:deferred_segment_creation
alter system/alter session

也可以在create table的子句 segment creation immediate/deferred来指定.
segment creation deferred:直到插入第一条数据的时候,才会创建table segment,lob列,建表时隐式创建的索引段。存储属性会遵从create table中规定的,显示创建的索引,则根据create index语句指定的存储属性。无论首次插入是提交了还是回滚了,都不影响这些段的创建。
注意:当创建很多延迟段分配的表之后,需要保证足够的空间来完成首次插入时段空间的分配。
segment creation immediate:建表的时候就创建段。

如果应用程序依赖dba_segnemts,user_segments,all_segments这三个字典视图的时候,需要使用立即分配。因为当给对象分配段之前,对象是不会出现在这三个视图里的。
segment creation deferred/immediate子句会忽略deferred_segment_creation系统参数设定的值。

查看对象的段是否创建,可以查询user_tables,user_indexes,user_lobs视图的segment_created字段。

对没有分配段的表进行操作的相关说明:
1.如果使用create table ... as subquery语句,当子查询没数据返回的时候,段的创建就被延迟,如果子查询有数据返回,则会立即创建段。
2.如果在分配段之前执行了alter table ... allocate extent操作,那么段会被创建,区会被分配。不过实际上ddl语句中含有allocate extent子句会报错。
3.如果对表,索引,lob列进行DDL操作,则deallocate unused会被忽略掉。
4.对没有分配段的索引或者表分区进行Online操作,将被禁用,变成offline操作。
5.如果对含有一个或者多个lob列的表进程DDL操作,那么分区或者子分区将被物化。
     alter table split [sub]partition
     alter table merge [sub]partitions
     alter table add [sub]partition (hash partition only)
     alter table coalesce [sub]partition(hash partition only)


限制:
1.以下类型的表不能使用段延迟分配:索引组织表、聚簇表、全局临时表、会话中的临时表、内部表、typed tables、AQ tables、外部表,SYS/SYSTEM/PUBLIC/OUTLN/XDB用户的表。
2.11.2.0.2版本之后分区表、子分区也支持段延迟分配
3.   bitmap join indexes and domain indexes不支持 段延迟分配 .
4.字典管理的非分区表 不支持 段延迟分配 .
5.串行化的事务中 不支持 段延迟分配 。尝试往没有分配段的空表中插入数据将会报错。

segment creation immediate/deferred示例
create table test1 segment creation immediate as select * from user_test;
create table test2 segment creation deferred as select * from user_test;

来源: http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_7002.htm#i2128663

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

转载于:http://blog.itpub.net/21986929/viewspace-764221/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值