SQL Server 2005 데이터베이스 가용성 강화 측면에서 본 데이터베이스 미러링과 스냅샷, 복제

Slides:



Advertisements
Similar presentations
CUBRID 소개 (Object 개념) 서비스 사업부 / 기술지원팀. 목차 구조 일반적 특징 객체지향 특징 ORDB 개념을 이용한 스키마 ORDB 개념을 이용한 질의.
Advertisements

2001 OUTLET SAP-SQL Server 64bit 구축 사례 한기영 대리 eBusiness Team 2001OUTLET.
Oracle DB 구조 및 트랜잭션 관리 이경화 Database 의 구조 Program Global Area (PGA) Instance Database Buffer Cache Redo Log Buffer Library Cache Shared.
뇌를 자극하는 SQL Server 장. 트랜잭션과 잠금. 뇌를 자극하는 SQL Server 장. 트랜잭션과 잠금 2 / 18 트랜잭션 개념과 문법 트랜잭션 개념  하나의 논리적 작업단위로 수행되는 일련의 작업  전부 되거나, 전부 안 되거나의.
SQL Server 2000 트랜잭션과 잠금 데브피아 세미나
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
HANBIRO SERVICE 로드발란싱/클러스터링/FailOver 시스템 구축 제안서 1. 한비로 클러스터 시스템
Replication Manager를 통한 SQL Server 온라인 백업/신속한 복구
기술 표준 6대 필수 기술 요소에 대해 지정한 그룹 IT 기술 표준에 따라 DBMS는 MS SQL과 Oracle에 대해 검토 함 구분 OS DBMS WAS Web Sever 검토대상 종합의견 x86 기반 OS(64bit 권장) 성능, 안정성 및 HW의 확장성 향상으로.
소리가 작으면 이어폰 사용 권장!.
SQL Server 2000 HA & DR Solutions
SQL Server 개요 SQL Server의 역사를 파악한다. SQL Server 2008의 특징을 이해한다.
*노동문제 * -비정규직 유효림 박지희 전향숙 황연두.
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
안재훈 기업고객사업본부/기술사업부 한국마이크로소프트
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
18장. 데이터의 고가용성 (로그 전달, 데이터베이스 미러링, 복제)
JDBC 프로그래밍 이수지 이동주 1.
You YoungSEok 고급 SQL You YoungSEok
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
17장. 데이터를 안전하게 보관하자. (백업, 복원, 스냅숏)
10장. 데이터베이스 보안과 권한 관리 데이터베이스 보안과 권한 관리
뇌를 자극하는 SQL Server 장. 서버 자동화.
MySQL performance Xhark 김재홍.
데이터베이스 담당교수 신정식 Chapter 4 SQL(1).
Toad for Oracle 설치 방법.
EM 을 이용한 오라클 DataGuard 구성방안 (RAC + EM + DataGuard)
Excel OLAP Reporting / OWC를 이용한
데이터베이스 와 JDBC 1.데이터베이스와 데이터베이스 관리 시스템은? 2.데이터베이스 장점?
Remote Dictionary Server
Chapter 01 데이터베이스 시스템.
Supported Protocol 다음의 예문들은 CLP를 사용하는 방법들을 보여줍니다. 명령어들은 Windows의 DB2 명령창 프롬프트에서 실행합니다. 12. CLP 에서 +c 옵션을 이용하면 autocommit 모드가 사용되지 않으므로.
11장. 데이터베이스 서버 구축과 운영.
오라클 데이터베이스 성능 튜닝.
2007. Database Term Project Team 2 윤형석, 김희용, 최현대 우경남, 이상제
SQL Server 2000, SQL Server 2005 비교 자료
장윤석과장 Technology Specialist (주)한국마이크로소프트
MySQL 기본 사용법.
트랜잭션과 잠금 트랜잭션 처리 메커니즘을 자세히 이해한다. 트랜잭션의 종류를 파악한다.
6장. 물리적 데이터베이스 설계 물리적 데이터베이스 설계
SQL Server™ 2000: DBA의 역할과 책임 하 성희.
SQL Server 2000 세미나 Profiler를 이용한 문제해결
차례 튜닝 - 프로필러를 이용한 튜닝 프로필러 친해지기 프로필러 결과 테이블로 만들기 프로필러 결과 분석하기
ASP를 이용한 전자상거래 사이트 구축 지도교수님: 이형원 컴퓨터응용과학부 박정선.
1장. 데이터베이스 시스템 컴퓨터를 사용하여 정보를 수집하고 분석하는데 데이터베이스 기술이 활용되고 있음
16장. 테이블의 변경 새로운 행 삽입 테이블에서 테이블로 행을 복사 행 값의 변경 테이블에서 행 삭제
YOU Youngseok 트랜잭션(Transaction) YOU Youngseok
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
목차 회사소개 회사현황 시스템 구성도 SQL Server 사용 로드맵 프로젝트 개요 DB 마이그레이션
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
CHAPTER 06. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
정보처리기사 8조 신원철 양진원 유민호 이기목 김다연 윤현경 임수빈 조현진.
하성희 복제 구축 예제 하성희
제 20 장 오라클에서 회복 및 백업 기능.
JSP 게시판 구현.
데이터베이스 (Database) SQL 추가 기능: 주장, 뷰, 프로그래밍 기법 문양세 강원대학교 IT대학 컴퓨터과학전공.
기업고객사업본부 / 기술사업부 한국마이크로소프트
Part 5. MS-SQL Server Basic
3장. SQL Server 2008전체 운영 실습 및 DB와 프로그램의 연동
학습목표 학습목표 본 장은 동시성 제어와 잠금(lock) 등 효과적인 트랜잭션 관리 기법 과 필요한 명령을 다룬다. 또한 데이터베이스의 장애에 대비하여 안전한 데이터의 관리를 위한 백업과 복원 기법, 서로 다른 DBMS 간이나 다른 서버 사이의 데이터 교환을 위한 데이터.
SQL INJECTION MADE BY 김 현중.
2015 한국연구재단 글로벌박사 양성사업 변경사항 안내
15 사용자 권한 제어 데이터베이스 보안 권한 롤 동의어.
테이블 관리 테이블 생성,수정,삭제 데이터 입력 수정, 삭제 2010학년도 2학기.
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
데이터 베이스의 내부 구조.
Stored program 장종원
제 5 장 MariaDB인덱스 생성 및 관리.
네트워크 프로토콜.
Presentation transcript:

