the self-managing database : automatic health monitoring ... ·...

37

Upload: others

Post on 31-Oct-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle
Page 2: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

The Self-Managing Database : Automatic Health Monitoring

and Alerting

권태완 컨설턴트DB 기술팀TSC 본부한국오라클

Page 3: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

Agenda

자가 관리 데이타베이스의 필요성

현재 운영중인 모니터링 시스템의 문제점

Oracle 10g 자동 데이타베이스 상태 점검

Enterpirse Manager를 이용한 Oracle 10g 제어

3rd Party 통합을 위한 PL/SQL APISummary

Page 4: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

자가 관리 데이타베이스의 필요성(Self-Managing Database)

데이타베이스 개수의 지속적인 증가

데이타베이스 크기의 기하급수적인 증가

효과적인 관리 요소의 중요성 부각– 자가관리(Self Management)

– 고효율(Increased Efficiency)

– 저비용(Lower Costs)

– 능동적인 문제점 감지, 분석 및 해결

데이타베이스 및 성능을 자가관리하기 위하여서버에서 생성된 경보가 필요

Page 5: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

데이타베이스 관리자는어떤 작업에 시간을 소비하는가?

데이타로딩 6%

소프트웨어

유지보수 6%

설치 6% 데이타베이스

생성 및 구성 12%

데이타베이스 시스템

관리 55%

Source: IOUG 2001 DBA Survey

Page 6: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

데이타베이스 관리 과제(Database Management Challenges)

애플리케이션과SQL 관리

저장영역관리

백업 및 복구관리

시스템 자원

관리

스페이스관리

?

?

??

?

Page 7: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

해결책 : 자가 관리 데이타베이스(Self Managing Database)

애플리케이션과SQL 관리

저장공간관리

백업 및 복구

관리

시스템 자원

관리

스페이스관리

Fix Advise

AlertMonitor

자동 관리

Enterprise ManagerDatabaseConsole

CommonManageabilityInfrastructure

Page 8: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

현재 운영중인 모니터링 시스템들의문제점 - 1

모니터링하는 시스템이 모니터링 되는시스템에 영향을 줌

데이타베이스 상에 성능 저하 요소 발생– 경합발생 (래치 및 디스크I/O)– 자원의 오버헤드 발생

– 잠재적 장애시간 발생

과도한 시스템 자원의 사용– 작업요청 없이 모니터링이 불가

– 매우 많은 자원 사용(1% 이상)– 주기적으로 데이타를 읽어오는 “Pull-based” 메커니즘 사용

– SGA 상에서 직접 필요한 데이타를 읽어오는 방식 또한시스템의 CPU를 사용

Page 9: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

현재 운영중인 모니터링 시스템의문제점 - 2

모니터링 시스템 환경 구성이 복잡하므로커스터마이징이 필요

– 모니터링을 위한 많은 스크립트

– 스키마 및 오브젝트 생성

– 유연한 전개방식 결여수동 구성

반복 작업

– 확장성의 결여

문제점의 감지부터 분석 및 해결까지의 집약된기능 구현의 결여

Page 10: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

자동 데이타베이스 상태 점검(Automatic Database Health Monitoring)

어드바이저 기반구조(Advisory Infrastructure)

– 통합된 획일적 권장안 제공

서버 생성 경보(Server-generated Alerts)

– 스페이스 부족 등 시스템상의 문제점을관리자에게 즉시 통지

자동 유지보수 태스크(Automatic Maintenance Tasks)

– 사전에 팩키지 된 기능을 이용 자원 통제및 관리

자동 부하 저장소(Automatic Workload Repository)

– 운영 데이타베이스의 “데이타웨어하우스”

Intelligent Infrastructure

Application & SQLManagement

System ResourceManagement

SpaceManagement

Backup & RecoveryManagement

StorageManagement

Database ManagementAutomatic Workload

Repository

Automatic Maintenance Task Infrastructure

Server-generated Alert Infrastructure

Advisory Infrastructure

Page 11: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

자동 데이타베이스 상태 점검 : 이전 - Alert Polling

오라클서버

오라클서버

프로세스/

에이젼트

V$ Views PollMetrics

관리 콘솔에 통지

