导出oracle的dmp文件,再重新进行导入时,会有很多警告
可能是没有导出空表,导致dmp文件中缺失了一部分表结构,可能对已存在的表产生了影响
方法一
在图形工具中,如sqldeveloper,pl/sqldeveloper执行
在当前用户下
1、select 'alter table '||table_name||' allocate extent;' from user_tables
2、将执行结果,复制出来,放入到SQL脚本中,全部执行
网站见到的
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
这个语句不太准确
需要了解user_tables中的num_rows属性
方法二
设置deferred_segment_creation 参数为FALSE后,无论是空表还是非空表,都分配segment。
在sqlplus中,执行如下命令:
SQL>alter system set deferred_segment_creation=false;
查看:
SQL>show parameter deferred_segment_creation;
该值设置后只对后面新增的表产生作用,对之前建立的空表不起作用。