折雨的天空

博客介绍:本博客当前共有文章【968】篇,总阅读量【5,158,449】次,第一篇博客发表于【2011年04月06日 10时34分】,距今已【4978】天,感谢您的使用!

您的位置:折雨的天空 >其他技术> oracle导出数据库出现部分表丢失的情况

oracle导出数据库出现部分表丢失的情况

导出时没有报错,导入也没有报错,程序运行时发现表或视图不存在。


仔细查看导出日志,发现导出日志中根本就没有导出该表,而数据库管理工具又是存在的,经过反复尝试,该表始终不在导出日志里出现。


经查询得知,网络原文地址:http://blog.sina.com.cn/s/blog_6925c03c0101d9aw.html


11G中有个新特性,当表无数据时,不分配segment,以节省空间。

解决方法:设置deferred_segment_creation 参数,具体步骤如下。

步骤一:执行命令 alter system set deferred_segment_creation=false;

步骤二:执行命令 select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0

步骤三:把步骤二查询的结果导出,执行导出的语句。

 

说明:   

         deferred_segment_creation参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。

需注意的是deferred_segment_creation值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。如需导出之前的空表,就需要执行步骤二、三。

------------正 文 已 结 束, 感 谢 您 的 阅 读 (折雨的天空)--------------------

转载请注明本文标题和链接:《oracle导出数据库出现部分表丢失的情况

奖励一下

取消

分享不易,烦请有多多打赏,如您也困难,点击右边关闭即可!

扫码支持
扫码打赏,5元,10元,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

-秒后自动关闭,如已打赏,或者不愿打赏,请点击右上角关闭图标。

发表评论

路人甲 表情
看不清楚?点图切换