The Self-Managing Database : Automatic Health Monitoring ... ·...
Transcript of The Self-Managing Database : Automatic Health Monitoring ... ·...
The Self-Managing Database : Automatic Health Monitoring
and Alerting
권태완 컨설턴트DB 기술팀TSC 본부한국오라클
Agenda
자가 관리 데이타베이스의 필요성
현재 운영중인 모니터링 시스템의 문제점
Oracle 10g 자동 데이타베이스 상태 점검
Enterpirse Manager를 이용한 Oracle 10g 제어
3rd Party 통합을 위한 PL/SQL APISummary
자가 관리 데이타베이스의 필요성(Self-Managing Database)
데이타베이스 개수의 지속적인 증가
데이타베이스 크기의 기하급수적인 증가
효과적인 관리 요소의 중요성 부각– 자가관리(Self Management)
– 고효율(Increased Efficiency)
– 저비용(Lower Costs)
– 능동적인 문제점 감지, 분석 및 해결
데이타베이스 및 성능을 자가관리하기 위하여서버에서 생성된 경보가 필요
데이타베이스 관리자는어떤 작업에 시간을 소비하는가?
데이타로딩 6%
소프트웨어
유지보수 6%
설치 6% 데이타베이스
생성 및 구성 12%
데이타베이스 시스템
관리 55%
Source: IOUG 2001 DBA Survey
데이타베이스 관리 과제(Database Management Challenges)
애플리케이션과SQL 관리
저장영역관리
백업 및 복구관리
시스템 자원
관리
스페이스관리
?
?
??
?
해결책 : 자가 관리 데이타베이스(Self Managing Database)
애플리케이션과SQL 관리
저장공간관리
백업 및 복구
관리
시스템 자원
관리
스페이스관리
Fix Advise
AlertMonitor
자동 관리
Enterprise ManagerDatabaseConsole
CommonManageabilityInfrastructure
현재 운영중인 모니터링 시스템들의문제점 - 1
모니터링하는 시스템이 모니터링 되는시스템에 영향을 줌
데이타베이스 상에 성능 저하 요소 발생– 경합발생 (래치 및 디스크I/O)– 자원의 오버헤드 발생
– 잠재적 장애시간 발생
과도한 시스템 자원의 사용– 작업요청 없이 모니터링이 불가
– 매우 많은 자원 사용(1% 이상)– 주기적으로 데이타를 읽어오는 “Pull-based” 메커니즘 사용
– SGA 상에서 직접 필요한 데이타를 읽어오는 방식 또한시스템의 CPU를 사용
현재 운영중인 모니터링 시스템의문제점 - 2
모니터링 시스템 환경 구성이 복잡하므로커스터마이징이 필요
– 모니터링을 위한 많은 스크립트
– 스키마 및 오브젝트 생성
– 유연한 전개방식 결여수동 구성
반복 작업
– 확장성의 결여
문제점의 감지부터 분석 및 해결까지의 집약된기능 구현의 결여
자동 데이타베이스 상태 점검(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
자동 데이타베이스 상태 점검 : 이전 - Alert Polling
오라클서버
오라클서버
프로세스/
에이젼트
V$ Views PollMetrics
관리 콘솔에 통지
SGA Structures
DB관리자에 통지
(Pager / E-Mail)
자동 데이타베이스 상태 점검 : 현재 - Alert Pushing
ALERT_QUEAdvanced Queue
(Automatic Persistence)
자동 부하 저장소(AWR)
자동통지
관리콘솔에 통지
오라클서버
(SGA)
오라클서버
(SGA)
프로세스/
에이젼트
MMON
DB관리자에 통지
(Pager / E-Mail)
Server PushesAlerts
오라클 데이타베이스 10g에 구현된서버 생성 경보의 장점
No Pinging(Data Push, Proactive)
매우 적은 오버헤드
(0.1% 미만 자원 소모)
오라클서버
(SGA)
오라클서버
(SGA)
경보내역을
자동부하저장소에 저장
모니터링 시스템에
거의 부하를 주지 않음
최소한의
구성
MMON
설정 가능한 경보의 종류(Type of Alerts)
임계값 기반 경보(Threshold-based Alerts) :
– 임계값의 초과 여부와 연동
– 예제 : 테이블스페이스의 저장영역 부족 여부경보를 관리자에게 통지하고 문제점 해결 후 자동적으로해당 경보를 정리
임계값과 관련 없는 경보(Non-threshold-based Alerts) :
– 오류등과 같은 이벤트 발생 여부와 연동
– 예제 : ORA-1555 Snapshot too old경보를 관리자에게 통지 후 정리
경보 종류별 예제(Alert Types Examples)
임계값 기반(Threshold based)
– 디스크 I/O를 기다리는 활성화된 세션 수
– 시스템의 CPU 자원을 기다리는 활성화된 세션 수
– 디스크 I/O와 관련이 없는 이벤트를 기다리고 있는활성화된 세션 수
임계값과 관련 없는 이벤트 기반(Non-Threshold based)
– Snapshot too old– 일시적으로 중지된 실행 가능한 세션
임계값 구성(Threshold Configuration)
임계값 기반 경보는 데이타베이스 측정단위(Metric) 상에 2개의 임계값을 설정
– 비교적 시스템에 파급효과가 적은 임계값(Warning Threshold)
– 시스템에 큰 영향을 미치는 매우 위급한 임계값(Critical Threshold)
임계값 기반이 아닌 이벤트 기반 경보들은임계값 설정이 불가
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 경보 프레임워크 상에서 바로사용이 가능 경보
향후 릴리스상에서는 자동 임계값 설정이 가능
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
모니터링 구조(Monitoring Architecture)
새롭게 추가된 뷰
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
…
오라클 데이타베이스 10g에 구현된서버 성능 관리의 장점
AutomaticDatabaseDiagnosticMonitor(ADDM)
SQL Tuning
Access
Memory
Space
PGA
SGA
Segment Advisor
Undo
Buffer Cache
Shared Pool
Seamlessintegration
AWRCommondata source
종합적인 어드바이저 프레임워크 구성
분석에서 해결까지 집약된 드릴 다운 기능
ADDM 사용 방법(Automatic Database Diagnostic Monitor)
오라클서버
(SGA)
오라클서버
(SGA)
자동부하저장소
ADDM이 문제점을 분석
(SQL 문장들을 확인)
경보에 의해 문제점의 상태를 감지
(임계값을 초과한 Wait시간 비율 )
10gAdvisors
AWR Snapshot
MMON
SQL-튜닝
조언자가 질의를
튜닝
EM(Enterprise Manager)을이용한 Oracle 10g 제어
EM(Enterprise Manager)을 이용한데이타베이스 제어
통지 방법 설정 (Pager, E-Mail)
문제점 분석 및 해결을 위해어드바이저 사용
경보 상세사항 및 권고사항 점검
시스템별 적절한 경보의 임계값 설정
문제점에 대한 경보 수신
EM을 이용한 데이타베이스 관리 -Target Database
EM을 이용한 데이타베이스 관리 -ADDM Finding Details
EM을 이용한 데이타베이스 관리 -SQL Tuning Advisor
EM을 이용한 데이타베이스 관리 -Database Performance
EM을 이용한 데이타베이스 관리 -User I/O Wait Class Drilldown
Manage Metrics
측정 단위 관리(Manage Metrics) -임계값 편집(Edit Thresholds)
3rd Party 통합을 위한PL/SQL APIs
패키지를 이용한 측정 단위임계값 설정
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);
서버 생성 경보 사용 절차 :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()
서버 생성 경보 사용 절차 :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) 상에서는 자동적으로 처리됨!
데이타 로딩 3%소프트웨어
유지보수 3%
설치 3%데이타베이스 생성
및 구성 6%
데이타베이스
시스템 관리 25%
Proactive andStrategic
Planning 50+%
Oracle Database 10g상에서데이타베이스 관리자의 작업부하는?
Summary기업내 데이타베이스는 수적 및 양적으로지속적 성장
Oracle 10g는 자가 관리가 가능한 지능형기반구조(Intelligent Infrastructure)를 제공
서버 생성 경보들은 데이타베이스 및 성능을자가관리하기 위한 기반 제공
Oracle 10g는 문제점을 자동으로 감지, 분석 및해결할 수 있는 집약된 기능 제공
Oracle 10g는 저비용, 고효율 관리기능을제공하는 진정한 자가 관리 데이타베이스