暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

11g参数之deferred_segment_creation

小飞旅馆 2018-08-14
1177

11g参数之deferred_segment_creation

一个bool型的参数 ture/false 默认值为true,11g中才有的,算是一个新特性当这个参数设置为true时,当创建一个表的时候,不给它分配segment,即不分配空间,

只有当向这个表中插入第一条数据的时候才开始分配segment。优点是可以节省空间,但缺点是使用exp导出的时候,不会导出没有segment分配的表。使用expdp可以导出空表。

这个参数可以动态修改,使用 

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'

之前一直以为11g 所有版本里面都是没有分配段的空表段都不能导,但是今天在本地发现我的11.2.0.4环境里面竟然EXP竟然可以导出空段表:

后来特意找了下苏州首富,首富发现他本地也有同样的情况,暂时我们怀疑只有在11.2.0.1上面才会有的这样的问题:



所以安装时一定不要随便找个版本如11.2.0.1,今天写个的缘由就是早上接到电话处理个xx证券估值系统主数据库备份导入到备数据库出现很多表丢失的情况。刚好版本就是11.2.0.1,这里就总结记录一下。

所以建议以后:

安装版本一定要找11.2.0.4版本的,一定要打上最新稳定的psu补丁,另外尽量用expdp来导数据,这个性能会比exp好很多。

能找恒生DBA安装的就不要自己安装,请记住恒生有个独立部门叫“恒生系统服务发展部”,专搞系统数据库的,里面有oracle mysql mogon redis sql server各种数据库专家。

更多精彩内容请关注恒生系统服务公众号"恒生DBA公社",另外也可以关注我的个人公众号"FigoNote".  

文章转载自小飞旅馆,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论