채널톡 아이콘

인프런 커뮤니티 질문&답변

oh27919님의 프로필 이미지

작성한 질문수 2

오라클 성능 분석과 인스턴스 튜닝 핵심 가이드

Buffer Cache 개념 및 Buffer Cache Access 메커니즘의 이해

Buffer Cache의 storage I/O

작성

·

282

0

Buffer Cache storage I/O Access 관련 질의있습니다.(강의자료 74p)

맨 처음으로 원하는 데이터가 있는 블록의 DBA정보를 알아내야 하는데, 이 때 storage I/O가 필요할 것으로 생각됩니다.(DBA 정보를 얻기 위해)

제가 생각한게 맞을까요??

그리고, storage I/O가 발생하는것이 맞다면, 버퍼 캐시를 사용하여도 무조건 1번의 storage I/O가 발생하는데,

그렇게 되면 버퍼 캐시를 사용하는 장점이 없어지는 것 같습니다.

버퍼 캐시에 원하는 데이터의 블록 존재여부와 관계없이 두 케이스 모두 storage I/O를 한번씩 하지않나요?

답변 1

1

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까, 

DBA 정보는 오라클의 내부 메커니즘으로 계산됩니다.  어떤 테이블의 어떤 레코드를 액세스 해야 할지 판단되면 오라클은 내부 메커니즘으로 이 DBA정보를 매핑 시킵니다. 

그리고 이렇게 DBA정보나 Buffer cache내의 Hash bucket 등의 정보는 내부적인 Data dictionary에 기반하고 있는데, 이 내부 Data Dictionary는 대부분 초기에 oracle이 기동 될 때 정보들을  전용 메모리에 로딩하거나 너무 큰 경우에는 전체가 로딩되지 않더라도 Buffer cache 메커니즘과 유사하게 자주 사용되는 부분 먼저 메모리에 올리게 됩니다. 

때문에 DBA 정보를 계산하기 위해 storage를 access할 필요는 없습니다. 

 

감사합니다. 

oh27919님의 프로필 이미지
oh27919
질문자

이해했습니다. 자세한 설명 감사합니다!!