개인 재정 Oracle 12c의 데이터베이스 버퍼 캐시의 기본 사항 - 더미

Oracle 12c의 데이터베이스 버퍼 캐시의 기본 사항 - 더미

차례:

비디오: [오라클 기초 강좌] 12 - 테이블스페이스 이해 - 오라클 스토리지 구조, 테이블스페이스 생성/변경/제거 2024

비디오: [오라클 기초 강좌] 12 - 테이블스페이스 이해 - 오라클 스토리지 구조, 테이블스페이스 생성/변경/제거 2024
Anonim

Oracle 12c의 데이터베이스 버퍼 캐시 는 일반적으로 SGA의 가장 큰 부분입니다. 디스크의 파일에서 가져온 데이터가 있습니다. 디스크에서 데이터에 액세스하는 것이 메모리에서보다 느리기 때문에 데이터베이스 버퍼 캐시의 유일한 목적은 빠른 액세스를 위해 메모리에 데이터를 캐시하는 것입니다.

데이터베이스 버퍼 캐시에는 모든 유형의 개체의 데이터가 포함될 수 있습니다.

  • 테이블

  • 인덱스

  • 데이터베이스 버퍼 캐시에서

는 버퍼 는 데이터베이스 블록을 나타냅니다. 데이터베이스 블록 는 Oracle이 읽거나 쓰는 최소 저장소 크기입니다. 데이터가 포함 된 모든 저장 영역 세그먼트는 블록으로 구성됩니다. 디스크에서 데이터를 요청할 때 최소한 Oracle은 하나의 블록을 읽습니다. 하나의 행만 요청하더라도 동일한 테이블의 많은 행이 검색 될 수 있습니다. 한 행에서 한 열을 요청하는 경우에도 마찬가지입니다. 오라클은 전체 블록을 읽습니다. 대부분 블록이 많으며 해당 행에 대한 모든 열이 있습니다.

Oracle 12c의 버퍼 캐시 상태

버퍼 캐시

는 사용 가능한 공간과 블록 상태에 따라 어떤 블록을 유지 할지를 제어합니다 (공유 풀이 SQL의 상태를 결정하는 방식과 유사). 버퍼 캐시는 자체 버전의 LRU 알고리즘을 사용합니다.

고정:

현재 액세스 중

  • > 더티: 블록이 수정되었지만 아직 디스크에 쓰여지지 않은 경우

  • 여유 블록 여유 블록은 필요할 때마다 사용할 수있는 것이 이상적입니다. 그러나 데이터베이스가 너무 작아서 전체 내용이 메모리에 들어 가지 않는 한 그렇지 않습니다.

  • LRU 알고리즘은 공유 풀에서보다 버퍼 캐시에서 조금 다르게 작동합니다. 각 블록의 점수를 매긴 다음 액세스 한 이후의 시간을 시간으로 표시합니다. 예를 들어, 블록은 터치 될 때마다 포인트를 얻습니다. 포인트가 높을수록 블록이 메모리에서 플러시 될 가능성이 적습니다. 그러나 자주 액세스해야하거나 점수가 감소합니다. 메모리 리소스에 대한 경쟁률이 높으면 블록이 메모리에 머무르기 위해 열심히 노력해야합니다.

각 블록에 점수와 시간을 부여하면 이러한 유형의 상황이 발생하지 않습니다. 블록은 월말에 보고서에 많이 액세스됩니다.점수가 시스템의 다른 블록보다 높습니다. 그 블록은 결코 다시 액세스되지 않습니다.

데이터베이스가 다시 시작되거나 다른 블록이 마침내 충분한 점수를 얻어서 그것을 극복 할 때까지 메모리를 낭비합니다. 시간 구성 요소는 더 이상 액세스하지 않으면 매우 빨리 사라집니다.

고정 된 블록

현재 액세스중인 블록은

고정 된 블록입니다.

블록은 버퍼 캐시에 잠김 (또는 고정)되어 있기 때문에 오라클 프로세스 (종종 사용자를 나타내는)가 버퍼 캐시에 액세스하는 동안 버퍼 캐시에서 시간이 지날 수 없습니다.

