> 데이터 베이스 > MySQL 튜토리얼 > Oracle 11g R2 exp导出表不完整

Oracle 11g R2 exp导出表不完整

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-07 17:26:27
원래의
981명이 탐색했습니다.

今天发现从Oracle 11gR2 Exp导出表时不完整,有些没有记录的表都未导出。网上查了一下,说是Oracle 11g R2的新特性Deferred Segm

今天发现从Oracle 11gR2 Exp导出表时不完整,,有些没有记录的表都未导出。

网上查了一下,说是Oracle 11g R2的新特性Deferred Segment Creation 引起

检查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变化了

linux

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