데이터 파일의 릴리스 이후 오라클 삭제 데이터는 디스크 공간을 차지

데이터 파일 공유 디스크 공간의 출시 이후 오라클 데이터 삭제
데이터베이스에 테스트 많은 양의 데이터를 삽입, 테스트는 테스트 사용자를 완료하고 모든 데이터를 삭제하지만, 데이터 파일이 축소되지 않습니다. 이것은 오라클은 "높은 물"발생 정보에 액세스 한 후 한 후 어떻게 다운 데이터 파일의 크기? 다음과 같은 해결 방법은 다음과 같습니다

개념 :

테이블 공간에 대한 지식은, 여기에 저장 구조 Oracle 데이터베이스에 대한 자세한 설명을 참조하십시오.

고수위 : 하이 워터 마크 (HWM)는,이 지표 세그먼트 (세그먼트)이고, 이전에 구성된 블록 레벨 세그먼트 (세그먼트)를 정의한다.

또한, 세그먼트 (세그먼트)의 데이터 블록 (데이터 블록)이 증가하고,이 시간을 이용하여 삽입 된 데이터와 해당되는 상기 상승과 함께 H 레벨합니다 (HWM). (중 하나를 삭제하거나 잘라 내기 테이블), 데이터가 삭제 되더라도 점유 데이터 블록 (데이터 블록) 따라 감소하지만, 한 때 높은 수준합니다 (HWM) 및 해당하지 않습니다. 때 높은 수준 (HWM)의 존재에 빈 데이터 블록 (데이터 블록) 많은 양의 전체 테이블을 스캔하는 경우 (전체 테이블 스캔, FTS)는 별도의 IO를 많이 발생의 원인이됩니다. 전체 테이블 스캔 (FTS) 읽기 세그먼트 (세그먼트)에서 데이터 블록 (데이터 블록)는 항상 마지막까지 높은 수준합니다 (HWM)로 읽을 수 있습니다 때문입니다. 높은 수위 (HWM)은 더 나누어 줄 사용이 전체 테이블 스캔 (FTS)을 삭제 데이터가 감소하지 않을뿐만 아니라 소요되는 시간, 그래서이 증가 할 것이다,이없는 세그먼트 (세그먼트) 데이터 블록 (데이터 블록)이다. (이 부분 쿼리 효율성의 내용을 확인하기 위해 정보, 저자는 개인적으로 확인되지 않지만 높은 수위 데이터를 삭제하는 등 감소하지 않는다는 것을 확실하다.)

올바른 접근 방식의 높은 수준을 감소하는 것은 먼저 HWM을 절감하고 실제 소유의 크기를 결정하고 데이터 파일의 크기를 조정하는 것입니다.

우리가 큰 파일 데모로, 다른 데이터 파일을 사용하여 더 많은 데이터 파일은 동일한 작업을 수행합니다. 내가 선택한 파일입니다 : D : \ 오라클 \ 제품 \ 10.2.0 \ ORADATA \ ORCL \ USERS01.DBF 1.4GB에 대해.

SQLPLUS에 로그인 :

语法 : SQLPLUS 사용자 이름 / 암호 @ 호스트 이름 : 포트 / SID

例 : SQLPLUS 시스템 / ORCL @ localhost를 : 1521 / ORCL

2. 쿼리 데이터 파일의 수 :

SQL> 파일 선택 # 브이 $ 데이터 파일에서 이름;

파일 이름

1 개 D : \ ORACLE \ PRODUCT \ 10.2.0 \ ORADATA \ ORCL \ SYSTEM01.DBF

2 D : \ ORACLE \ PRODUCT \ 10.2.0 \ ORADATA \ ORCL \ UNDOTBS01.DBF

3 D : \ ORACLE \ PRODUCT \ 10.2.0 \ ORADATA \ ORCL \ SYSAUX01.DBF

4 D : \ ORACLE \ PRODUCT \ 10.2.0 \ ORADATA \ ORCL \ USERS01.DBF

우리는 데이터의 우리의 수는 4에서 작동 할 파일을 볼 수 있습니다.

이 데이터 파일의 최대 데이터 블록 (데이터 블록) :(이 가장 많은 검증 될 데이터 파일, 데이터 블록의 수를 나타낼 수 있음을 보인다 쿼리 파일 ID 번호).

SQL> DBA_EXTENTS에서 최대 (block_id)을 선택 여기서 FILE_ID = 4;

MAX (BLOCK_ID)

65673

3. 계산이 공간은 실제 테이블 공간에 의해 점령 :

- 질의 데이터 블록 사이즈, 바이트 단위

SQL> 브이 $ 매개 변수의 값을 선택 어디에 이름 = 'DB_BLOCK_SIZE'

NAME TYPE VALUE


8192 정수 DB_BLOCK_SIZE

-8192 바이트 = 8킬로바이트

- 다음은 물리적 공간의 계산은 공간을 점유

SQL> 이중에서 65,673 * 1천24분의 8을 선택;

* 1,024분의 8 65,673

513.070313

- 실제 물리적 공간은 5백13메가바이트 다 지점에 의해 점령

4. 마지막 단계, 데이터 파일의 크기는 실제로 라인에 점령이 테이블 스페이스의 가장 큰 포인트보다 우리의 물리적 공간을 수정합니다 :

SQL> ALTER 데이터베이스 데이터 파일 'D : \ 오라클 \ 제품 \ 10.2.0 \ ORADATA \ ORCL \ USERS01.DBF'크기 조절 600m;

데이터베이스가 변경되었습니다.

OK, 개정 전에 600메가바이트 1.4GB로 파일의 데이터. 다른 데이터 파일의 경우, 우리는 또한 그것을 축소하는 방법을 알고?

출시 일곱 개 원래 기사 · 원 찬양 한 · 전망 2379

추천

출처blog.csdn.net/lisizhe1989/article/details/104514999