4. PostgreSQL
01 Azure Database for PostgreSQL
• PostgreSQL: 1975년 Ingres 프로젝트를 시작으로 1991년 Postgres 버전 3 출시, 이 후
PostgreSQL 프로젝트로 변경되어 10년 넘게 꾸준히 개발되고 있는 오픈소스SW 기반 DBMS
8. Azure Database for PostgreSQL 이란 ?
PostgreSQL 커뮤니티 버전 데이터베이스 엔진을 기반으로 하는 Microsoft 클라우드의 관계형 데이터베이스 서비스.
• 단일서버 (Single Server)
• 유연한 서버 (Flexible Server)
• 하이퍼스케일 (Hyperscale - Citus)
01 Azure Database for PostgreSQL
9. Azure Database for PostgreSQL 지원 Version
현재 Azure Database for PostgreSQL 에서 제공하는 배포 모델 별 Vesrion
Single-Server Flexsible-Server Hyper-sclae
9.6 11 11
10 12(pre) -
11 13(pre) -
01 Azure Database for PostgreSQL
11. 지원가능 마이그레이션 시나리오
02. Migration to Azure Database for PostgreSQL
Source Target
Azure Cloud Azure Cloud
On-premise Azure Cloud
Other Cloud ( ex. AWS RDS ) Azure Cloud
12. 마이그레이션 테스트 진행 절차
02. Migration to Azure Database for PostgreSQL
각 리소스 생
성
및 설정
원본 DB
Source 수정
마이그레이션
진행
데이터이관
정상여부 체크
마이그레이션
사전 검증
13. 02. Migration to Azure Database for PostgreSQL
Pg_dump – Export, Import Azure Database Migration Service
- 데이터 동기화를 위해 기존 테이블에 기본 키 필요
- 대상 스키마에서 외래키 제거
- 대상 PostgreSQL 에서 트리거 사용 안 함
1. Pg_dump를 이용한 on-premise DB 백업
2. Pg_restore 를 이용한 Azure로 복원
1. Pg_dump 유틸리티를 사용하여 스키마 마이그레이션
2. Azure DMS 인스턴스 생성
3. Azure DMS 프로젝트 생성
4. 마이그레이션 실행
5. 마이그레이션 모니터링 6. 마이그레이션 컷오버 수행
- DB 정합성을 위해 서비스 중지 필요
- 특정 table만 마이그레이션 가능
- 복원 속도 향상을 위해 백업 시 -Fc 옵션 사용
On-premise
PostgreSQL
Azure for
PostgreSQL
특징 및 주의사항
특징 및 주의사항
- Azure Database Migration Service는 온라인 마이그레이션만 지원
- As-is 와 To-be의 상위 버전은 동일 해야함
- Azure Database for PostgreSQL 지원버전( 9.6, 10, 11)
Migrate PostgreSQL to Azure Database for PostgreSQL
14. 02. Migration to Azure Database for PostgreSQL
Ora2PG Azure Database Migration Service (Preview)
- On-premise Oracle 과 Azure의 PostgreSQL을 동기화
- Oracle Archive Mode 설정 필요
- Oracle Supplemental Logging 설정 필요
1. Ora2pg 도구를 이용한 Assessment
2. Ora2pg 도구를 이용한 스키마 마이그레이션
3. Ora2pg 도구를 이용한 데이터 마이그레이션
1. Ora2pg 도구를 사용하여 스키마 마이그레이션
2. Azure DMS 인스턴스 생성
3. Azure DMS 프로젝트 생성
4. 마이그레이션 실행
5. 마이그레이션 모니터링 6. 마이그레이션 컷오버 수행
- 사전 준비사항 : Oracle Client, Perl 5.10이상, DBI
Perl module, DBD::Oracle Perl
- PL/SQL to PL/pgSQL 변환
On-premise
Oracle
Azure for
PostgreSQL
특징 및 주의사항
특징 및 주의사항
- Windows 또는 Linux 에 ora2pg 를 다운로드 하고 설치
- Ora2pg 설치하기 전에 Oracle, PostgreSQL 드라이버 설치 필요
- 성능 향상을 위해 Oracle 서버에서 통계정보 수집 필요
Migrate Oracle to Azure Database for PostgreSQL
15. 02. Migration to Azure Database for PostgreSQL
Migration Process
Offline Migration 도구(Ora2pg) 준비
1
2
4
3
Database Assessment with Ora2pg
Migration
Verify the Results
Migration Oracle to Azure database for PostgreSQL
16. 02. Migration to Azure Database for PostgreSQL
Migration Oracle to Azure database for PostgreSQL
17. 02. Migration to Azure Database for PostgreSQL
ora2pg --project_base /home/aegisadmin/project --init_project aegis_project
Migration Oracle to Azure database for PostgreSQL
18. 02. Migration to Azure Database for PostgreSQL
ora2pg -t SHOW_REPORT
Migration Oracle to Azure database for PostgreSQL
20. 02. Migration to Azure Database for PostgreSQL
1.Data Import
#psql –U postgres –d pfactory –f hr_project/data.dmp
Migration Oracle to Azure database for PostgreSQL
21. Azure DMS Introduction
Azure DMS란?
Azure Database Migration Service 의 줄임 말로 가동 및 중지 시간을 최소화하여 여러 데이터베이스 소
스에서 Azure Data Platform으로 원활하게 오프라인 / 온라인 마이그레이션을 할 수 있도록 설계된 완전
관리형 서비스
02. Migration to Azure Database for PostgreSQL
22. 오프라인 / 온라인 마이그레이션 지원 범위
PostgreSQL의 경우, 현재 온라인 마이그레이션만 지원가능
02. Migration to Azure Database for PostgreSQL
23. 마이그레이션 환경에 따른 DMS 생성 시 구성옵션
1. 표준 2. 프리미엄
- 오프라인 마이그레이션만 지원가능 - 오프라인 및 온라인 마이그레이션 모두 지원가능
02. Migration to Azure Database for PostgreSQL
24. 데이터 형식 제한사항
✓ BFILE
✓ ROWID
✓ REF
✓ UROWID
✓ ANYDATA
✓ 중첩테이블
✓ 사용자 정의 데이터 형식
✓ 메모
✓ 가상 열
✓ 추가로 BLOB / CLOB 열은 대상에서 NULL 로 매핑
02. Migration to Azure Database for PostgreSQL
25. 기타 제한 사항.
✓ 데이터베이스 이름은 세미콜론(;)을 포함할 수 없음,
✓ 이관 대상 테이블엔 기본키가 필수. 테이블에 기본 키가 없는 경우 DELETE 및 UPDATE 레코드 작업의 결과를 예측할 수 없음.
✓ 이름은 같고 대/소문자만 다른 여러 테이블(예: table1, TABLE1, Table1)은 마이그레이션이 지원되지 않음.
✓ [CREATE | ALTER | DROP | TRUNCATE] 테이블 DDL은 지원되지 않음.
✓ Azure Database Migration Service에서 단일 마이그레이션 작업은 최대 4개의 데이터베이스.
✓ pg_largeobject 테이블의 마이그레이션은 지원되지 않음.
✓ 단일 DMS 서비스를 이용하여 Azure DB for PostgreSQL로 데이터 이관시 최대 2TB.
02. Migration to Azure Database for PostgreSQL