110922 oracle ap
DESCRIPTION
TRANSCRIPT
<Insert Picture Here>
데이터베이스 가용성과 성능의 극대화
2011.09.22
한혜영, Senior Sales Consultant 한국오라클
Agenda
• Active Data Guard 도입 배경
• Active Data Guard의 특장점
• 구성 및 동작 원리
• 관리 및 Role Transition
• 고객 적용 사례
<Insert Picture Here>
Active Data Guard 도입 배경
두 마리 토끼 (재난 대비 + 업무활용)
데이터 손실과 다운타임 유통 업체에서 생긴 실제 문제
• 운영 데이터베이스의 alert.log 에 나타난 에러:
– Errors in file /opt/app/oracle/admin/dg/bdump/dg1.trc:
– ORA-01186 : file 93 failed verification tests
– ORA-01251 : Unknown File Header Version read for file
number 93
ORA-01251 - Corrupted file header. This could be caused
due to missed read or write or hardware problem or
process external to oracle overwriting the information
in file header.
• 데이터베이스 비정상 종료 및 어플리케이션 종료
<Insert Picture Here>
Active Data Guard의 특장점
-Remote Mirroring
-Data Guard 특징
-Data Guard Advantages
-Active Data Guard Benefits
InActive
장애 발생 시
매뉴얼 하게 기동
비교 – 스토리지 원격 복제 ”Mirror Everything”
Control
Files fil
Online
Logs
Archive
Logs
Flashback
Logs
Data
Files
SYSTEM
USER
TEMP
UNDO
Production DB Standby DB
Control
Files fil
Online
Logs
Archive
Logs
Flashback
Logs
Data
Files
SYSTEM
USER
TEMP
UNDO
Updates
Network I/O
비교 – Oracle Data Guard ”Recovery Data Only”
Control
Files fil
Online
Logs
Archive
Logs
Flashback
Logs
Data
Files
SYSTEM
USER
TEMP
UNDO
Production DBMS Standby DBMS
Updates
Oracle apply Oracle validation
*www.oracle.com/technology/deploy/availability/htdocs/DataGuardRemoteMirroring.html
Network I/O
27X fewer
network
I/Os*
Delayed Apply기능 지원(optional):
Redo data를 일정시간이 지난다음 반영하도록 설정
가능 - Operational Error를 감지 후 standby site를
이용해 복구가능: flash back기능으로 대체 가능
• 국지적인 재난도 피할 수 있을 만큼의 충분한 거리를 두고 구성 가능
• Zero data loss mode로 구현
100 miles 300+ miles
Data Guard: Synchronous Redo Shipping
Synchronous Disk
Mirroring
200 miles
Data Guard vs Remote Mirror Zero Data Loss Over Long Distance & Delayed apply기능
Data Protection
Protection from data corruptions
– Data Guard: database간의
의존성이 약한 Architecture로 disk
block을 직접 copy하는 것이 아니라
전달된 Redo를 검증하면서 DR
site에 반영하므로 data
corruptions이 전달되지 않도록
보호할 수 있다.
– Remote Mirroring & Stretch
Clusters : storage stack /
corrupted bits에서 발생한
에러가 DR로 전달되어 영향을
미친다
어떤 시스템이라도 장애가 발생할 가능성이 있고 이로 인한 data
corruptions 이 발생할 수 있다 : NIC, Memory, Volume Manager, File
System, OS, HBA, SAN Switch, Disk Controller, RAID, Storage
Array등등 – DR solution의 이중화된 데이터에는 이러한 data
corruptions이 반영되어서는 안 된다.
Data Guard Advantages
1. Network Efficiency
• Data Guard:Redo data만 전송
• Remote mirroring solutions: datafiles, archivelog files, redolog file들 모두 복제
2. Better suited for WANs • Standard TCP/IP 이용- no protocol
converters needed
3. Better Data Protection
• logical and physical corruption들로 부터 보호 가능
4. Functionality
• DBA가 이해하기 쉬운 DR
solution
:backup/recovery와 유사 Redo Apply/SQL Apply
5. Flexibility • storage vendor 종속적이지 않음
6. Maximum ROI • DR투자 효과 증대
reporting/query용으로 활용
Network Bandwidth Network I/Os
Data Guard
Remote Mirroring
7x 27x
Active Data Guard Benefits
• Primary DB의 부하 감소 및 성능 향상 • Primary 의 Workload(Reporting, Backup)를 Standby DB로 분산
• DR + Up-to-Date Reporting • 3rd Party Solution 은 구현 불가
• Replication 솔루션 • 기존 Replication Solution 에 비해 부하가 매우 적고 관리가 단순
• 비용 절감 • 하나 또는 복수개의 Physical Standby DB로 HA, Backup 수행,
Reporting, Test 서버 구현
적용전 - Active Data Guard 운영 서버에서 모든 워크로드를 수용
0
500
1000
1500
2000
Production Database
Data Guard Standby
Read-write service
480 tps
Read-only service
640 tps
Primary server at
100% of capacity
read-only service
1,350 tps
+110%
Primary server at
60% of capacity
Active Data Guard 11g 운영 서버의 성능을 최적화
0
500
1000
1500
2000
Production Database
Active Data Guard Standby
read-write service
1,680 tps
+250%
Active Data Guard Use Examples
• Education – 학교성적 보고서, 교칙, 과목소개 …
• Financial - transaction 조회, 시장가격, 거래내역 …
• Healthcare – 의료 정보 조회, 의사/간호사조회, 의료시설 조회 …
• Legal – 법률 보고서, 재판 내역, 배심원 평결내역 …
• Telecommunications – 사용 내역, 미사용 시간, 과금 요율 …
• Transportation – 배송사태 추적, 운송 요율 조회 …
• Web-business – 카탈로그 조회, 가격비교, 주문 현황 …
Bottom Line …
• Active Data Guard를 사용하면:
• 실시간 Read-only성 작업을 physical standby에서 수행가능하고
• production database의 부하를 덜어 줄 수 있음.
테스트 환경으로 활용 With Snapshot Standby
• Standby Database 를 Test나
개발 환경으로 사용
• DR구축 비용을 줄일 수 있음
• DR환경에서 전반적 test가 가능
• Data loss가 없도록 유지
• 그러나 Snapshot mode로 전환 후
에는 redo적용이 잠시 보류되어
실시간 조회는 제한됨
• Storage snapshots과 유사하지만:
• 동시에 DR기능 유지하고
• 하나의 storage 복사본만 사용
Physical Standby Apply Redo
Snapshot Standby Perform Testing
Open
Database
Back out
Changes
Continuous Redo Shipping
<Insert Picture Here>
Active Data Guard 구성 및
동작 원리
- Active Data Guard Deployment
- Active Data Guard Transport Services
- Active Data Guard Apply Services
- Active Data Protection Mode
Active Data Guard
Reader Farm
Active Data Guard Reader Farm 쿼리 성능에 대한 Scale-out
Production
Database
updates
Standby
Databases
queries
queries
queries
queries
queries
Reporting, web content browsing (including DR)
Online
Redo
Logs
Archived
Redo Logs
Production
Database
Transactions
LGWR
ARCH
Production
RFS
Standby
Redo
Logs
Archived
Redo
Logs
Synchronous LNS
Standby
ARCH
Active Data Guard Transport Services
Asynchronous LNS RFS
RFS
Gap Resolution
Active Data Guard Apply Services
Standby
Redo Logs
Archived
Redo
Logs
Standby
(Redo Apply MRP)
Apply
Redo
Data
From
Site A
Standby
Database ARCH
RFS
Redo 전송 vs. 보호 모드 보호 모드 – 장애 발생 시에 대한 대응 방식
보호 모드
Primary 장애 시
데이터 손실 위험 Redo 전송 Standby로부터 응답이 없는 경우
Maximum
Protection
무 손실
이중 장애 보호 SYNC Primary DB를 shutdown
Maximum
Availability
무 손실
단일 장애 보호 SYNC
Timeout 임계 값 초과 시 Maximum
Performance 모드로 자동 전환
Maximum
Performance
소량의 데이터 손실
가능 ASYNC
Primary DB는 standby로부터의 응답을 결코
기다리지 않음.
LOG_ARCHIVE_DEST_n parameter의 NET_TIMEOUT 속성
Data Guard 11g 기본값 = 30 seconds
자동 Gap 해소
Online
Redo
Logs
Oracle Net
Primary
데이터베이스
Transactions
LGWR
Archived
Redo Logs
Redo Buffer SGA
poll
Standby
Redo
Logs
RFS NSA
NSS
SYNC
ASYNC
ARCH
ARCH
Standby
데이터베이스
조회리포트
Testing
백업
MRP
LSP
RFS
전송 압축 Advanced Compression Option
대역폭에 제한이 있는 환경에 이상적
11gR1: ASYNC 모드 및 gap 해소, 11gR2: SYNC 모드
0
500
1000
1500
2000
2500
시간 - 분
전송 지연
- MB
압축 비적용
22 MB/sec
테스트 세부 사항
• ASYNC 방식
• 12.5 MB/sec 대역폭
• 22 MB/sec redo 생성
비율
• 50% 압축 비율
압축 적용
12 MB/sec
Redo 적용 최적화 병렬 처리 기법 적용
• Media Recovery Coordinator 프로세스 (MRP0) • 복구 세션들에 대한 관리 수행 • 복수 instance로부터 받은 redo를 병합 • Redo 데이터를 parse하여 Apply 프로세스들 사이에 적절히 분배
• Apply 프로세스 • 데이터 블록을 읽어서 redo 변경 사항을 적용
• Apply 프로세스의 개수 자동 설정 = # CPUs - 1
Media Recovery Coordinator (MRP0)
coordinator & thread merger
apply process (pr00) Parallel Media Recovery - 4 CPU server
apply process (pr01)
apply process (pr02)
데이터 손상의 Online 복구
• 자동 블록 복구
• Primary 데이터베이스에서 블록 손상이 발견되면, active standby 데이터베이스에 존재하는 정상 블록 이미지가 자동으로 copy되어 online으로 복구 (역으로 standby에서 블록 손상이 발견되는 경우에도 마찬가지 방식으로 동작)
• 사용자 및 어플리케이션에 투명하게 동작
Active Standby
데이터베이스
Primary
데이터베이스
Read/Write
Workload
지속적인 redo
전송, 검증 & 적용
실시간
리포트
Oracle Database 11g Release 2
<Insert Picture Here>
Active Data Guard 의 관리
및 Role Transition
Oracle Enterprise Manager HA Console
• Data Guard는 물롞 여타 HA 지표들에 대한 통합된 View
Oracle Enterprise Manager Data Guard 관리 페이지
Switchover 및 Failover
Switchover • 계획된 역할 전환
• 데이터 손실은 없음
• 데이터베이스의 re-instantiation 불필요
• 데이터베이스 업그레이드, 시스템 refresh, 데이터 센터 이동, OS 또는 하드웨어 유지보수 등에 활용
Failover • Primary의 예기치 못한 장애
• Flashback Database 기능을 이용하여 원래의 primary 데이터베이스를 reinstate
• SQL 또는 Enterprise Manager GUI를 통해 수동으로 수행하거나
• Data Guard Fast-Start Failover 기능을 통해 자동화 가능
장애에 의한 Downtime의 감소 Fast-Start Failover
SYNC / ASYNC
Data
Guard
Observer
Primary Standby Site A Site B
Data
Guard
Observer
Primary Standby Site A Site B
Data
Guard
Observer
Primary Site A Site B
SYNC / ASYNC
Data
Guard
Observer
Primary Standby Primary Standby
SYNC / ASYNC
Site A Site B
• 자동화된 데이터베이스 failover
• 데이터베이스 down
• 지정된 health-check 조건 만족 시
• 또는 어플리케이션 요청에 의해
• 지원되는 보호 모드
• Maximum Availability 모드
(10gR2)
• Maximum Performance 모드
(11gR1)
• 역할 기반 서비스와의 통합 (11gR2)
• 서비스의 자동 재배치
• 클라이언트 알림 & 자동 재 접속
어플리케이션 Failover 어플리케이션 tier가 살아 있는 경우
역할 기반의
데이터베이스
서비스가
자동으로 시작
(11.2)
2
Standby
Database
Data Guard
Redo Transport
데이터베이스 Tier- Oracle
Real Application Clusters
어플리케이션 Tier - Oracle
Application Server Clusters
Primary 사이트 Standby 사이트
Standby가
primary 역할
takeover
Data Guard
자동
Failover
1
FAN에 의한 클라이언트
알림, TAF/FCF에 의해
어플리케이션은 새로운
primary로 자동 재 접속
3
데이터베이스
서비스
Primary
데이터베이스
어플리케이션 Failover 완전한 사이트 Failover
Firewall
WAN traffic
manager
Primary Site
DNS failover에
의해 사용자들이
새 primary로
route
3 WAN traffic
manager
Primary 사이트 Standby 사이트
Data Guard
Redo Transport
데이터베이스 Tier- Oracle
Real Application Clusters
Firewall
Firewall
Data Guard
자동 Failover
Standby가
primary의
역할 takeover
1
mid-tier
시작 2
Firewall
어플리케이션 Tier - Oracle
Application Server Clusters
<Insert Picture Here>
고객 적용 사례
고객 적용 사례
"건강보험심사평가원은 전국 6 만 7 천여 곳 요양기관의 의약품 처방과 조제 단계에서 실시간으로 중복 처방 여부를 확인하는 DUR(Drug Utilization Review) 시스템을 Oracle MAA 솔루션을 기반으로 구축해 기존 3-4 시간에 육박하던 시스템 장애 복구시간을 무려 2 분내로 단축하고, 수시로 비상대기 시스템을 모니터링해 하루 1300 만 건에 달하는 데이터점검 과정에서의 예상치 못한 다운 타임을 최소화 했다.”