Computer >> 컴퓨터 >  >> 프로그래밍 >> 데이터베이스

RMAN 증분 백업으로 물리적 스탠바이 데이터베이스 롤포워드하기

물리적 스탠바이(대기) 데이터베이스에서 아카이브 리두 데이터가 손실되거나 손상되었거나, 기본(Primary) 데이터베이스에서 아카이브 로그가 누락되거나 아카이브 자체가 손상되어 해결할 수 없는 아카이브 갭(archive gap)이 발생한 경우, 유효한 백업이 존재하지 않으면 복구가 매우 어려워집니다.

기본 데이터베이스에 해당 아카이브가 여전히 존재한다면 먼저 문제를 진단해야 합니다. 아카이브가 손상되지 않았다면 자동으로 전송됩니다. 운영체제(OS) 수준에서 아카이브가 손상되었지만 백업이 있다면, 백업에 포함된 아카이브 로그를 사용해 데이터베이스를 복원할 수 있습니다. 이러한 방법으로도 해결되지 않는다면, 증분 시스템 변경 번호(SCN)를 이용해 스탠바이 데이터베이스를 복구하거나 롤포워드(Roll Forward)할 수 있습니다.

이 글에서는 Oracle® Recovery Manager(RMAN)의 증분 백업을 사용하여 리두 로그 적용(redo log apply) 방식보다 훨씬 빠르게 스탠바이 데이터베이스를 롤포워드하는 방법을 소개합니다.

증분 백업은 어떻게 작동하나요?

다음 이미지는 증분 백업 프로세스를 보여줍니다.

RMAN 증분 백업으로 물리적 스탠바이 데이터베이스 롤포워드하기

원본 이미지 복사본의 SCN과 증분 백업의 SCN 사이의 모든 변경 사항이 이미지에 적용됩니다.

이 방법을 사용하려면 스탠바이 데이터베이스의 현재 SCN부터 시작하는 백업을 기본 데이터베이스에서 생성해야 하며, 이 백업을 활용해 스탠바이 데이터베이스를 롤포워드할 수 있습니다.

물리적 스탠바이 데이터베이스 롤포워드 절차

다음 단계에 따라 물리적 스탠바이 데이터베이스를 롤포워드합니다.

1단계: SCN 갭 확인

  1. 다음 코드를 사용하여 스탠바이 데이터베이스와 운영(Production) 데이터베이스 간의 SCN 갭을 확인합니다.

     SQL> select status,instance_name,database_role from v$database,v$instance;
    
     STATUS       INSTANCE_NAME    DATABASE_ROLE
     ------------ ---------------- ----------------
     MOUNTED      PROD             PHYSICAL STANDBY
    
     SQL> SELECT to_char(CURRENT_SCN) FROM V$DATABASE;
    
     CURRENT_SCN
     -------------
     5997422841660
    
     SQL> select min(fhscn) from x$kcvfh;
    
     CURRENT_SCN
     -------------
     5997422841643
    
  2. 앞선 쿼리 결과 중 더 낮은 SCN 값을 기록한 뒤, 운영 데이터베이스에서 다음 코드를 실행합니다.

     SQL> select status,instance_name,database_role from v$database,v$instance;
    
     STATUS       INSTANCE_NAME    DATABASE_ROLE
     ------------ ---------------- ----------------
     OPEN          PROD             PRIMARY
    
     SQL> SELECT to_char(CURRENT_SCN) FROM V$DATABASE;
    
     CURRENT_SCN
     -------------
     5997428587053
    

