最近,要在其他地方重新复制一套数据库,数据库是Oracle11G的,先用exp full=y导出备份文件后,在另外的数据库上导入后,发现有一些表没有导入,这些表都有一些共同的特征,全部都是空表,百度发现原因,是因为一个参数的原因:
show parameter deferred_segment_creation
当这个参数是true时,空表就不会分配segment空间,也不能被导出,将它改成false
alter system set deferred_segment_creation=false
就可以导出了。
不过,这只适用于修改参数之后创建的对象,对于之前创建的对象,只能通过其他方式来确保能导出:
1.编辑对象中的数据,比如新增一条数据再删除。
2.执行alter table tablename allocate extent手动为表分配空间。