oracle11g 新增加了 deferred_segment_creation 的属性在创建的数据库表中,如果表中没有数据,并且这个参数是true的话,并不是直接就在数据文件中的增加相应的segment,而是会延迟占用空间,可以用来节省相应的数据库空间. 这时候就会造成问题 exp进行导出时 segment里面没有的表 就不进行导出就会造成一些空白没有进行备份,这个时候就需要修改一下参数的属性置为false alter system set deferred_segment_creation…
一.问题原因: 11G中有个新特性,当表无数据时,不分配segment,以节省空间 .insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. .设置deferred_segment_creation 参数 show parameter deferred_segment_creation NAME TYPE VALUE ------------------------------------ ----------…
查询空表 并导出修改空表语句 select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is null; 如果表存在分区 alter table 表名 modify partition 分区名 allocate extent;…