今天发现从Oracle 11gR2 Exp导出表时不完整,有些没有记录的表都未导出。网上查了一下,说是Oracle 11g R2的新特性Deferred Segment Creation 引起 http://www.linuxidc.com/Linux/2013-02/79077.htm检查user_tables表发现没有导出的表的segment_created属性是NO解决办法:1、可通过下面语句生成SQL执行:select "alter table "|| table_name ||" move;"
from user_tables where segment_created="NO";或是
select "alter table "|| table_name ||" allocate extent;"
from user_tables where segment_created="NO";2、通过修改系统参数(未测试):可以通过修改deferred_segment_creation 为false 来禁用这个功能,修改只对以后创建的table 生效。 对于已经存在的table不受影响。alter system set deferred_segment_creation=true; 其它
alter table ... move不但拉回了HWM,而且回收了extent在oracle9i中,delete很大的表的数据后,需要收缩表的空间,可以使用alter table tabname move (tablespace tbs_name),注意:这个时候一定需要rebuild index . 因为move后,数据的rowid变化了更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12Oracle 11g导出表不全问题解决Lubuntu 12.10 桌面版安装Oracle 11g相关资讯 Oracle 11g R2
- CentOS 5.10安装Oracle 11G R2 (01月22日)
- Oracle Linux 6.4安装Oracle 11g (12/04/2015 08:30:35)
- Oracle 11g R2(GI)启动过程 (10/10/2014 17:31:49)
| - Oracle Linux 5.5 (64bit)安装 (12/04/2015 08:46:12)
- 在Red Hat Enterprise Linux 7.0 (01/05/2015 07:56:38)
- CentOS 5.10 下静默安装Oracle 11g (10/10/2014 17:17:39)
|
本文评论 查看全部评论 (0)