본문으로 건너뛰기

exemONE Database Oracle 성능 분석

1. 전제 조건

항목내용
Oracle 모니터링 권한Oracle 모니터링을 위한 DB 계정 권한이 사전에 부여되어 있어야 합니다.
필수 권한GRANT CREATE SESSION, GRANT SELECT ANY dictionary, GRANT SELECT_CATALOG_ROLE, GRANT ALTER system
AWS RDS 추가 권한grant execute on rdsadmin.rdsadmin_util to exemone;
db-agent 연결Oracle db-agent가 정상 연결(Active) 상태여야 합니다.

2. Oracle 성능 분석 메뉴 구성

메뉴 카테고리서브 메뉴경로최소, 최대 조회 범위
SQL AnalysisSQL SummaryPerformance Analysis > Database > Oracle > SQL Analysis > SQL SummarytoTime 기준 조회, 시분초 사용 불가
SQL AnalysisTop N AnalysisPerformance Analysis > Database > Oracle > SQL Analysis > Top N Analysis최소 30분, 최대 32일
SQL AnalysisPlan AnalysisPerformance Analysis > Database > Oracle > SQL Analysis > Plan Analysis최소 30분, 최대 32일
SQL AnalysisSearch SQLPerformance Analysis > Database > Oracle > SQL Analysis > Search SQL최소 1일, 최대 32일
Wait AnalysisWait SummaryPerformance Analysis > Database > Oracle > Wait Analysis > Wait Summary최소 1일, 최대 32일
Session AnalysisSearch SessionPerformance Analysis > Database > Oracle > Session Analysis > Search Session최소 1초, 최대 1
Performance AnalysisTrend AnalysisPerformance Analysis > Database > Oracle > Performance Analysis > Trend Analysis최소 1일, 최대 90
History AnalysisParameter HistoryPerformance Analysis > Database > Oracle > Parameter HistorytoTime=Base Date, fromTime=Compare Date, 시분초 사용 불가
History AnalysisAlert HistoryPerformance Analysis > Database > Oracle > Alert History최소 1일, 최대 32일
Dataspace AnalysisTablespacePerformance Analysis > Database > Oracle > Dataspace Analysis > Tablespace최소 1일, 최대 32일
Dataspace AnalysisUndo & TempPerformance Analysis > Database > Oracle > Dataspace Analysis > Undo & Temp최소 1일, 최대 32일

3. SQL Analysis

3-1. SQL Summary

메뉴 경로: Performance Analysis > Database > Oracle > SQL Analysis > SQL Summary

개요: 수집된 SQL 통계 정보를 Summary 형태로 보여주는 화면으로, 특정 시점(toTime 기준)의 SQL 수행 현황을 분석합니다.

조회 제한: toTime 기준으로 조회하며, 시/분/초 설정 불가

SQL Summary Grid 항목 (Multi View 실시간 및 Trend Analysis 내 SQL Summary 공통):

항목설명
Collect Time수집 시각
SchemaOracle Schema 명
ModuleModule 명
SQL IDOracle SQL ID (클릭 시 SQL Detail Slide 오픈)
SQL Text수행된 SQL 쿼리
Plan Hash ValueOracle Plan Hash Value
Elapsed Time (sec)SQL 응답 시간 (Sum)
CPU Time (sec)SQL CPU Time (Sum)
Buffer GetsSQL Memory I/O (Sum)
Disk ReadsSQL Physical I/O (Sum)
Rows Processed쿼리에 의해 처리된 행 수
ExecutionsSQL 수행 횟수 (Sum)
Ratio (%)CPU Time과 Elapsed Time의 비율

Toggle 기능: 우측 상단 Toggle 버튼을 통해 아래 컬럼을 합계/평균으로 전환 가능

  • Elapsed Time (sec), CPU Time (sec), Buffer Gets, Disk Reads, Rows Processed

수집에 사용되는 Oracle View:

Oracle View용도
v$sqlstatsSQL 통계 수집
v$sqlSQL 정보 수집

3-2. Top N Analysis

메뉴 경로: Performance Analysis > Database > Oracle > SQL Analysis > Top N Analysis

개요: Stacked Area Chart를 활용하여 특정 기간 동안의 Top SQL을 조회하는 기능입니다.

조회 제한: 최소 30분

