안녕하세요..초보 DBA 입니다.
shared pool 과 LRU 메카니즘 관계에 대한 고수님의 조언을
구합니다.
shared pool 메모리에는 SQL 문장과 PL/SQL 문장이 저장이 되고,
LRU메카니즘에 의해서 오랫동안 사용되지 않은 문장은 flush가 되는걸루
알고 있는데요,
질문1) LRU 을 제어하는 백그라운드 process가 있나요..? 예를 들면,
shared pool 이 70% ~ 80% 사용중일때, 이를 감지하고 shared pool
메모리를 flush할 준비를 한다든지...만약 LRU를 제어하는 process가
있다면, 제 생각에는 SMON이 가장 유력할것 같은데, SMON에 대해서
조사를 해봤지만, 기존에 알아왔던데로 instance 복구, temporary
segments clean 같은 내용밖엔 찾아 볼수가 없네요..
Process가 아니라면, 시간간격으로 parameter file에 정의가 될수도
잇을것 같은데, 조언 바랍니다.
질문2) 만약 LRU 메카니즘에 의해서 메모리가 flush 되어 메모리가
확보될때, 어딘진 모르겠으나 flush를 한후 log를 남기는지
궁금합니다..?
질문3) shared pool 메모리가 full 이되어 full이 난 시점 이후로,
1~2시간 정도 sql 문을 받아 들이지 못하고 error를 뿌렸는데요, 한
2시간 이후에 정상적으로 돌아 왔다고 합니다.(들은 이야기임 그리고 이
내용에 대한 사실은 확인 못함). 이건 어떻게 설명이
될런지요...나름대로 대충 감은 잡고 있는데, 확실하지 않아서
여쭙니다.
감사합니다.
|