Computer >> 컴퓨터 >  >> 프로그램 작성 >> 데이터 베이스

점진적으로 업데이트되는 이미지를 사용한 초고속 복구

가동 중지 시간을 최소화하고 데이터베이스 가용성을 높이는 것은 모든 비즈니스가 달성하고자 하는 필수 목표입니다. 데이터베이스 관리자(DBA)는 데이터 파일이나 완전한 데이터베이스 손상 오류가 발생한 경우 더 빠른 복구 솔루션을 제공할 수 있는 새로운 방법을 항상 찾고 있습니다. 버전 10g부터 Oracle® Recovery Manager(RMAN)는 IncrementalMerge Backups(IMB)라는 기능을 제공합니다. 이 기능은 특히 초대형 데이터베이스(VLDB)의 경우 복구 시간을 최소화하는 솔루션을 제공합니다.

소개

올바른 옵션으로 구성하면 IMB 기능을 통해 데이터베이스 복구 시간을 크게 줄일 수 있습니다. 널리 사용되지는 않지만 이 기능은 VLDB에 이상적인 백업 방법입니다. 데이터 파일의 이미지 복사본이 생성되고 각 백업 작업 후에 이미지 복사본을 롤포워드하는 증분 백업이 적용됩니다.

이 게시물은 IMB 사용에 대한 몇 가지 고려 사항을 강조하고 프로세스를 설명하는 샘플 코드를 제공하며 여러 복구 시나리오를 보여줍니다.

고려사항

이미지 복사본 백업 전략을 사용하기 전에 다음 고려 사항에 유의하십시오.

  • 데이터베이스에서 블록 변경 추적(BCT)을 활성화해야 합니다.

  • 데이터베이스 데이터 파일이 실제로 사용하고 있는 데이터베이스의 이미지 복사본을 저장하려면 동일한 양의 디스크 공간이 필요합니다.

  • 특정 시점 복구(PITR)의 경우 최소 하나의 전체 백업이 있어야 하며 데이터베이스 복구가 완료될 때까지 로그를 아카이브해야 합니다.

  • 데이터베이스의 이미지 복사본은 데이터베이스 복사본으로 전환하는 동안 성능에 영향을 미치지 않도록 입출력(I/O) 측면에서 동일한 유형의 저장소에 있어야 합니다.

다음 이미지는 증분 업데이트된 백업을 보여줍니다.

점진적으로 업데이트되는 이미지를 사용한 초고속 복구

샘플 코드

다음 코드를 실행하여 매일 이미지를 복사하고 점진적으로 업데이트하십시오.

    run
    {
       allocate channel c1 device type disk format ‘/home/oracle/backup/%U’;
       recover copy of database with tag ‘IMG_COPY’;
       backup incremental level 1 for recover of copy with tag ‘IMG_COPY’ database;
       release channel c1;
    }

첫 번째 실행 시 recover copy of database 명령은 아무 작업도 수행하지 않습니다. backup incremental 명령은 새로운 증분 level 0을 생성합니다. 백업 태그 IMG_COPY 이 태그로 생성되는 첫 번째 백업이기 때문입니다.

두 번째 실행 시 recover copy of database 명령은 INC 1을 찾을 때까지 아무 작업도 수행하지 않습니다. 백업. backup incremental 명령은 INC 1을 생성합니다. 백업.

세 번째 및 후속 실행에서 recover command 마지막으로 사용 가능한 INC 1 적용 기존 이미지 복사본에 백업합니다. backup command 다음 INC 1 생성 백업.

복구 시나리오

다음 사용 사례는 증분 병합 백업이 무관한 복구 상황을 어떻게 지원하는지 설명합니다.

사례 1:데이터 파일 손상, 삭제 또는 덮어쓰기

다음 코드와 같이 테스트용 테이블을 만들고 앞의 스크립트를 사용하여 이미지 복사본을 만듭니다.