Search Panel 항목:

항목설명
Reset검색 조건을 초기화합니다.
Instance인스턴스를 선택합니다.
Time기간 버튼 및 달력 UI를 이용하여 조회 기간 및 시간을 설정합니다. 최소 30분, 최대 32일
Order byOrder By 조건을 선택합니다. (Elapsed Time, CPU Time, Buffer Gets, Disk Reads 등)

화면 구성:

순번항목설명
1Search Panel검색 조건 설정 영역
2Search Result검색 패널에서 선택한 조건을 상단에 텍스트로 표시
3Chart검색 조건에 따른 일자별 Trend Chart (Stacked Area)
4Top SQL조회 조건에 맞는 데이터 중 상위 SQL 목록 (최소 20개, 최대 200개 조회 가능)

주요 수집 Oracle View:

Oracle View용도
v$sqlstatsSQL 통계 수집
v$sqlSQL 정보 수집

3-3. Plan Analysis

메뉴 경로: Performance Analysis > Database > Oracle > SQL Analysis > Plan Analysis

개요: Oracle SQL의 실행 계획(Execution Plan)을 분석하는 화면입니다.

조회 제한: 최소 30분

주요 수집 Oracle View:

Oracle View용도
v$sql_plan실행 계획 수집
v$sql_plan (SQLPlanDiff)실행 계획 변경 이력 비교
v$sql_shared_cursorSQL 공유 커서 정보 수집
v$sql_bind_captureSQL 바인드 변수 수집

3-4. Search SQL

메뉴 경로: Performance Analysis > Database > Oracle > SQL Analysis > Search SQL

개요: 조건을 지정하여 과거 수행된 SQL을 검색·조회하는 기능입니다.

조회 제한: 최소 1일


4. Wait Analysis

4-1. Wait Summary

메뉴 경로: Performance Analysis > Database > Oracle > Wait Analysis > Wait Summary

개요: Oracle Wait Event 통계를 기간 기준으로 요약·분석하는 화면입니다.

조회 제한: 최소 1일, 시분초 사용 불가

Wait Summary Grid 항목 (Trend Analysis 내 Event Grid 기준):

Wait Class Grid:

항목설명
Wait ClassOracle Wait Class 명
Total Wait Class (sec)Session 대기 시간 (sec)
Total Waits해당 Wait Event의 총 대기 횟수 (Sum)
Avg Wait Time (sec)Total Wait Time / Total Waits (sec)

Event Grid:

항목설명
Event NameOracle Wait Event 명
Time Waited (sec)Oracle Wait Event 총 시간
Wait CountOracle Wait Event 총 횟수
Time Waited (FG) (sec)Oracle Foreground Session에서 Wait Event 총 시간
Wait Count (FG)Oracle Foreground Session에서 Wait Event 총 횟수
Avg Time Waited (sec)Oracle Wait Event 평균 시간
Avg Time Waited (FG) (sec)Oracle Foreground Session에서 Wait Event 평균 시간

수집에 사용되는 Oracle View:

Oracle View용도
v$system_eventDB Wait Event 통계 수집
v$event_nameWait Event 명 수집

5. Session Analysis

5-1. Search Session

메뉴 경로: Performance Analysis > Database > Oracle > Session Analysis > Search Session

개요: 조건을 지정하여 특정 시점 또는 기간의 Oracle 세션 이력을 검색·조회하는 기능입니다.

조회 제한: 최소 1초

Session Grid 항목:

항목설명
Time수집된 시각
SIDSession Identifier
Serial#Session Serial Number
SPIDServer Process ID
UsernameOracle User 명
OS UserOS User 명
MachineMachine 명
ProgramProgram 명
ModuleModule 명 (DBMS_APPLICATION_INFO.SET_MODULE로 설정한 정보)
Last Call ETSQL 시작 후 현재까지의 수행 시간
PGA Used Mem (MB)PGA의 현재 크기 (MB)
Event현재 대기 중인 Wait Event 명
StateSession의 상태
SQL IDOracle SQL ID
SQL Text수행된 SQL 쿼리
Child NumberOracle SQL Child Number
Prev SQL ID이전에 수행된 SQL ID
Temp TablespaceTemp 테이블스페이스 명
Sort Usage (MB)Sort 사용량 (MB)
Undo Usage (MB)Undo 테이블스페이스 사용량 (MB)