더티 블록

수정 된 블록은 더티 블록입니다. 변경 사항이 데이터베이스 종료를 통해 유지되는지 확인하려면 이러한 더티 블록을 버퍼 캐시에서 디스크로 작성해야합니다. 데이터베이스는 더티 목록이나 쓰기 대기열에있는 더티 블록의 이름을 지정합니다.

블록을 수정할 때마다 손실 된 데이터를 최소화하기 위해 디스크에 기록해야한다고 생각할 수 있습니다. 이것은 사실이 아닙니다. 심지어

커밋 (변경 사항을 영구 저장하는 경우)조차도 아닙니다! 여러 구조가 손실 된 데이터를 방지하는 데 도움이됩니다. 오라클은 도박 문제가 있습니다. 모든 수정마다 디스크에 블록을 작성하면 시스템 성능이 크롤링됩니다. 이를 극복하기 위해 오라클은 데이터베이스가 실패하지 않을 것으로 예상하고 블록을 디스크에 큰 그룹으로만 씁니다.

걱정하지 마십시오. 손실 된 데이터에 대한 위험조차 없습니다. 오라클은 데이터베이스 의 성능을 현재 오히려

더 오랜 시간이 걸리는 복구 비용으로 극복하고 있습니다.

제대로 관리되는 시스템의 오류는 거의 발생하지 않으므로 성능을 확보하기위한 저렴한 방법입니다. 그러나 오라클이 자체적으로 정리하지 않고 더티 블록을 전부 남겨 두는 것처럼 아닙니다. Oracle 12c에서 쓰기 트리거 차단 블록 쓰기 및 더티 블록을 트리거하는 것은 무엇입니까? 데이터베이스에 종료 명령이 발행됩니다. 전체 또는 부분 체크 포인트가 발생합니다 - 시스템이 정기적으로 모든 더티 버퍼를 디스크에 덤프합니다.

사용자가 설정 한 복구 시간 임계 값이 충족됩니다. 더티 블록의 총 수가 용인 할 수없는 복구 시간을 초래합니다. 자유 블록이 필요하고 주어진 검색 량 후에는 아무 것도 발견되지 않습니다.

특정 데이터 정의 언어 (DDL) 명령입니다. (DDL 명령은 데이터베이스의 개체를 정의하는 SQL 문입니다.)

  • 3 초마다.

  • 기타 이유. 알고리즘은 복잡하며 각 소프트웨어 릴리스에서 발생하는 모든 변경 사항을 확신 할 수 없습니다.

  • 사실 데이터베이스는 많은 변화가있는 환경에서 쓰기 블록을 꽤 많이 사용합니다.

Oracle 12c의 데이터베이스 버퍼 캐시의 기본 사항 - 더미

편집자의 선택

Dragon Go! iPhone 및 iPad 용 앱 - 인형

Dragon Go! iPhone 및 iPad 용 앱 - 인형

Dragon Search를 사용하시는 분이라면 Dragon Go를 사용하는 것이 좋습니다! Nuance는 iPhone 3GS, iPhone 5, iPhone 4, iPod touch (3 세대), iPod touch (4 세대) 및 iPad에서 사용할 수 있도록 무료로 다운로드 할 수있는이 앱을 만들었습니다. (iOS 4.0 이상이어야합니다.) Android 기기에서도 사용할 수 있습니다. 드래곤가! ...

드래곤에서 피할 수있는 10 가지 실수 말하기 - 인형

드래곤에서 피할 수있는 10 가지 실수 말하기 - 인형

모두가 실수를 저지르고 어떤 사람들은 정말 크고 재미있게 만든다. 실수. NaturallySpeaking을 사용하여 많은 실수를 저 지르므로 때때로 수시로 일부를 만들 수도 있습니다. 내가 묻는 것은 다음과 같습니다. 내가 미리 짐작했던 10 가지 분명한 실수를하지 마십시오. 원래의 수. 창조적으로 행동하십시오. 거기서 나가서 ...

NaturallySpeaking을위한 10 가지 시간 절약 팁 - 인형

