Oracle11g版本导出表时缺少表解决方案
1、首先了解原因
oracle11g版本中的新特性,orcale的表是在用户所属的表空间中的,而oracle11g版本它会把没有占用表空间的表(也就是空表)在导出时过滤掉不导出。
2、解决方案
# 第一方案 先查询它的设置状态是否时false
show parameter deferred_segment_creation;
# 如果不是设置为fals;
alter system set deferred_segment_creation=false;
# 第一种方案对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。
#第二种方案 针对以前导出的表中有空表的操作
select 'alter table '||table_name||' allocate extent;' from user_tables where segment_created='NO'
# 执行后会出现一堆的命令,全部执行即可。
3、注意事项
如果想要既可以导出以前的空表,也想以后都不会出现这种情况,俩种方式都执行一边即可。