수집에 사용되는 Oracle View:

Oracle View용도
v$sessionActive Session 정보 수집
v$sqlSQL 정보 수집
v$sort_usageSort 사용량 수집
v$transaction트랜잭션 정보 수집
v$process프로세스 정보 수집

6. Performance Analysis

6-1. Trend Analysis

메뉴 경로: Performance Analysis > Database > Oracle > Performance Analysis > Trend Analysis

개요: 날짜별·시간별 성능 추이를 확인하고, 특정 시점의 정밀한 성능 분석 기능을 제공합니다.

조회 제한: 최소 1일, 시분초 사용 불가 / 기간 설정 최대 범위 2일

기본 뷰 화면 구성:

순번항목설명
1Search Panel버튼 클릭 시 Search Panel을 표시합니다.
2Search ResultSearch Panel에서 선택한 조건을 상단에 텍스트로 표시합니다.
3Trend Chart데이터베이스 주요 지표 Trend를 표시하며 주요 성능 지표에 대한 모니터링이 가능합니다.
4GridChart에서 클릭한 시점에 수집된 Session, Wait Chains, SQL Summary, Event, Long Session Query 정보를 보여줍니다.

Search Panel 항목:

항목설명
ResetSearch 조건을 초기화합니다.
Instance인스턴스를 선택합니다.
Time기간 버튼 및 달력 UI를 이용하여 조회 기간 및 시간을 설정합니다. (최소 1일, 최대 90일)

Trend Chart:

항목설명
Chart조회 대상, 기간에 맞춰 Chart를 표시합니다. 마우스 오버 시 Indicator 및 Tooltip 표시
Stat Change좌측 상단 각 차트명을 클릭하여 지표를 변경합니다.

Grid 하위 탭 구성:

6-1-1. Session Tab

클릭 시점에 수집된 Session 정보를 확인합니다.

항목설명
Time수집된 시각
SIDSession Identifier
Serial#Session Serial Number
SPIDServer Process ID
UsernameOracle User 명
OS UserOS User 명
MachineMachine 명
ProgramProgram 명
ModuleModule 명
Last Call ETSQL 시작 후 현재까지의 수행 시간
PGA Used Mem (MB)PGA의 현재 크기 (MB)
Event현재 대기 중인 Wait Event 명
StateSession의 상태
SQL IDOracle SQL ID
SQL Text수행된 SQL 쿼리
Child NumberOracle SQL Child Number
Prev SQL ID이전에 수행된 SQL ID
Temp TablespaceTemp 테이블스페이스 명
Sort Usage (MB)Sort 사용량 (MB)
Undo Usage (MB)Undo 테이블스페이스 사용량 (MB)

6-1-2. Wait Chains Tab

클릭 시점에 수집된 Wait Chains (Lock 체인) 정보를 확인합니다.

항목설명
Time발생 시각
Chain Is Cycle마지막 차단 Session이 초기 차단 Session에 의해 차단되는지 여부 (TRUE/FALSE)
InstanceInstance 명
SIDSession ID
Serial#Session 시리얼 번호
PID프로세스 ID
OSID운영체제(OS) Session ID
Blocker Instance락을 발생시킨 Session의 Instance 이름
Blocker SID락을 발생시킨 Session의 ID
Blocker Serial#락을 발생시킨 Session의 시리얼 번호
Blocker PID락을 발생시킨 Session의 프로세스 ID
Blocker OSID락을 발생시킨 Session의 OS Session ID
Blocker Is Valid차단된 Session의 이력 존재 여부 (TRUE/FALSE)
In Wait Secs차단된 Session이 현재 대기 상태에 있는 시간 (Second)
Event차단된 Session이 대기 중인 Event 명
Lock TypeLock을 소유한 Session의 Lock type
Lock ModeLock을 소유한 Session의 Lock mode
Number Waiters차단된 Session을 기다리는 Session 수
In Wait차단된 Session이 대기 중인지 여부 (TRUE/FALSE)
Row Wait OBJ#Row가 포함된 Object ID
SQL IDOracle SQL ID
Prev SQL ID직전에 수행한 SQL 문장의 Oracle SQL_ID

수집에 사용되는 Oracle View:

