解决oracle11g 空表不能exp导出的问题

在使用exp备份数据库,然后使用imp导入的时候出现了好多表或者视图不存在的错误信息。

究其原因,是11G中增加了一个新的特性:数据条数是0时不分配segment,所以就不能被导出。

解决思路:就是向空表中增加一行数据。但是如果有很多空表,一行一行的导入就好出现问题。下面是终极解决方案:

在命令行执行:

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

将查询出来的语句执行以下即可。执行完毕之后再使用备份命令,就可以实现完整备份了。

 

posted @ 2014-09-29 10:47  于辰  阅读(182)  评论(0编辑  收藏  举报