<오라클 성능 고도화 원리와 해법1> Ch01-09 Snapshot too old
오라클 성능 고도화 원리와 해법1 Ch01 오라클 아키텍처 - 09 Snapshot too old Snapshot too old(ORA-01555)에 대한 정보를 조회해보면 그 발생 원인을 여러 가지로 나누어 설명하고 있는데, 요약하면 두 가지로 정리할 수 있다(undo 세그먼트가 손상되는 등의 물리적인 원인은 제외). 첫째, 데이터를 읽어 내려가...
오라클 성능 고도화 원리와 해법1 Ch01 오라클 아키텍처 - 09 Snapshot too old Snapshot too old(ORA-01555)에 대한 정보를 조회해보면 그 발생 원인을 여러 가지로 나누어 설명하고 있는데, 요약하면 두 가지로 정리할 수 있다(undo 세그먼트가 손상되는 등의 물리적인 원인은 제외). 첫째, 데이터를 읽어 내려가...
오라클 성능 고도화 원리와 해법1 - Ch01 오라클 아키텍처 - 08 블록 클린아웃 블록 클린아웃(Block Cleanout)은 트랜잭션에 의해 설정된 로우 Lock을 해제하고 블록 헤더에 커밋 정보를 기록하는 오퍼레이션이다. 오라클에서 로우 단위 Lock은 레코드의 속성(Lock Byte)으로 관리되며, 이는 로우 헤더로부터 블록 헤더에 있는 I...
오라클 성능 고도화 원리와 해법1 - Ch01 오라클 아키텍처 - 07 Consistent vs. Current 모드 읽기 본 절에서 설명하는 내용은 다음과 같다. Consistent 모드 읽기와 Current 모드 읽기의 차이점 Consistent 모드로 갱신할 때 생기는 현상 Current 모드로 갱신할 때 생기는 현상 Cons...
오라클 성능 고도화 원리와 해법1 - Ch01 오라클 아키텍처 - 06 문장수준 읽기 일관성 단일 SQL 문이 수행되는 도중에, 또는 트랜잭션 내에서 일련의 SQL 문이 차례로 수행되는 도중에 다른 트랜잭션에 의해 데이터가 변경, 추가, 삭제된다면 일관성 없는 결과집합을 리턴하거나 값을 잘못 갱신하는 문제가 발생할 수 있다. 이런 현상을 방지하고 읽...
오라클 성능 고도화 원리와 해법1 - Ch01 오라클 아키텍처 - 05 Undo 과거에는 롤백(Rollback)이라는 용어를 주로 사용했지만, 9i부터 오라클 사는 공식 문서에 Undo라는 용어를 사용하고 있다. 9i부터 AUM(Automatic Undo Management) 기능이 도입되면서 그런 수동 작업이 불필요해져 Undo 세그먼트 개념을 ...
오라클 성능 고도화 원리와 해법1 - Ch01 오라클 아키텍처 - 04 Redo 오라클은 데이터파일과 컨트롤 파일에 가해지는 모든 변경 사항을 하나의 Redo 로그 엔트리로서 Redo 로그에 기록한다. (물론 데이터 파일에 대한 변경은 캐시된 블록 버퍼를 통해 이루어진다.) Redo 로그는 Online Redo와 Archived Redo 로그로 구성...
오라클 성능 고도화 원리와 해법1 - Ch01 오라클 아키텍처 - 03 버퍼 Lock (1) 버퍼 Lock이란? DB 버퍼 캐시 내에서 버퍼 블록을 찾았으면 가급적 빨리 쥐고 있던 래치를 해제해야 한다. 그러지 않으면 하나의 cache buffers chains 래치에 여러 개의 해시 체인이 달렸으므로 래치에 대한 경합 발생 가능성이 증가하게 된다...
오라클 성능 고도화 원리와 해법1 - Ch01 오라클 아키텍처 - 02 DB 버퍼 캐시 (1) 블록 단위 I/O 블록 단위로 읽는다는 의미는, 하나의 레코드에서 하나의 컬럼만을 읽고자 하더라도 레코드가 속한 블록 전체를 읽게 됨을 의미한다. 6장에서 자세히 설명하겠지만, 이는 데이터베이스 I/O 성능과 튜닝 원리를 이해하는 데 있어 아주 중요한 의...
오라클 성능 고도화 원리와 해법1 - Ch01 오라클 아키텍처 - 01 기본 아키텍처 같은 원리로 오라클은 데이터베이스(데이터를저장하는파일집)와 이를 액세스하는 프로세스 사이에 SGA라고 하는 메모리캐시 영역을 두고 있다(그림 1-3). 워드 프로세서와의 가장 큰 차이점은, 많은 프로세스가 동시에 데이터를 액세스한다는 사실이다. 이 때문에 사용...
오라클 성능 고도화 원리와 해법1 - Ch01 오라클 아키텍처 - 도입 하지만 현실적으로 DBMS 내부 아키텍처와 SQL 옵티마이저의 원리를 이해하지 않고서는 고성능의 DB 애플리케이션을 구축하기 어렵다. 인터넷의 급속한 팽창과 그에 따른 데이터양의 증가 속도가 워낙 빨라 소프트웨어, 하드웨어가그 발전속도를 따라가지 못하기 때문일 것이다. 전문 튜...