1.设置deferred_segment_creation 参数:
设置deferred_segment_creation 参数为FALSE来禁用"段推迟创建"(也就是直接创建segment),无论是空表还是非空表,都分配segment。
在sqlplus中,执行如下命令:
SQL>alter system set deferred_segment_creation=false;
查看:
SQL>show parameter deferred_segment_creation;
注意:该值设置后只对后面新增的表产生作用,对之前建立的空表(已经存在的)不起作用,仍不能导出。
并且要重新启动数据库,让参数生效。
2.如想导出已有表空间空表(要在要导出表的用户登录下执行以下语句,并将查询结果在数据库中执行)
PL/SQL登录用户,执行
Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is null;
复制查询出的记录,并在在PL/SQL命令行中执行导出结果。
exp命令导出时,观察是否有0行表导出,若无,多半没有导出空表