Innovating today, leading tomorrow

Tibero - 모니터링
[Tibero] SHP(Shared Pool) 단편화 모니터링

[Tibero] SHP(Shared Pool) 단편화 모니터링

본 문서는 OUT_OF_SHP 현상에 대한 쉘스크립트의 사용 방법을 안내합니다.

이를 통해 단편화로 인한 현상인지 확인할 수 있습니다.

1. 개요

다량의 리터럴쿼리는 SHP에 다량의 ppc할당을 위한 메모리 점유-해지를 반복하며 메모리 단편화를 야기합니다.

ALTER SYSTEM FLUSH PPC; 명령어를 사용하여도 해지하고 싶은 PP들의 Life Cycle이 끝나지 않는다면,

메모리 점유는 해지되지 않으므로 OUT_OF_SHP 에러가 발생할 수 있습니다.

1.1. 현상

trace.log 파일에 아래와 같은 메시지와 함께 쿼리 수행에 실패합니다.

THROW. ec=ERROR_OUT_OF_SHP(-3002) [ Out of memory (unable to allocate 1874648 bytes of shared 
pool memory). ] (csr_id:720599) [shp_alloc.c:538:shp_malloc_dbginfo

로그상 약 1.7MB를 할당 받으려고 시도 하지만, 연속된 1.7MB 의 SHP 공간이 없어 수행에 실패하거나 에러가 발생합니다.

2. 시나리오

2.1. 쉘스크립트 작성

편의에 따라 max_m 변수의 단위를 조정하여 사용합니다.

#!/bin/bash
if [ $# != 2 ]; then
echo "usage: max_chunk.sh [CHUNK] [DUMP]"
exit
fi
max=0
for i in `grep $1 $2 | awk '{print $2}'`
do
if [[ "$i" -gt "$max" ]]; then
max="$i"
fi
done
max_m=`expr $max / 1024 / 1024`
echo "the largest $1 chunk size in $2 is $max_m Mbytes"

2.2. SHARED DUMP 수행

SQL> ALTER SYSTEM DUMP SHARED POOL; 
System altered.

2.3. DUMP 발생 확인

DUMP 발생 기본위치는 $TB_HOME/instance/$TB_SID/dump/tracedump 또는 TRACE_DUMP_DEST 파라미터값의 위치입니다.

2.4. 쉘스크립트 수행

# sh max_chunk.sh FREE tb_dump_3256_38_1404859.trc 
the largest FREE chunk size in tb_dump_3256_38_1404859.trc is 1 Mbytes

3. 결과

쉘스크립트 수행 결과 사용 가능한 SHP의 연속적인 공간이 1MB 이며, 단편화가 발생했음을 추정할 수 있습니다.


쉘스크립트 사용 사례)

2~3주에 1회 OUT_OF_SHP 가 발생하는 사이트에서 에러발생 전 단편화를 예측하여 DB 재기동 PM을 수행하는 방안을 모색하였습니다.

해당 쉘을 통한 모니터링 방법으로 단편화를 예측한 사례가 있습니다.

광고성 정보 수신

개인정보 수집, 활용 목적 및 기간

(주)티맥스티베로의 개인정보 수집 및 이용 목적은 다음과 같습니다.
내용을 자세히 읽어보신 후 동의 여부를 결정해 주시기 바랍니다.

  • 수집 목적: 티맥스티베로 뉴스레터 발송 및 고객 관리
  • 수집 항목: 성함, 회사명, 회사 이메일, 연락처, 부서명, 직급, 산업, 담당업무, 관계사 여부, 방문 경로
  • 보유 및 이용 기간: 동의 철회 시까지

※ 위 개인정보 수집 및 이용에 대한 동의를 거부할 권리가 있습니다.
※ 필수 수집 항목에 대한 동의를 거부하는 경우 뉴스레터 구독이 제한될 수 있습니다.

개인정보의 처리 위탁 정보
  • 업체명: 스티비 주식회사
  • 위탁 업무 목적 및 범위: 광고가 포함된 뉴스레터 발송 및 수신자 관리
 

개인정보 수집 및 이용

개인정보 수집, 활용 목적 및 기간

(주)티맥스티베로의 개인정보 수집 및 이용 목적은 다음과 같습니다. 내용을 자세히 읽어보신 후 동의 여부를 결정해 주시기 바랍니다.

  • 수집 목적: 티맥스티베로 뉴스레터 발송 및 고객 관리
  • 수집 항목: 성함, 회사명, 회사 이메일, 연락처, 부서명, 직급, 산업, 담당업무, 관계사 여부, 방문 경로
  • 보유 및 이용 기간: 동의 철회 시까지

※ 위 개인정보 수집 및 이용에 대한 동의를 거부할 권리가 있습니다.
※ 필수 수집 항목에 대한 동의를 거부하는 경우 뉴스레터 구독이 제한될 수 있습니다.

개인정보의 처리 위탁 정보

  • 업체명: 스티비 주식회사
  • 위탁 업무 목적 및 범위: 광고가 포함된 뉴스레터 발송 및 수신자 관리
  •