Oracle Database와 관련된 3 가지 용어의 차이점에 대한 이해를 누군가가 확인할 수 있는지 궁금합니다.
많은 출처들이이 용어들을 혼동하고 자세하게 설명하지 않기 때문에 정보를 찾기가 약간 어려웠습니다.
내가 수집 한 것에서 :
- 커밋과 빠른 커밋은 완전히 동일하며 모든 커밋은 빠른 커밋입니다.
- 빠른 커밋은 기본적으로 실행 취소 / 롤백 세그먼트 헤더의 트랜잭션 테이블에서 플래그를 업데이트하여 트랜잭션이 커밋되었음을 나타냅니다. 그러나 실제 블록은 재검토되지 않습니다. 즉, 데이터 블록의 헤더에있는 관심있는 트랜잭션 목록 (ITL)의 UBA (Undo 바이트 주소)는 여전히 해당 Undo 세그먼트의 트랜잭션 테이블을 가리 킵니다. 또한 해당 행의 잠금 바이트가 해제되지 않고 ITL의 잠금 수가 변경되지 않습니다 (행은 여전히 잠겨 있음).
- 커밋 정리에서 블록 이 다시 방문되고 ITL이 커밋 SCN으로 업데이트됩니다. 그러나 ITL의 잠금 수와 각 행과 함께 저장된 잠금 바이트는 여전히 업데이트되지 않으며 (행은 여전히 빠른 커밋 에서처럼 잠김) 블록이 변경 되어도 다시 실행을 생성하지 않습니다.
- 정상적으로 커밋 된 블록 (== 빠른 커밋)은 다음에 닿을 때 지연된 블록 정리를 수행하고 다시 실행합니다.
- 커밋 정리가 완료된 블록은 다음에 닿을 때 지연 로깅 블록 정리가 수행되며 다시 실행됩니다.
누군가가이 점들을 확인할 수 있기를 바랍니다! 감사!