• 오라클 데이터베이스에서 사용되는 중요한 공유메모리의 관리를 자동화 해주는 기능입니다. 즉, 해당 파라미터의 지정이 필요 없게 되었습니다. 게다가, 가용한 메모리를 효율적으로 사용할 수 있게 합니다.
  • 예를 들어, OLTP 작업이 낮에 발생하고 대용량 병렬 일괄처리 작업이 밤에 수행된다고 할 때, DBA들은 이 요구사항에 맞춰 해당 메모리 파라메터를 고려해야 했습니다.
  • Automatic Shared Memory Management은 OLTP 작업 시, Buffer cache에 대부분의 메모리를 할당하여 좋은 I/O 성능을 보장하고, 병렬일괄처리 작업 시에는 이 메모리가 LARGE Pool 영역으로 이전되어 병렬처리 가 효율적으로 처리되게끔 조치합니다.
  • Automatic Shared Memory Management은 SGA 구성을 간편하게 합니다. 과거에는, Buffer cache, shared pool, java pool 그리고 large pool에 대한 메모리 값을 수동으로 지정해야만 했습니다. 그러나, 이러한 값을 효율적으로 지정하는 것은 상당히 어려운 일입니다. 메모리를 적게 할당한 경우 좋지 않은 성능이 발생할 수 있고 메모리 부족현상을 초래할 수 있습니다. 반대로, 크게 할당한 메모리는 가용 메모리를 낭비하는 결과를 낳습니다.
  • Automatic Shared Memory Management은 SGA 구성을 간편하게 합니다. 과거에는, Buffer cache, shared pool, java pool 그리고 large pool에 대한 메모리 값을 수동으로 지정해야만 했습니다. 그러나, 이러한 값을 효율적으로 지정하는 것은 상당히 어려운 일입니다. 메모리를 적게 할당한 경우 좋지 않은 성능이 발생할 수 있고 메모리 부족현상을 초래할 수 있습니다. 반대로, 크게 할당한 메모리는 가용 메모리를 낭비하는 결과를 낳습니다.
  • 이 기능은 전체 SGA 구성요소에서 사용될 총 MEMORY 를 지정할 수 있게 합니다. 오라클은 주기적으로 위 메모리를 재 분배합니다.
  • 새로운 SGA_TARGET 파라미터는 SGA 내의 모든 MEMORY을 나타냅니다. 이는 자동적으로 크기가 변경 가능한 요소, 수동으로 변경할 수 있는 요소 그리고 데이터베이스 기동시 내부적으로 할당되는 요소를 포함하는 것입니다.

  • 위 화면의 우측 그림에서 볼 수 있는 바와 같이 위 기능은 SGA_TARGET 파라미터로 지정합니다.
  • SGA_TARGET 값이 ‘0’ 이 아닌 값으로 지정하면 아래 파라메터들은 자동적으로 또한 동적으로 지정되는 것입니다.
    • Database buffer cache (Default pool)
    • Shared pool
    • Large pool
    • Java pool

By haisins

오라클 DBA 박용석 입니다. haisins@gmail.com 으로 문의 주세요.

2 thoughts on “Automatic Shared Memory Management (ASMM)”
  1. At this time it sounds like Movable Type is the best blogging platform out there
    right now. (from what I’ve read) Is that what you are using on your blog?

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다