oracle11g 导出表报EXP-00011:table不存在。

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

首先、执行sql语句:

select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;

然后把执行的结果语句拿到PL—sql当中进行执行!

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

我们这个时候就强制给它分配segment(数据片段)

oracle11g 导出表报EXP-00011:table不存在。_第1张图片


但是有时候还有一部分表比较特殊的,可能还是会出现对应的表不存在:

那么就直接执行:

alter table 表名(导出出现不存在的表) allocate extent.

你可能感兴趣的:(学习之路)