본문으로 건너뛰기

Oracle 모니터링

이제 참고 문서를 기반으로 종합적인 답변을 작성하겠습니다.

exemONE Oracle 데이터베이스 모니터링 상세 가이드


1. 지원 버전

참고 문서: Oracle 모니터링 지원 버전

  • Oracle 12c 이상 버전을 지원합니다.

Cloud 환경 Oracle 지원 현황

참고 문서: DB Agent 지원 환경

Cloud 환경Oracle 지원 여부
AWS✅ 지원
Azure❌ 미지원
OCI✅ 지원
NCP❌ 미지원
GCP❌ 미지원
SCP❌ 미지원

2. 필수 권한

참고 문서: Oracle 모니터링 권한

기본 필요 권한

모니터링 계정(예: exemone)에 다음 권한을 부여해야 합니다:

GRANT CREATE SESSION TO exemone;
GRANT SELECT ANY dictionary TO exemone;
GRANT SELECT_CATALOG_ROLE TO exemone;
GRANT ALTER system TO exemone;

-- AWS RDS인 경우 추가 권한
GRANT EXECUTE ON rdsadmin.rdsadmin_util TO exemone;

ANY dictionary 권한 부여가 어려운 경우

SELECT ANY dictionary 권한 부여가 불가능한 환경에서는 아래 table/view에 대한 개별 SELECT 권한이 필요합니다:

수집 항목필요 table/view
ActiveSessionv$session, v$sql, v$sort_usage, v$transaction, v$process, v$statname, v$sesstat, v$sqltext
ArchivedLogv$archived_log
ASMv$asm_disk, v$asm_diskgroup
DBStatv$sysstat
DBVersionv$instance, v$version
DBWaitv$system_event
EventNamev$event_name
InitBootTimeV$INSTANCE
InitInstanceproduct_component_version, v$license
InitSQLStatv$sqlstats, v$sql
KillSessionALTER SYSTEM KILL SESSION 권한
OSStatV$OSSTAT
Parameterv$parameter
RACStatusv$instance, v$option
Rmanv$rman_backup_job
segmentdba_segments
SessionCountv$session
SessionDetailv$transaction, v$process, v$sort_usage, v$session, v$sql
SessionMetricv$sessmetric
SessionStatMetricv$sesstat
SessionStatusv$session
SgaStatv$sgastat
SQLBindv$sql_bind_capture
SQLMetricv$sql
SQLPlan / PlanDetail / PlanDiffv$sql_plan
SQLReasonv$sql_shared_cursor
SQLStatv$sqlstats, v$sql
StatNamev$statname
TableDBA_TAB_Modifications
Tablespacedba_free_space, dba_data_files
Tempv$sort_segment, dba_tablespaces, dba_temp_files
Timemodelv$sys_time_model
Undodba_undo_extents, dba_data_files, dba_rollback_segs
WaitChaindba_objects, v$wait_chains

3. 주요 모니터링 항목

3-1. Instance Detail Slide (실시간 모니터링)

참고 문서: Instance Detail Slide - Oracle

Oracle 인스턴스 선택 시 아래 탭별 모니터링이 가능합니다:

(1) Information

  • Agent 정보: Instance Name, Status, Instance Group Name, Agent Version, DB Version, Last Boot Time, Uptime
  • Machine 정보: Host Name, Host IP, OS, Kernel Version

(2) Metric (Instance 성능 지표)

지표설명
Active SessionActive Session 수
Total Session전체 Session 수
Lock SessionLock 대기 Session 수
Execute CountSQL문 수행 횟수
Session Logical ReadsMemory I/O 블록 수
Physical ReadsDisk I/O 블록 수
Redo EntriesRedo Entry 발생량
Parse Count (Hard)Hard parsing 횟수
Tps초당 트랜잭션 수
(OS) Cpu UsageCPU 사용률
(OS) Memory Used메모리 사용률

(3) Active Session

실행 중인 Active Session 목록을 실시간으로 확인합니다. Multi Kill 기능으로 다수 세션 동시 종료도 가능합니다.

수집 항목: SID, Serial#, SPID, CPU Time, User Name, OS User, Machine, Program, Module, Last Call ET, PGA, Logical Read, Physical Read, Event, State, SQL ID, SQL Text, Child Number, Prev SQL ID, Temp Tablespace, Sort Usage, Undo Usage

(4) SQL List

최근 수집된 SQL 목록을 확인하며, Schema/Module/SQL ID/SQL Text 검색 및 합계/평균 토글 기능을 제공합니다.

수집 항목: Collect Time, Schema, Module, SQL ID, SQL Text, Plan Hash Value, Elapsed Time, CPU Time, Buffer Gets, Disk Reads, Rows Processed, Executions, Ratio(%)

(5) Event (Wait Event 분석)

Wait Class별 비율을 Pie 차트와 Grid로 확인하고, 선택한 Wait Event에 대한 SQL List까지 연계 조회 가능합니다.

Wait Class Grid: Wait Class, Total Wait Time, Total Waits, Avg Wait Time Wait Event Grid: Event Name, Time(%), Time Waited, Wait Count, Time Waited(FG), Wait Count(FG), Avg Time Waited, Avg Wait Time(FG)