SGA Structures

DB관리자에 통지

(Pager / E-Mail)

Page 12: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

자동 데이타베이스 상태 점검 : 현재 - Alert Pushing

ALERT_QUEAdvanced Queue

(Automatic Persistence)

자동 부하 저장소(AWR)

자동통지

관리콘솔에 통지

오라클서버

(SGA)

오라클서버

(SGA)

프로세스/

에이젼트

MMON

DB관리자에 통지

(Pager / E-Mail)

Server PushesAlerts

Page 13: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

오라클 데이타베이스 10g에 구현된서버 생성 경보의 장점

No Pinging(Data Push, Proactive)

매우 적은 오버헤드

(0.1% 미만 자원 소모)

오라클서버

(SGA)

오라클서버

(SGA)

경보내역을

자동부하저장소에 저장

모니터링 시스템에

거의 부하를 주지 않음

최소한의

구성

MMON

Page 14: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

설정 가능한 경보의 종류(Type of Alerts)

임계값 기반 경보(Threshold-based Alerts) :

– 임계값의 초과 여부와 연동

– 예제 : 테이블스페이스의 저장영역 부족 여부경보를 관리자에게 통지하고 문제점 해결 후 자동적으로해당 경보를 정리

임계값과 관련 없는 경보(Non-threshold-based Alerts) :

– 오류등과 같은 이벤트 발생 여부와 연동

– 예제 : ORA-1555 Snapshot too old경보를 관리자에게 통지 후 정리

Page 15: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

경보 종류별 예제(Alert Types Examples)

임계값 기반(Threshold based)

– 디스크 I/O를 기다리는 활성화된 세션 수

– 시스템의 CPU 자원을 기다리는 활성화된 세션 수

– 디스크 I/O와 관련이 없는 이벤트를 기다리고 있는활성화된 세션 수

임계값과 관련 없는 이벤트 기반(Non-Threshold based)

– Snapshot too old– 일시적으로 중지된 실행 가능한 세션

Page 16: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

임계값 구성(Threshold Configuration)

임계값 기반 경보는 데이타베이스 측정단위(Metric) 상에 2개의 임계값을 설정

– 비교적 시스템에 파급효과가 적은 임계값(Warning Threshold)

– 시스템에 큰 영향을 미치는 매우 위급한 임계값(Critical Threshold)

임계값 기반이 아닌 이벤트 기반 경보들은임계값 설정이 불가

Page 17: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

Out-of-Box Alerts서버상에서 기본적으로 사용 가능 경보

– Tablespace Space Usage (warning 85%, critical 97%)

– Snapshot Too Old– Recovery Area Low On Free Space– Resumable Session Suspended

Enterprise Manager 경보 프레임워크 상에서 바로사용이 가능 경보

향후 릴리스상에서는 자동 임계값 설정이 가능

Page 18: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

Alert

Server-Generated Alerts

MMON

85% Warning

97% CriticalAlert

Cleared

ClearedThreshold

Alerts

Non-Threshold

Alerts

Metric-Based

Event-BasedAlert Alert Alert

SnapshotToo Old

ResumableSession

Suspended

Recovery Area Low On

Free Space

Page 19: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

모니터링 구조(Monitoring Architecture)

Page 20: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

새롭게 추가된 뷰

Recent Metrics

Metric History

Server-generated Alerts

V$SYSMETRIC_HISTORY

V$SYSMETRIC

DBA_HIST_SYSMETRIC_HISTORY

DBA_THRESHOLDS

V$ALERT_TYPES

DBA_OUTSTANDING_ALERTS

DBA_ALERT_HISTORY

Page 21: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

오라클 데이타베이스 10g에 구현된서버 성능 관리의 장점

AutomaticDatabaseDiagnosticMonitor(ADDM)

SQL Tuning

Access

Memory

Space

PGA

SGA

Segment Advisor

Undo

Buffer Cache

Shared Pool

Seamlessintegration

AWRCommondata source

종합적인 어드바이저 프레임워크 구성

분석에서 해결까지 집약된 드릴 다운 기능

Page 22: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

ADDM 사용 방법(Automatic Database Diagnostic Monitor)

오라클서버

(SGA)

오라클서버

