首页 > 代码库 > 11g参数之deferred_segment_creation
11g参数之deferred_segment_creation
deferred_segment_creation
布尔型
默认值为true
这个参数10gR2中是没有的,11g中才有
从字面意思也可以看出来,当这个参数设置为true时,当创建一个表的时候,不给它分配segment,即不分配空间,当向这个表中插入第一条数据的时候才开始分配segment。
设置为true的优点:在创建一系列表的时候,若事先已知许多表并没有数据,可以指定这个参数为true。这样可以节省空间,也可以增加建表速度。
缺点:使用exp导出的时候,不会导出没有segment分配的表。使用expdp可以导出空表。
查看该参数当前设置可以使用
show parameter deferred_segment_creation
这个参数可以动态修改,使用
alter system/session set deferred_segment_creation=true/false;
更改后,之前延迟分配segment的表并不会受到影响,仍然为空表。
查询某schema中所有未分配segment的表可以使用以下语句
select * from user_tables where segment_created = 'NO'若想为这些未分配segment的表分配空间,可以使用语句
select 'alter table ' || table_name || ' allocate extent;' from user_tables where segment_created = 'NO'为所有空表分配segment,之后就可以进行exp导出了。
如果表插入数据后被truncate,则会保留segment。
11g参数之deferred_segment_creation
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。