Notice
Recent Posts
Recent Comments
Link
250x250
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- job관리
- Linux
- 오라클기동
- 오블완
- postgreql 오브젝트 조회
- ssh접속오류
- Connect Storage Engine
- 통계정보복구
- sqlp시험일정
- 오라클
- autocommit설정
- sqlp합격후기
- 데이터csv생성
- 대량dml튜닝
- sqlp공부방법
- mariaDB
- MariaDB기본디렉토리변경
- public synonym EXPDP
- 리눅스
- 실제플랜조회
- PROFILE EXPDP
- datadir 변경
- oracle
- num_index_keys
- 통계정보백업
- 오라클인덱스힌트
- mariaDB설치오류
- 티스토리챌린지
- DATABASELINK
- inlist
Archives
- Today
- Total
IT study
[Oracle] INDEX 생성 모니터링, REBUILD 와 DROP CREATE 시 차이 본문
728x90
반응형
오라클의 인덱스 리빌드 와 DROP 하고 다시 재생성하는 것에 대해서
각각의 방법이 어떻게 진행되는지, 어떤 장/단점이 있는지 알아보았습니다.
인덱스 생성 모니터링
--temp 테이블스페이스 임시세그먼트 생성
select * from V$SORT_USAGE;
--임시 세그먼트 인덱스 테이블스페이스로 이관
select * from DBA_SEGMENTS where segment_type = 'TEMPORARY';
인덱스 리빌드
테이블스페이스에 임시 인덱스 세그먼트 생성
기존 인덱스의 지정 테이블스페이스에 이관
기존 인덱스 드랍 후 임시 인덱스를 기존 인덱스로 바꿈 ( 이 작업을 위해 테이블스페이스에 2개의 인덱스가 잠시 공존함)
=> 리빌드를 진행하게 된다면, temp tablespace 와 인덱스 지정 테이블스페이스에 추가 용량이 필요함.
=> 리빌드 되는 28분의 작업시간동안 기존의 인덱스를 사용할 수 있음
(시간은 테스트 인덱스의 소요 시간입니다)
**참고
ㅇ인덱스 리빌드 시 인덱스 사용 확인
- 인덱스가 리빌드 되는 동안에도 인덱스 조회 가능
기존 invalidate = 0
- 인덱스 리빌드 완료 후 쿼리 재실행 후 v$sql 확인
쿼리에서 사용하는 인덱스의 변경으로 loads와 invalidations 값 증가
인덱스 drop & create
drop하여 이전 인덱스 공간 해제
테이블스페이스에 임시 인덱스 세그먼트 생성
기존 인덱스의 지정 테이블스페이스에 이관
=> 기존 인덱스를 삭제했다 재생성하므로, 리빌드 처럼 여유공간에 크게 제약받지 않는다.
=> 기존 인덱스를 삭제하고, 인덱스가 재생성되는 약 27분간 인덱스가 없는 상태로 쿼리 조회시 인덱스 사용할 수 없음
728x90
반응형
'DATABASE > Oracle' 카테고리의 다른 글
[Oracle] 통계정보 백업 및 복구, 자동통계정보 수집 기능 비활성화 (1) | 2023.11.14 |
---|---|
[Oracle] database shutdown hang ( ora-01013: user requested cancel of current ) (0) | 2023.10.05 |
[Oracle] 파라미터 변경 방법 (0) | 2023.08.25 |
[Oracle] 파라미터 파일 (spfile, pfile) (0) | 2023.08.25 |
[Oracle] interval partition table 주기적으로 파티션 삭제하기 (0) | 2023.07.11 |