在使用exp备份数据库,然后使用imp导入的时候出现了好多表或者视图不存在的错误信息。
究其原因,是11G中增加了一个新的特性:数据条数是0时不分配segment,所以就不能被导出。
解决思路:就是向空表中增加一行数据。但是如果有很多空表,一行一行的导入就好出现问题。下面是终极解决方案:
在命令行执行:
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
将查询出来的语句执行以下即可。执行完毕之后再使用备份命令,就可以实现完整备份了。