在oracel导出表结构时候,如果遇到此问题,原因是空表造成的。

 

官方解释的原因是Oracle11g增加了参数deferred_segment_creation,参数默认值是TRUE, 新建的表无记录时滞后分配段的,所以EXP无法导出空表。

解决办法为:

在plsql的sql窗口执行:

Select 'alter table '||table_name||' allocate extent;' from user_tables where segment_created = 'NO'
 UNION ALL
Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is null;

然后将查询到的数据复制,在command窗口执行一下,然后再进行exp导出就问题解决了。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