SQL> create table ImgCpyTab tablespace tbs2 as select * from dba_objects;
Table created.

FILE_NAME FILE_ID TABLESPACE_NAME
————————- ——————— ———————————————

/home/oracle/Sw/oradata/test/tbs02.dbf 5	TBS2

SQL> select count(1) from ImgCpyTab;
COUNT(1)
———-
72476

이 시나리오를 테스트하려면 다음 코드와 같이 물리적 데이터 파일을 의도적으로 이동하고 select 명령이 예상한 오류를 발생시킵니다.

mv /home/oracle/Sw/oradata/test/tbs02.dbf /home/oracle/Sw/oradata/test/tbs02.dbf_BKP

select count(1) from scott.IMGCPYTAB
*
ERROR at line 1:
ORA-01116: error in opening database file 5
ORA-01110: data file 5: ‘/home/oracle/Sw/oradata/test/tbs02.dbf’
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
Additional information: 3

이 경우 물리적 파일을 복원할 필요가 없습니다. 대신 백업으로 전환하고 복구하십시오. 데이터 파일이나 데이터베이스 크기가 테라바이트인 경우에도 매우 빠릅니다.

다음 코드는 데이터 파일을 오프라인 모드로 전환합니다.

SQL> alter database datafile 5 offline;
Database altered.

다음으로 데이터 파일을 복사본으로 전환하고 복구합니다.

[oracle@localhost backup]$ rman target /
Recovery Manager: Release 11.2.0.2.0 – Production on Thu Jun 5 18:17:15 2014
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to target database: TEST (DBID=2122535405)

RMAN> switch datafile 5 to copy;
using target database control file instead of recovery catalog
datafile 5 switched to datafile copy “/home/oracle/backup/data_D-TEST_I-2122535405_TS-TBS2_FNO-5_6ppa3ev1”

RMAN> recover datafile 5;
Starting recover at 05-JUN-14
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=19 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=149 device type=DISK
starting media recovery
media recovery complete, elapsed time: 00:00:01
Finished recover at 05-JUN-14

RMAN> sql ‘alter database datafile 5 online’;
sql statement: alter database datafile 5 online

RMAN> exit

다음 코드에서 볼 수 있듯이 날짜 파일이 돌아가고 테이블에 액세스할 수 있습니다.

FILE_NAME FILE_ID TABLESPACE_NAME
————————- ——————— ———————————————

TBS2 /home/oracle/backup/data_D-TEST_I-2122535405_TS-TBS2_FNO-5_6ppa3ev1 AVAILABLE

SQL> select count(1) from scott.IMGCPYTAB;

COUNT(1)
———-
72476

참고: file_name 열을 보면 데이터베이스가 이미지 복사 파일을 사용하고 있음을 알 수 있습니다.

사례 2:전체 데이터베이스 손상 또는 디스크 오류

데이터베이스가 완전히 손상되었거나 디스크 오류가 있는 경우 다음 단계를 사용하여 데이터베이스를 복사본으로 전환할 수 있습니다.

  1. 데이터베이스를 종료합니다.
  2. 제어 파일이 없으면 복원하십시오.
  3. 이미지 사본을 카탈로그화합니다.
  4. 데이터베이스를 복사본으로 전환합니다.
  5. 아카이브를 사용할 수 있을 때까지 복구한 다음 데이터베이스를 엽니다.

결론

이 게시물에서는 RMAN 이미지 복사본 백업 및 복구 기능을 사용하는 방법에 대해 설명했습니다. 또한 물리적 손상이 발생한 경우 데이터 파일 및 데이터베이스의 구현 및 복구를 위한 몇 가지 사용 사례를 제공했습니다. 증분 병합 백업 기능은 데이터베이스 백업을 단순화하고 빠르고 유연한 데이터 복구를 보장합니다.

피드백 탭을 사용하여 의견을 남기거나 질문하십시오.