[ORACLE 질문] 오라클에서 컴파일된 쿼리의 생명주기(?) 관련
터큰
제가 표현을 제대로 한것인지 모르겠네요.
워낙에 기초 없이 맨땅에 헤딩식으로 몇년째 버텨왔더니 용어에 약합니다. ㅡ_ㅜ
제가 사용하는 단어가 적절치 않다면 넓은 아량으로 이해해 주시고 바로 잡아주세요. ^ㅡ^a
제가 궁금한것은 제목 그대로 오라클에서 컴파일된 쿼리의 생명주기(?)는 어디까지인지 입니다.
여기서 생명주기라고 표현을 하는게 적절한것인지는 모르겠지만.. (__ )a
일단 제가 알기로는 오라클에서 특정 쿼리를 실행하는 경우 해당 쿼리를 컴파일한 후 실행하는 것으로 알고 있습니다.
그리고 일정 시간동안 해당 쿼리를 실행하지 않는 경우 컴파일된 쿼리는 삭제되고 그 후 해당 쿼리를 실행하려면 다시
컴파일을 해야하는 것으로 알고 있습니다.
제가 제대로 알고 있는것인지요?
제가 제대로 알고 있다는 가정하에 궁금하던 사항을 더 적어봅니다.
위에서 일정 시간동안 해당 쿼리를 실행하지 않는 경우.... 이 일정 시간동안이란건 오라클 서버에서 설정이 가능한 것인지요?
그리고 설정이 가능하다면 현재 설정되어져 있는 시간을 확인하려면 어떻게 확인을 해야할런지요?
제 질문이 이해가 안되신다면 덧글로 물어봐주시면 다시 풀어서 질문을 드리도록 하겠습니다.
위 질문사항에 대해 알고 계시는 분께서는 조언을 부탁드립니다.
감사합니다. _(_ _)_
-
예님
아... 좋은 정보 감사드립니다. _(_ _)_
-
풀잎
오라클의 메모리 영역에 관한 질문인거같아서 .. 오라클이 올라올때 오라클은 자기만의 메모리 영역을 잡는데 이 부분을 SGA라고 합니다. SGA 영역중에 데이타베이스버퍼캐쉬가 있는데 이 부분이 쿼리가 실행된 결과등의 데이터 블럭을 저장하고 있습니다. 이 캐쉬는 LRU 알고리즘을 사용합니다. 캐쉬 영역이 꽉 차있을경우 가장 오래된놈부터 지우고 새로들어온놈의 정보를 가지고 있습니다. 생명주기(?)는 시간이 아니라 이 영역이 사이즈와 관련있지 않을까 싶습니다