2단계: 증분 SCN 백업 수행 및 스탠바이 컨트롤 파일 백업 생성

  1. 운영 서버에서 다음 코드를 실행하여 SCN 백업을 수행합니다.

     [oracle@pslmtli.rackspace.com] $ rman target /
     RMAN>BACKUP INCREMENTAL FROM SCN 5997422841643 DATABASE FORMAT '/u01/orapi/stage/TEMP/DBDR_%U' tag 'ArchiveGap';
     Starting backup at 25-MAR-18
    
     channel ORA_DISK_1: starting full datafile backup set
     channel ORA_DISK_1: specifying datafile(s) in backup set
     including current control file in backup set
     channel ORA_DISK_1: starting piece 1 at 25-MAR-18
     channel ORA_DISK_1: finished piece 1 at 25-MAR-18
     piece handle=/u01/orapi/stage/TEMP/ DBDR123.bak tag= ArchiveGap comment=NONE
     channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03
     Finished backup at 25-MAR-18
    
  2. 다음 코드를 실행하여 스탠바이 컨트롤 파일(controlfile) 백업을 생성합니다.

     RMAN> backup current controlfile for standby format ='/u01/orapi/stage/TEMP/standby_control.bctl';
    
  3. 생성된 백업 파일을 기본 서버에서 스탠바이 서버로 전송합니다.

  4. 다음 코드를 실행하여 스탠바이 데이터베이스에 증분 SCN 백업을 적용합니다. 이 과정에서 모든 백업 조각(backup piece)과 컨트롤 파일이 카탈로그에 등록됩니다.

     [oracle@nslmtli.rackspace.com] $ rman target /
    
     Recovery Manager: Release 11.2.0.1.0 - Production on Sun Mar 2515:51:02 2012
    
     Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    
     connected to target database: PSTLI (DBID=431934829, not open)
    
     RMAN> catalog start with ‘/u01/archives/stage/temp/’;
    
  5. 다음 코드를 실행하여 카탈로그에 등록된 증분 백업 조각으로 스탠바이 데이터베이스를 복구합니다.

     RMAN> RECOVER DATABASE NOREDO;
    
  6. 다음 코드를 실행하여 물리적 스탠바이 데이터베이스를 종료한 후 nomount 단계로 시작하고, 기본 데이터베이스에서 가져온 스탠바이 컨트롤 파일 백업을 복원합니다.

     RMAN> shutdown immediate
    
     database dismounted
     Oracle instance shut down
    
     RMAN> startup nomount
    
     connected to target database (not started)
     Oracle instance started
    
     Total System Global Area     659730432 bytes
    
     Fixed Size                     2216264 bytes
     Variable Size                398462648 bytes
     Database Buffers             255852544 bytes
     Redo Buffers                   3198976 bytes
    
     RMAN> restore standby controlfile from ‘/u01/archives/stage/temp/standby_control.bctl’;
    
     Finished restore at 25-MAR-18
    
  7. 스탠바이 데이터베이스를 종료한 후 다시 마운트하여, 이전 단계에서 복원한 새 컨트롤 파일로 스탠바이 데이터베이스를 마운트합니다.

이제 스탠바이 데이터베이스가 기본 데이터베이스와 동기화되었습니다.

결론

RMAN 증분 백업을 활용하면 물리적 스탠바이 데이터베이스를 기본 데이터베이스와 효율적으로 동기화할 수 있습니다. RMAN의 BACKUP INCREMENTAL FROM SCN 명령을 사용하면 스탠바이 데이터베이스의 현재 SCN부터 시작하는 백업을 기본 데이터베이스에서 생성할 수 있으며, 이를 통해 스탠바이 데이터베이스를 원하는 시점까지 신속하게 롤포워드할 수 있습니다.

의견이나 질문이 있으시면 피드백 탭을 이용해 주세요.

전문가의 관리·운영·구성 서비스로 환경 최적화

Rackspace의 애플리케이션 서비스(RAS) 전문가들은 폭넓은 애플리케이션 포트폴리오 전반에서 다음과 같은 전문 및 관리형 서비스를 제공합니다.

  • e커머스 및 디지털 경험 플랫폼
  • 엔터프라이즈 리소스 플래닝(ERP)
  • 비즈니스 인텔리전스(BI)
  • Salesforce 고객 관계 관리(CRM)
  • 데이터베이스
  • 이메일 호스팅 및 생산성 도구

우리가 제공하는 핵심 가치는 다음과 같습니다.

  • 편향 없는 전문성: 고객의 현대화 여정을 단순화하고 안내하며, 즉각적인 가치를 창출하는 역량에 집중합니다.
  • Fanatical Experience™: "프로세스 우선, 기술 차후(Process first. Technology second.)"라는 접근 방식과 전담 기술 지원을 결합하여 종합적인 솔루션을 제공합니다.
  • 타의 추종을 불허하는 포트폴리오: 광범위한 클라우드 경험을 바탕으로 올바른 클라우드에 적합한 기술을 선택하고 배포할 수 있도록 지원합니다.
  • 애자일한 서비스 제공: 고객의 여정 단계에 맞춰 함께하며, 우리의 성공을 고객의 성공과 일치시킵니다.

지금 바로 채팅으로 상담을 시작해 보세요.