DBDBDEEP
Oracle 공간관리 2 본문
2. 테이블 스페이스 사전 모니터
- Database Alert을 사용하여 사용가능한 디스크 공간이 적은 상태에서 테이블 스페이스가 실행될 때와 특정 세그먼트의 공간이 부족해질 때를 알 수 있음.
- 85%, 97% (임계값-Threshold) --> 이 값 마다 Alert 된다.
확인방법
1. EM : 자동으로 알려줌
2. EM이 없는 상황이라면 이 정보메시지를 볼 수 있는 View가 있는데 그것을 활용하면 된다.
- DBA_OUTSTANDING_ALERTS
- dba_alert_history : 그동안 발생한 alert메시지를 보여주는곳
임계값 및 문제 해결
- 테이블 스페이스 임계값은 테이블 스페이스에서 채워진 공간 또는 사용공간으로 정의됨.
- critical (97%) 및 Warning (85%)이 임계값으로 된다.
1. 테이블 스페이스 레벨에서의 해결법
- add datafile
- resize
- autoextend on
- 테이블 스페이스에서 희소 객체 축소 (Shrick)
shrink 명령
- table,Iot,세그먼트,인덱스,파티션,서브파티션 등이 가지는 공간에서 사용
- 사용되었다가 비어진 공간 / 행 이전 & 행 체이닝 으로 난잡해진 row 위치 재구성
- HWM 재조정
- 낭비되었던 공간을 재조정
alter table employees shrink space [compact / cascade]
1) compact
- shrink 작업을 진행하되 HWM을 재조정 하지 않음
- 공간을 즉시 반환하지 않음.
- 다시 alter table employees shrink space; 명령을 사용하여 작업완료
- 두 번 사용하는 이유는 첫 번째에서 데이터를 맨 앞으로 배치 / 두 번째에서 HWM 재조정, 사용되지 않은 공간 회수
- alter table .. compact를 하면 축소작업 진행상황이 BMB에 저장되어 이미수행된 작업을 기억함 ---> 한가한 시간에 두 번째 shrink space; 실행하면 된다.
* compact를 사용하는 경우
- 축소작업 하는 동시에 장기 실행 Query가 있는 경우
2) cascade
- shrink 작업의 대상인 테이블과 관련된 모든 오브젝트들을 shrink 작업을 수행하도록한다.
⦁ 축소 작업의 결과
- row Migration이 해결되어 있을 것이다.
- 해당 세그먼트에 대한 스캔 및 DML 성능 및 공간 활용이 향상된다
- 인덱스가 유지관리 된다
- 트리거가 실행되지 않는다
┗━> insert/delete 작업을 통해 진행되지만 실제 데이터 자체가 변경되지는 않는다.
- IOT에서 보조 인덱스 재구축이 권장된다
3. Resumable space allocation
배경 스토리 > 공간할당 부족 오류가 발생하면 취소된다.
resumable space allocation 이란,
- 취소가 되지 않는 방법
- 공간할당 문제가 발생할 경우 대규모 데이터베이스 작업 실행을 일시 중지했다가 나중에 재개할 수 있는 방법.
- 서버가 유저에게 오류를 표시하지 않고 관리자가 수정조치 가능하고 오류가 해결되면 재개
- Resumable Space Allocation 이 이 기능임
resumable 문
- 일시 중지시 자동으로 트랜잭션도 일시 중지된다.
--> SQL 문을 일시 중지했다가 재개할 때 까지 모든 트랜잭션 리소스 보류
- Resumable 문은 여러 번 일시 중지 및 재개될 수 있음.
Resumable 문의 일시 정지 원인 : 공간부족 / 최대 Extent 도달 / 공간 할당량 초과
설정하는 방법
1) alter session enable resumable; // resume
2) alter session enlable resumable_timeout 초기화 파라미터를 0이 아닌 값으로 수정
3) insert 작업 수행
4) alter session disable resumable // resume 해제
resumable 작업 쓰는 경우
query : 정렬 영역에 사용할 임시공간이 부족한 select문 (공간필요)
DML : INSERT / UPDATE / DELET 는 공간할당 필요
DDL : create table../ create index.. 등
'Oracle ADMIN' 카테고리의 다른 글
Oracle 데이터 동시성 관리, Lock (0) | 2022.07.24 |
---|---|
언두 데이터 관리 (0) | 2022.07.21 |
Oracle 공간 관리 (0) | 2022.07.03 |
Oracle 데이터베이스 저장 영역 구조 (0) | 2022.07.03 |
Oracle 프로파일 생성 및 관리 (0) | 2022.07.03 |