SQL Server 2005 데이터베이스 가용성 강화 측면에서 본 데이터베이스 미러링과 스냅샷, 복제 차주언 narsas@wtime.net 선임 컨설턴트 MCT, MCSE, MCDBA

들어가는 글 기업 내 컴퓨팅의 가용성을 보장하는 것은 DBA의 중요한 목표이다 기업의 특성과 응용 프로그램의 유형에 따라 엄청난 대가를 치를 수 있다 기존의 백업 복구가 제공하는 단순 기능 이상을 필요로 하며 일년 365일의 가용성을 요구하는 바 다음의 기능들을 소개 합니다.

목차(1) Session 1 : 데이터베이스 미러링 SQL Server 2005 고가용성 기술 비교 데이터베이스 미러링이란? 데이터베이스 미러링에서의 역할 데이터베이스 미러링 종류 (작동 모드) 데이터베이스 미러링 및 SQL Server 2005 Edition 데모 : 데이터베이스 미러링 구현

목차(2) Session 2 : 데이터베이스 스냅샷 데이터베이스 스냅샷이란? 스냅샷 관리 데모 : 데이터베이스 스냅샷 만들기 데이터베이스 스냅샷을 활용한 복구

Session 1. 데이터베이스 미러링

SQL Server 2005 에서의 고가용성 자동 복구 / 데이터 손실률 Zero 수동 복구 / 데이터 손실 복구 데이터베이스 미러링 클러스터링 수동 복구 / 데이터 손실 복구 트랜잭션 복제 로그 전달 데이터 손실 복구 백업 / 복원 Detach / copy / attach

SQL Server 2005 고가용성 기술 비교 특징 클러스터링 로그 전달 미러링 장애 감지 예 아니오 자동 복구 장애조치 동안 30초 이상 N/A 10초 미만 데이터 손실 예 – one copy of data 예 – latest transaction log 예 – in some configurations 중복 저장위치 아니오 – 공유디스크 전용 하드웨어 Certified storage and servers 실제 거리제한 100 마일 무제한 적용 범위 시스템,사용자 데이터베이스 사용자 데이터베이스 Clustering can now be used in conjunction with Analysis Services, Notification Services, and SQL Server Replication. Supports up to eight node clusters on Microsoft Windows Server 2003 Datacenter Edition, increasing the failover capacity. New database mirroring capability provides an enhanced version of log shipping for a faster failover time. Instead of shipping transaction logs at constant, configured intervals, each transaction is shipped as it is applied to the primary server

미러링이란?(1) 즉각적인 복구 결함 허용 서버 데이터베이스 복구 매우 빠름 데이터 손실 없음 하드웨어 Database Mirroring 미러링이란?(1) 즉각적인 복구 결함 허용 서버 데이터베이스 복구 매우 빠름 데이터 손실 없음 하드웨어 일반 표준형 장비로 가능 공유 저장 컴포넌트 불필요

