Oracle 11g exp不会导出数据库里的空表,这本是Oracle的一个新特性,但是在做迁移的时候还是会给我们带来不少麻烦,这时就需要手动给这些空表分配一些extent,让它能够被exp导出。
首先,鉴于有些新建的表,由于统计信息缺失,在user_tables表中相应的num_rows字段并不为0,所以在开始操作前,先对schema做个分析。
exec dbms_stats.gather_schema_stats('USERNAME');
构造语句
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
执行上述查询的结果后,就可以继续进行exp导出操作了,这回就能全部导出来了。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28998293/viewspace-1168538/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28998293/viewspace-1168538/