由于公司内部没有Oracle 11g,以前也没怎么使用过该版本,所以一些新特性还不是很了解。这次导出11g的数据库,就遇到了exp不能导出空表的问题,折腾了好久也没搞明白,后来切换到expdp的数据泵方式,增加version参数,方便导入到10g数据库,终于完整的把数据库给导出了,包括100个多空表。
今天上网才了解到,原来这个exp不导出空表,是11g的新特性,当表无数据时,不分配segment,以节省空间,所以exp导出的时候,不导出这些表。
针对这个问题,网上有个方便的解决方案。
用以下这句查找空表并生成执行命令
select "alter table "||table_name||" allocate extent;" from user_tables where num_rows=0;
把查询结果导出,执行导出的语句。
类似 alter table T_TAB allocate extent;
然后再用exp的方式去导出数据库,终于可以完整的导出包括空表的数据库。从Oracle 11g impdp到Oracle 10g报错ORA-39213: Metadata processing is not availableORA-00918:未明确定义列相关资讯 Oracle 11g
- Oracle 11g导入到10g引起的错误 (11/16/2015 10:55:27)
- Oracle 11g 导库导不出空表问题 (08/19/2015 19:55:58)
- Oracle 11g统计信息收集--多列统计 (07/24/2015 10:32:39)
| - Oracle 11gClone安装方法 (08/24/2015 20:25:41)
- Oracle 11g中和SQL TUNING相关的新 (08/12/2015 11:22:52)
- Oracle 11g数据泵详解 (07/08/2015 08:29:51)
|
本文评论 查看全部评论 (0)