미러링이란?(2) 감시 서버 주 서버 미러 서버 주 데이터베이스 Client 미러 데이터베이스

데이터베이스 미러링으로 얻는 이득 3초 이내의 복구 Complete redundancy 두개의 분리된 서버 두개의 분리된 데이터 표준 네트워크 상의 통신 특정 하드웨어 제약 없음 Self 모니터링 한 개의 데이터베이스를 위한 고 가용성 확보

데이터베이스 미러링에서 서버의 역할(1) 주 데이터베이스 주 서버 사용자의 접속 미러 데이터베이스 미러 서버 장애 발생시 사용자의 접속 감시 서버 자동 장애 조치 수행

데이터베이스 미러링에서 서버의 역할(1) 주 서버 미러 서버 (대기) 감시 서버 클라이언트 연결을 받는다 업데이트 허용 클라이언트는 연결할 수 없다 주 서버 내용 변경시 업데이트 새로운 주 서버로 될 수 있다 감시 서버 다른 두 서버를 모니터링 한다 자동 복구를 지원한다

데이터베이스 미러링 기본 개념 Acknowledge Commit Acknowledge Constantly Redoing on Mirror Transmit to Mirror Write to Local Log Committed in Log Write to Remote Log DB Log Log DB

미러링 세션 상태 데이터베이스가 : SYNCHRONIZED 미러 서버가 데이터를 완전히 가지고 있다 SYNCHRONIZING 미러 서버가 있고 데이터를 가져가고 있다 SUSPENDED 미러 서버 중단 DISCONNECTED 서버가 다른 서버랑 통신 못함 상태 모름 EXPOSED = SYNCHRONIZING or SUSPENDED or DISCONNECTED

Safety Levels (FULL) Acknowledge Commit Acknowledge Transmit to Mirror Write to Local Log Committed in Log Write to Remote Log Log Log

Safety Levels (OFF) Acknowledge Commit Transmit to Mirror Write to Local Log Committed in Log Write to Remote Log Log Log

데이터베이스 미러링 작동 모드(1) 작동모드 트랜잭션 안전 전송 메커니즘 필요한 쿼럼 감시 서버 장애조치 유형 고가용성 FULL 동기식 예 자동/수동 높은 수준의 보호 아니오 수동 높은 성능 OFF 비동기식 없음 강제 ALTER DATABASE 데이터베이스명 SET SAFETY FULL; 고가용성 모드 - 주 데이터베이스를 갑자기 사용할 수 없게 되거나 주 서버가 다운 되는 경우 감시 서버와 미러서버는 쿼럼을 구성하여 미러 서버는 자동 장애조치를 수행한다. 이 지점에서 미러서버는 새로운 주 서버로 역할이 변경되고 데이터베이스를 복구한다 높은수준의 작동 모드 - 감시서버가 없다. 수동 장애조치만 가능하다 고성능 작동 모드 - 트랜잭션 안전성OFF 로그 비동기 전송, 주 서버는 트랜잭션 로그 레코드가 미러에 기록 승인되기를 기다리지 않는다. 미러는 주서버와 같은 상태를 유지하나 최신로그를 저장하는 것을 보장하지는 않는다

데이터베이스 미러링 작동 모드(2) 고가용성 모드 - 주 데이터베이스를 갑자기 사용할 수 없게 되거나 주 서버가 다운 되는 경우 감시 서버와 미러서버는 쿼럼을 구성하여 미러 서버는 자동 장애조치를 수행한다. 이 지점에서 미러 서버는 새로운 주 서버로 역할이 변경되고 데이터베이스를 복구한다 높은수준의 작동 모드 – 감시 서버가 없다. 수동 장애조치만 가능하다 고성능 작동 모드 - 트랜잭션 안전성OFF 로그 비동기 전송, 주 서버는 트랜잭션 로그 레코드가 미러에 기록 승인되기를 기다리지 않는다. 미러는 주 서버와 같은 상태를 유지하나 최신로그를 저장하는 것을 보장하지는 않는다

데이터베이스 미러링 및 SQL Server 2005 Edition 특징 Enterprise&Developer Edition Standard Edition 파트너 네 감시서버 안전성(FULL) 안전성(OFF) 장애조치동안 사용여부 병렬 재실행 데이터베이스 스냅샷

데이터베이스 미러링 구현

