oracle 导出时报错EXP-00011:table不存在

Posted godlovelian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 导出时报错EXP-00011:table不存在相关的知识,希望对你有一定的参考价值。

oracle11g,在用exp命令备份数据库时,如果表中没有数据报EXP-00011错误,对应的表不存在。这导致对应的空表无法备份。

原因:11g默认创建一个表时不分配segment,只有在插入数据时才会产生(当然也可以强制分配),以节省磁盘空间。

对于已经存在的空表解决办法:

就是想办法让空表有segment,第一种:可以通过插入数据的方式(不想要这些数据可以回滚),只要有insert动作就会分配segment;

                                        第二种:就是强制分配:alter table tablename allocate extent;

如果采用第二种可以用以下方法:

1、用以下这句查找空表:select \'alter table \'||table_name||\' allocate extent;\' from user_tables where num_rows=0;

 2、把查询结果导出,执行导出的语句; 

为了后面创建的表能直接分配segment

用系统账户登录数据库,修改参数deferred_segment_creation(11g新增的)。该参数即指是否延迟创建segment,默认为true。如果想让表创建时就分配segment,那么就应该修改该参数为false即alter system set deferred_segment_creation=false。如下所示:

 

以上是关于oracle 导出时报错EXP-00011:table不存在的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 导出:表不存在

oracle数据库impdp命令导入数据库时报错

使用oracle ebs 做数据编辑,web adi导出数据时,打开excel时报错,该怎么解决啊?

Linux下用impdp导入数据时报错,数据文件为.expxp格式的,求指导。。。

在导入python(tab)模块时报错

急!!!java用poi导出excel文件,打开导出的文件时报错“文件错误,数据可能丢失”