1. US락
1. 언두 세그먼트를 온라인 또는 오프라인시키는 과정을 동기화하는 작업을 수행하는 프로세스는 US락을 획득해야 한다.
2. US락은 언두 세그먼트마다 하나씩 할당한다.
3. ID1 = undo segment#
4. 트랜잭션 변동이 심한 경우에 언두 세그먼트를 온라인 시키는 작업으로 인해 US락 경합이 발생할 수 있다
- 오라클 구동직후 언두세그먼트의 개수가 적은 상태에서 트랜잭션이 급증하는 경우
- 일정시간 동안 트랜잭션이 발생하지 않아 언두 세그먼트가 오프라인된 상태에서 갑자기 트랜잭션이 급증하여 언두 세그먼트가 온라인 되는 경우
5. 온라인 작업 수행에 관한 로그가 alert로그에 기록된다.
6. 10511 이벤트를 수행하여 US락 경합을 해소한다. - 10511 이벤트 : SMON이 언두 세그먼트를 오프라인 시키는 기능을 수행하지 않게 한다.
- event="10511 trace name context forever, level 2"
참고) AUM(Automatic Undo Management)을 사용하는 경우 언두 세그먼트의 온라인/오프라인 시점
1. 인스턴스 기동 : 오픈하는 과정에서 언두 세그먼트를 온라인시킨다.
2. alter system set undo_tablespace = xxxx 명령어 : 기존 언두 세그먼트를 오프라인시키고, 새로운 언두 세그먼트를 온라인시킨다.
3. 트랜잭션 증가와 감소 : 트랜잭션양의 급증으로 인해 새로운 언두 세그먼트를 온라인시키거나 생성한다. 트랜잭션이 없거나 줄면 언두 세그먼트를 오프라인시킨다 ( SMON 수행 )
2. US락 경합 테스트
문서에 대하여
- 최초작성자 : ~kwlee55
- 최초작성일 : 2011년 01월 06일
- 이 문서는 오라클클럽 코어 오라클 데이터베이스 스터디 모임에서 작성하였습니다.
- {*}이 문서의 내용은 (주)엑셈에서 출간한 'PRACTICAL OWI IN ORACLE 10G'와 'Advanced OWI in Oracle 10g'를 참고하였습니다.*