AIX 6.1 JFS2 Oracle 파일 시스템, 파일 시스템 캐시를 많이 사용하지 않음

AIX 6.1 JFS2 Oracle 파일 시스템, 파일 시스템 캐시를 많이 사용하지 않음

저는 AIX 6.1에서 Oracle 데이터베이스를 실행하고 있으며 Oracle은 JFS2 파일 시스템을 사용합니다. Maxperm은 90%로 설정되어 있습니다. 이 서버는 사용량이 많은 데이터베이스 서버이지만 파일 시스템 캐시를 사용하지 않습니다(2% 미만). 시스템에는 40GB의 사용 가능한 메모리가 있습니다.

파일 시스템 캐시를 사용하지 않는 이유가 있나요?

답변1

오라클은 실제로 열심히 일합니다피하다파일 시스템은 이를 수행할 수 있는 시스템에 데이터 파일(제어 및 로그 파일 포함)을 캐시합니다. 이는 동시 I/O가 있는 AIX 및 JFS2의 경우입니다(참조:AIX에서 Oracle 데이터베이스 관리조정 제안도 가능합니다.)

아이디어는 데이터의 이중 버퍼링을 방지하는 것입니다. Oracle은 SGA의 블록을 캐시합니다. OS가 이들도 캐시하면 RAM에 두 번 저장하게 되는데 이는 낭비입니다. Oracle은 운영 체제의 캐시 교체 정책보다 더 정확하게 캐시를 관리할 수 있어야 합니다. Oracle은 일반적인 상황에서 운영 체제보다 현재 작업 부하에 대한 블록의 중요도/핫도에 대한 더 많은 정보를 가지고 있습니다.
(오라클은 ACID 속성을 유지하기 위해 데이터베이스만이 수행할 수 있는 매우 멋진 "쓰기 버퍼링"도 수행하며 언제, 무엇을 플러시하고 동기화할지에 대한 정확한 제어가 필요합니다.)

여유 RAM이 있고 Oracle 캐시 적중률이 좋지 않은 경우 SGA 크기(특히 DB 버퍼 캐시)를 늘리는 것을 고려해야 합니다. 기타 튜닝 보기를 검토 V$DB_CACHE_ADVICE하고 다른 용도(특히 PGA 및 비Oracle 애플리케이션)에도 RAM이 필요하다는 점을 기억하십시오. 따라서 모든 RAM을 SGA에 할당하지 마십시오.
Oracle 11g를 사용하는 경우 다음을 설정하십시오.자동 메모리 관리단일 대상 메모리 크기를 설정하고 Oracle이 자체적으로 다양한 영역의 균형을 조정할 수 있도록 고려해야 합니다. (이전 버전의 경우 자동 SGA 및 PGA 관리를 학습하시기 바랍니다.)

언제나 그렇듯이 프로덕션 시스템에 적용하기 전에 변경 사항을 테스트하고 벤치마킹하세요. 그리고 운영 체제를 고갈시키지 말고 다른 요구 사항을 충족하기 위해 Oracle 메모리 영역 외부에 "합리적인" 양의 메모리를 남겨 두십시오.

데이터베이스 엔진(브랜드에 관계없이) 또는 파일 시스템/운영 체제 중 캐싱에 가장 적합한지 여부는 오래된 논쟁입니다. 잘 조정된 데이터베이스는 일반적인 상황에서 더 효과적으로 캐시할 수 있어야 합니다. 운영 체제가 잘못 구성된 데이터베이스를 무효화할 수 있습니다.

관련 정보