(SGA)

자동부하저장소

ADDM이 문제점을 분석

(SQL 문장들을 확인)

경보에 의해 문제점의 상태를 감지

(임계값을 초과한 Wait시간 비율 )

10gAdvisors

AWR Snapshot

MMON

SQL-튜닝

조언자가 질의를

튜닝

Page 23: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

EM(Enterprise Manager)을이용한 Oracle 10g 제어

Page 24: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

EM(Enterprise Manager)을 이용한데이타베이스 제어

통지 방법 설정 (Pager, E-Mail)

문제점 분석 및 해결을 위해어드바이저 사용

경보 상세사항 및 권고사항 점검

시스템별 적절한 경보의 임계값 설정

문제점에 대한 경보 수신

Page 25: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

EM을 이용한 데이타베이스 관리 -Target Database

Page 26: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

EM을 이용한 데이타베이스 관리 -ADDM Finding Details

Page 27: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

EM을 이용한 데이타베이스 관리 -SQL Tuning Advisor

Page 28: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

EM을 이용한 데이타베이스 관리 -Database Performance

Page 29: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

EM을 이용한 데이타베이스 관리 -User I/O Wait Class Drilldown

Page 30: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

Manage Metrics

측정 단위 관리(Manage Metrics) -임계값 편집(Edit Thresholds)

Page 31: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

3rd Party 통합을 위한PL/SQL APIs

Page 32: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

패키지를 이용한 측정 단위임계값 설정

DBMS_SERVER_ALERTS

SET_THRESHOLD GET_THRESHOLD

SQL> exec DBMS_SERVER_ALERT.SET_THRESHOLD(9000, Metric Identifier, METRIC_ID in V$METRICNAMEDBMS_SERVER_ALERT.OPERATOR_GE, Operator for Warning Threshold’60’, Warning ThresholdDBMS_SERVER_ALERT.OPERATOR_GE, Operator for Critical Threshold’80’, Critical Threshold1, Observation Period in Minutes1, OccurrencesNULL, Instance Name (NULL implies ORACLE_SID value)DBMS_SERVER_ALERT.OBJECT_TYPE_TABLESPACE, Object Type'KITCHEN‘ Name of the Object);

Page 33: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

서버 생성 경보 사용 절차 :3rd Party 사용 예제1. Subscribe to ALERT_QUE using

dbmsaqadm.add_subscriber()2. Create the agent for the subscribing user of the

alerts using the dbmsaqadm.create_aq_agent()3. Associate the db user with the AQ agent using

the dbmsaqadm.enable_db_access()4. Grant the dequeue privilege using the

dbms_aqadm.grant_queue_privilege()5. Register for alert enqueue notification (optional)

using aq$reg_info() and dbms_aq.register()

Page 34: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

서버 생성 경보 사용 절차 :3rd Party 사용 예제

6. Configure e-mail and http proxy using various procedures in dbms_aqelm.set*()

7. Dequeue the alert using dbms_aq.dequeue()

8. Reveal the entire alert message using dbms_server_alert.expand_message()

EM(Enterprise Manager) 상에서는 자동적으로 처리됨!

Page 35: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

데이타 로딩 3%소프트웨어

유지보수 3%

설치 3%데이타베이스 생성

및 구성 6%

데이타베이스

시스템 관리 25%

Proactive andStrategic

Planning 50+%

Oracle Database 10g상에서데이타베이스 관리자의 작업부하는?

Page 36: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle

Summary기업내 데이타베이스는 수적 및 양적으로지속적 성장

Oracle 10g는 자가 관리가 가능한 지능형기반구조(Intelligent Infrastructure)를 제공

서버 생성 경보들은 데이타베이스 및 성능을자가관리하기 위한 기반 제공

Oracle 10g는 문제점을 자동으로 감지, 분석 및해결할 수 있는 집약된 기능 제공

Oracle 10g는 저비용, 고효율 관리기능을제공하는 진정한 자가 관리 데이타베이스

Page 37: The Self-Managing Database : Automatic Health Monitoring ... · y현재운영중인모니터링시스템의문제점 yOracle 10g 자동데이타베이스상태점검 yEnterpirse Manager를이용한Oracle