(6) Lock Info

Lock 상태의 Session 목록과 Blocker 정보를 확인합니다. Multi Kill로 Lock Session 종료가 가능합니다.

수집 항목: Time, Chain Is Cycle, Instance, SID, Serial#, Event, In Wait Sec, Blocker SID, Blocker Instance, Lock Type, Lock Mode 등

(7) Alert

알람 규칙 목록과 최근 발생 Alert 상태를 확인합니다.

(8) Parameter

Oracle 파라미터 목록을 조회하고 검색할 수 있습니다.

(9) Host Process List

DB 서버의 프로세스 목록(PID, Process Name, CPU, Memory 등)을 실시간 모니터링합니다.


3-2. Multi View (다중 인스턴스 모니터링)

참고 문서: Multi View - Oracle

다수의 Oracle 서버를 동시에 모니터링하며 다음 영역을 제공합니다:

영역설명
OverviewCPU, Memory, 주요 성능 지표 종합 확인
DB Session TypeActive/Long/Lock Session 실시간 Count
DB Wait Class / Time ModelWait Class와 Time Model 수행시간 추이
Resource UsageRedo, Undo/Temp 사용량 실시간 모니터링
Real Time Monitor5개 주요 성능 지표 Chart (지표 변경 가능)
Session TabSession, Wait Chains, SQL Summary, Event 탭 제공

3-3. Session Detail Slide

참고 문서: Session Detail Slide - Oracle

SID 클릭 시 열리며, 다음 정보를 제공합니다:

  • Session Information: Instance Name, SID, Serial#, Login Time, SPID, OS User, Machine, Module, Program
  • Session Performance Details: Session Logical Reads, CPU Used, Physical Reads, PGA Memory 차트
  • Active Session History: 시간별 Event, SQL ID, CPU Time, State, PGA, Sort/Undo Usage 이력
  • SQL Performance Details: Full Text, Plan, Bind Capture 정보
  • Kill Session: 실행 중인 Session 강제 종료 기능

3-4. SQL Detail Slide

참고 문서: SQL Detail Slide - Oracle

SQL ID 클릭 시 열리며, 다음 탭을 제공합니다:

  • Full Text: SQL 전체 텍스트 (포맷팅, 복사 기능)
  • Trend: Elapsed Time, I/O, Executions 추이 차트
  • History: 시간별 Elapsed Time, CPU Time, Buffer Gets, Disk Reads, Rows Processed, Executions
  • Plan: 실행 계획 (ID, Operation, Owner, Object, Type, Cost, Bytes, Predicate Information)
  • Bind: Bind Capture 정보 및 바인드 변수 적용 SQL 전문

3-5. Performance Analysis (성능 분석)

(1) Trend Analysis

참고 문서: Trend Analysis - Oracle

날짜별/시간별 성능 추이 분석 기능으로, 조회 기간은 최대 90일까지 설정 가능합니다. 하단 Grid에서 다음 관점의 분석이 가능합니다:

  • Session: 특정 시점의 Active Session 정보
  • Wait Chains: Lock Session 정보
  • SQL Summary: SQL 통계 (Elapsed Time, CPU Time, Buffer Gets, Disk Reads 등)
  • Event: Wait Class 및 Wait Event 통계
  • Long Session Query: Elapsed Time 기준 장기 수행 SQL

(2) Top N Analysis

참고 문서: Top N Analysis - Oracle

Stacked Area Chart로 특정 기간 Top SQL을 조회합니다. Group By(SQL/Schema/Module)와 Order By(Elapsed Time/CPU Time/Buffer Gets/Disk Reads/Executions) 조건 설정이 가능합니다.

(3) Wait Summary (Event 분석)

참고 문서: Wait Summary - Oracle

일별 Wait Class 비율 Stack Bar, Pie Chart, Horizontal Chart 및 Wait SQL List를 제공합니다.

(4) DataSpace Analysis - Tablespace

참고 문서: Tablespace - Oracle

  • ASM: ASM Disk Group별 Total/Used Size 일별/시간별 추이, 24시간 증감량
  • Tablespace: Top 100 Tablespace별 Total/Used/Usage(%), 24시간 증감량
  • Segment: Top 100 Segment별 Size, 증감량, 비율

(5) DataSpace Analysis - Undo & Temp

참고 문서: Undo & Temp - Oracle

Session별 Undo & Temp 사용량 일별/시간별 분석과 해당 시점의 Session List를 제공합니다.


4. 추가 주의사항

  1. AWS RDS Oracle 사용 시 rdsadmin.rdsadmin_util에 대한 EXECUTE 권한을 추가로 부여해야 합니다.
  2. Kill Session 기능 사용 시 ALTER SYSTEM 권한이 필요합니다.
  3. Oracle 12c 미만 버전은 지원하지 않으므로, 하위 버전 사용 시 업그레이드를 검토하세요.
  4. Cloud 환경에서 Oracle 모니터링은 AWSOCI에서만 지원됩니다.
  5. Multi View에서 인스턴스 선택 시 해당 인스턴스에 대한 집중 모니터링이 가능하며, Session Tab에서 문제 Session을 발견하여 즉시 Kill할 수 있습니다.