데모 : 데이터베이스 미러링 구현 주 서버와 미러 서버 준비 미러 세션 만들기 감시 서버 만들기 작업 수행 장애 발생 주 서버 백업 그리고 미러 서버에 복원 양쪽에 미러세션 시작. 미러 서버에서, 주서버를 파트너 서버로 설정. 주서버에서 미러 서버를 파트너 서버로 설정. 이것으로 주서버에서 로그를 미러 서버로 보내게 되 동기화 된다 실패의 경우 디스커넥트 상태가 되는 것이다 자동 복구를 구현하기 위해 미러링 쿼럼에 감시 서버를 추가한다 이를 위해 주서버 미러 서버 중 한곳에 감시서버를 등록한다 본 데모에서는 주서버가 죽거나 연결불가가 된다(수동). 감시서버가 이를 감지하여 미러 서버가 주서버의 역할을 계속하게 하면 되는 것이다

시나리오 : 미러링 가용성 주 서버 손실의 경우 주 서버 손실 후 새 주 서버 손실 주 서버 손실 후 감시 서버 손실 미러 서버의 손실 미러 서버 손실 후 주 서버 손실 미러 서버에 이어 감시 서버 손실 감시 서버 손실 감시 서버에 이어 주 서버 손실 감시 서버에 이어 미러 서버 손실

시나리오 : 통신 손실 주/미러 서버 통신 손실 주/감시 서버 통신 손실 에 이어 주/미러 서버 통신 손실 미러/감시 서버 통신 손실

결론(요약) 데이터베이스 복구 자동 클라이언트 리다이렉트 하드웨어 손실 Zero 간단한 구축 빠르다 : 3초 이내 자동, 수동 복구 복구 후 자동 재 동기화 자동 클라이언트 리다이렉트 하드웨어 표준형 장비 공유 저장 컴포넌트 불필요 손실 Zero 간단한 구축

Session 2 데이터베이스 스냅샷

데이터베이스 스냅샷 이란? 읽기 전용, 그때 그 시절의 그 모습을 즉각적으로 만든다 원본 데이터베이스의 수정이 일어나면 해당 내용은 스냅샷 데이터베이스에 이동된다 그러나 스냅샷 데이터베이스가 원본에 제약을 가하진 않는다 스냅샷 데이터베이스는 원본과 다른 이름을 가진다 이전에 만들어진 스냅샷 데이터베이스로 에러(주로 사용자 정의)를 복구 할 수 있다

데이터베이스 스냅샷의 관리 스냅샷 만들기 스냅샷 삭제하기 제한 사항 Create database snapshot_데이터베이스명 as snapshot of 데이터베이스명 스냅샷 삭제하기 Drop database snapshot_데이터베이스명 제한 사항

데모 : 데이터베이스 스냅샷 만들기 데이터베이스 스냅샷 만들기 스냅샷 데이터베이스에 억세스 하기 데이터 변화 실험 스냅샷 데이터베이스의 삭제

데이터베이스 스냅샷을 활용한 데이터 복구 시나리오 예제 또는 복구 절차 Undeleting rows Undoing an update 삭제된 객체의 복구 INSERT INTO Production.WorkOrderRouting SELECT * FROM AdventureWorks_dbsnapshot_1800.Prod.WorkOrderRouting UPDATE HR.Department SET Name = ( SELECT Name FROM AdventureWorks_dbsnapshot_1800.HR.Department WHERE DepartmentID = 1) WHERE DepartmentID = 1 스냅샷 데이터베이스에서 해당 객체의 스크립트를 추출한다 사용 데이터베이스로 이동 후 스크립트 실행 위의 쿼리를 참고로 데이터를 예전껄로 복구 한다

데모 : 데이터베이스 복구 사용자 정의 에러 또는 잘못된 수정 예전 데이터로의 복구

스냅샷 데이터베이스의 장/단점 장점 단점 그때 그 시절의 내용을 손쉽게 빠르게 읽을 수 있다 스냅샷 데이터베이스는 원본 데이터베이스 성능에 영향이 없다 여러 스냅샷 데이터베이스를 만들 수 있다 스냅샷 데이터베이스는 영원히 있을 수 있다 단점 스냅샷 데이터베이스를 여럿 만들 경우 디스크 용량문제를 야기할 수 있다 정확한 시점이 불가능하다 해당 스냅샷을 만든 시점으로만 가능하다 미러 서버에 만든 스냅샷은 성능에 영향을 준다

결론(요약) 데이터베이스 스냅샷은 데이터베이스와 이에 수반된 저장소의 전체 복사본을 만드는 데 따른 오버헤드 없이 데이터베이스의 읽기 전용 뷰를 생성하는 기능이다. 오직 변경 사항만을 포함하는 데 필요한 공간만을 차지한다. 원치 않는 데이터베이스 변경작업을 무효화 하고 원래대로 복구하기 위해 스냅샷의 원본페이지를 데이터베이스에 적용하기도 한다