h2.1. 트랜잭션 레이어
1) 정의 : 트랜잭션을 수행할 때 사용하는 리소스들을 단계별로 구분
2) 트랜잭션 인터널 이해의 필요성
- 오라클 내부 구조와 동작 원리는 버전에 따라 바뀐다.
- 최근의 IT환경 및 오라클 환경은 대량의 동시 트랜잭션의 발생과 동시 사용자의 점차적인 증가로 인해 복잡도가 높아진다.
3) 트랜잭션 5 레이어
- Redo Layer
- 베이스 레이이로 트랜잭션이 시작되면 가장 먼저 리두 레이어를 통과한다.
- 리두의 정의, 리두 로그 파일에 저장되는 정보들, 리두 로그의 구성 및 리두 스트럭처, 트랜잭션의 수행단계, 오라클의 리두 로깅 방법, LGWR 프로세스의 동작방식
- 테스트 방법 : DML수행 -> 리두 로그 파일 덤프 -> 리두 로그 파일 변경 사항 확인
- Undo Layer
- AUM(Automatic Undo Management) MUM(Manual Undo Managemenr) 방식 비교, 언두 리텐션, V$UNDOSTAT, 블록 클린 아웃
- 테스트 방법 : DML수행 -> 데이터 블록과 관련된 언두 블록 덤프 -> 변경 사항 확인
- Enqueue Layer
- enqueue 리소스와 enqueue 락의 차이점, owners/waiters/conveters 리스트 정의, enqueue 아키텍처 및 foreign key와 TM락간의 관계
- Block Layer
- PGA Layer
- 프로세스 메모리 구성 요소, 수동/자동 SQL 실행 메모리 방식 비교, 프로세스 메모리 관련 파라미터
- 테스트 내용 : 개별 프로세스의 PGA할당 크기 계산, optimal/one pass/multi pass 모드에 따른 소트/해쉬연상 성능 분석, 런-타임 메모리 크기에 따른 소트/해쉬 연산의 성능 분석