NaturallySpeaking을위한 10 가지 시간 절약 팁 - 인형

때로는 잘하고 그냥 사용하는 것의 차이 새로운 소프트웨어는 더 지혜롭고 경험 많은 스승의 충고 한 부분입니다. 누군가가 당신에게 전에 말했었 으면 좋을 10 가지가 있습니다. 대화 상자의 단축키 사용 대화 상자, 라디오 버튼, 확인란의 다양한 기능 ...

편집자의 선택

Google SketchUp 8에서 새로운 지형 모델을 만드는 법 - Google에서 모델링 할 때 인형

Google SketchUp 8에서 새로운 지형 모델을 만드는 법 - Google에서 모델링 할 때 인형

SketchUp을 사용하면 지형을 만들어야 할 수 있습니다. 건물에 대한 패치를 모델링하든 센트럴 파크를 다시 디자인하든 기존 데이터로 지형을 모델링 할 수 있습니다. 기존 데이터는 일반적으로 등고선 또는 토폴 라인 형태로 도착합니다. 지형지도에서 볼 수있는 삐걱 거리는 선을 알고 있습니다.

SketchUp에서 드레이프로 경로와 도로를 만드는 법 - 스케치 업에서 드레이프 도구

SketchUp에서 드레이프로 경로와 도로를 만드는 법 - 스케치 업에서 드레이프 도구

드레이프 도구가 작동 함 쿠키 커터와 조금 같다. 그것을 사용하여 객체의 가장자리를 직접 그 아래에있는 다른 표면으로 전송합니다. 아마도 당신은 부드럽게 경 사진 지형을 가지고 있으며, 당신은 그것에 사행 경로를 그리기를 원할 것입니다. 경로는 윤곽선을 따라야합니다.

SketchUp 모델을 3D 인쇄 용 부품으로 자르는 방법 - 인형

SketchUp 모델을 3D 인쇄 용 부품으로 자르는 방법 - 인형

SketchUp 모델 자르기 Intersect Faces 도구를 사용하여 그룹을 결합하는 것과 매우 유사합니다. 더 큰 오브젝트와 교차하여 커팅의 새 가장자리가 될 커터로 지오메트리를 사용할 것입니다. 모델이 매우 단순하고 SketchUp을 사용하는 경우 ...

편집자의 선택

Route Prefix를 사용하여 Junos - dummy에서 라우팅 필터를 생성하는 방법

Route Prefix를 사용하여 Junos - dummy에서 라우팅 필터를 생성하는 방법

라우팅 정책은 특정 경로가 라우팅 테이블에 수용되거나 일부 인접 라우터에 보급되는 것을 방지하기위한 것입니다. 경우에 따라 특정 경로 또는 경로 집합을 일치시키는 것이 유용 할 수 있습니다. 이렇게하려면 경로 필터를 사용합니다. 경로 필터는 특정 IP 주소 또는 접두어 범위에서 일치합니다. ...

Junos 라우터에서 COS의 코드 포인트 별명을 사용하는 방법 - 인형

Junos 라우터에서 COS의 코드 포인트 별명을 사용하는 방법 - 인형

전달 수업은 고통 스러울 수 있습니다. 더 좋은 방법은 코드 포인트 별칭을 사용하는 것입니다. CoS (Class of Service) 정책을 결정할 때 비트 패턴을 지정하는 대신 비트 패턴을 나타내는 별칭 이름을 정의 할 수 있습니다. 이러한 별칭을 코드 포인트 별칭이라고합니다. 간단히 말하자면 코드 포인트를 사용하십시오 ...

Junos 라우팅 정보를 요약하는 방법 - 더미

Junos 라우팅 정보를 요약하는 방법 - 더미

때때로 라우팅 정보를 간단하게 요약 할 수 있습니다 라우터. 예를 들어, 네트워크에서 OSPF를 방금 구성 했으므로 라우팅 테이블에 특정 수의 OSPF 경로가 표시 될 것으로 예상됩니다. show route summary 명령을 실행하여 모든 경로를 볼 수 있습니다 ...