Oracle View용도
dba_objectsWait Chains 오브젝트 정보
v$wait_chainsWait 체인 정보 수집

6-1-3. SQL Summary Tab

드래그한 조회 기간의 SQL Summary 정보를 확인합니다.

항목설명
조회 기간 정보 표기Trend Chart에서 드래그한 조회 기간 정보를 Grid 상단에 표기합니다.
Toggle우측 상단 Toggle 버튼으로 Elapsed Time, CPU Time, Buffer Gets, Disk Reads, Rows Processed를 합계/평균으로 전환합니다.

Grid 컬럼은 위 3-1 SQL Summary Grid 항목과 동일합니다.

6-1-4. Event Tab

드래그한 조회 기간의 Wait Event 정보를 확인합니다.

Grid 컬럼은 위 4-1 Wait Summary Grid 항목과 동일합니다.

6-1-5. Long Session Query Tab

드래그한 조회 기간의 Long Session Query(장기 수행 쿼리)를 확인합니다.

항목설명
RankElapsed Time 기준 순위
SQL Exec Start쿼리 실행 시작 시각
SIDSession ID
Serial#Session 일련번호
User NameSession의 DB User 명
Program프로그램 명
ModuleModule 명
Elapsed Time (sec)쿼리가 수행된 시간 (sec)
CPU Time (sec)CPU 사용 시간
SQL ID수행된 SQL의 고유 식별자 (클릭 시 SQL Detail Slide 오픈)
SQL Text수행된 SQL 쿼리

7. History Analysis

7-1. Parameter History

메뉴 경로: Performance Analysis > Database > Oracle > Parameter History

개요: Oracle 파라미터 변경 이력을 조회하여 특정 시점의 파라미터 값을 비교·분석하는 기능입니다.

조회 제한: toTime = Base Date(기준 날짜), fromTime = Compare Date(비교 날짜)로 사용하며, 시분초 사용 불가

수집에 사용되는 Oracle View:

Oracle View용도
v$parameterOracle 파라미터 정보 수집

7-2. Alert History

메뉴 경로: Performance Analysis > Database > Oracle > Alert History

개요: Oracle 인스턴스에서 발생한 Alert 이력을 조회하는 기능입니다.

조회 제한: 최소 7일, 시분초 사용 불가


8. Dataspace Analysis

8-1. Tablespace

메뉴 경로: Performance Analysis > Database > Oracle > Dataspace Analysis > Tablespace

개요: Oracle 테이블스페이스의 사용 현황 및 추이를 분석하는 기능입니다.

조회 제한: 최소 1일, 시분초 사용 불가

수집에 사용되는 Oracle View:

Oracle View용도
dba_free_space테이블스페이스 여유 공간 수집
dba_data_files데이터 파일 정보 수집

알람 연계:

  • Tablespace 지표는 Setting > Alert > User Alert > Create Rule 에서 Table 타입 알람으로 등록 가능합니다.
  • 알람 등록 지표명: Oracle Tablespace

8-2. Undo & Temp

메뉴 경로: Performance Analysis > Database > Oracle > Dataspace Analysis > Undo & Temp

개요: Oracle Undo 세그먼트 및 Temp 테이블스페이스의 사용 현황을 분석하는 기능입니다.

조회 제한: 최소 1일, 시분초 사용 불가

수집에 사용되는 Oracle View:

구분Oracle View용도
Undodba_undo_extentsUndo 익스텐트 정보 수집
Undodba_data_files데이터 파일 정보 수집
Undodba_rollback_segsRollback 세그먼트 정보 수집
Tempv$sort_segmentSort 세그먼트 정보 수집
Tempdba_tablespaces테이블스페이스 정보 수집
Tempdba_temp_filesTemp 파일 정보 수집

9. 주의사항 / 참고

항목내용
조회 범위 제한각 화면별 최소 조회 범위가 다르므로 조회 시간 설정 시 주의가 필요합니다.
Parameter History 날짜 설정toTime = Base Date(기준 날짜), fromTime = Compare Date(비교 날짜)로 동작합니다. 시분초 설정 불가입니다.
Alert History 조회 제한최소 7일 이상의 기간이 필요합니다.
조회 범위 보정최소 조회 범위보다 작은 기간이 입력되면, 최소 범위에 맞게 기간이 자동 보정되어 조회됩니다.

참고 문서: