2. DBMS이야기/04. CUBRID

07. CUBRID 복구하기

OSSW(Open Source System SoftWare 2014. 12. 10. 23:17

안녕하세요~

벌써 2014년 마지막 달이네요, 추운 날씨에 감기 안 걸리셨죠?

이번 화에는 복구에 대해 알아보겠습니다


CUBRID 환경에서 수행된 백업 작업에 의해 생성된 백업 파일, 활성 로그 및 보관 로그를 이용하여 특정 시점의 데이터베이스로 복구하는 작업으로, 진행하려면 cubrid restoredb 유틸리티 또는 CUBRID 매니저를 사용합니다.


 cubrid  restoredb  [options]  database_name


어떠한 옵션도 지정되지 않은 경우 기본적으로 마지막 커밋 시점까지 데이터베이스가 복구됩니다.

만약, 마지막 커밋 시점까지 복구하기 위해 필요한 활성 로그/보관 로그 파일이 없다면 마지막 백업 시점까지만 부분 복구됩니다.


옵션

입력값

설명 

기본값 

 -l

복구레벨 

복구 레벨 지정 (0,1,2)

 -d

복구시점 

복구 시점 지정 형식) 일-월-년:시:분:초

예) 10-12-2014:17:00:00

또는 backuptime : 마지막 백업 시점

가장 최근 시점 

 -B

파일경로 

복구할 백업 볼륨이 존재하는 디렉토리나 장치명 지정 

초기 로그 볼륨 위치 

 -p

 

archive 로그가 없을 경우 무시하고 수행 

 

 -u

 

데이터베이스 위치 파일내에 지정된 경로로 데이터

베이스와 로그 볼륨을 복구 (dataase.txt) 

 

 -list

 

백업을 수행하지 않고 백업 볼륨 목록을 출력 

 


-p 옵션이 지정되지 않은 경우, 사용자에게 옵션을 선택하라는 요청 메시지는 다음과 같이 나옵니다.

***********************************************************
Log Archive /home/cubrid/test/log/demodb_lgar002
 is needed to continue normal execution.
   Type
   -  0 to quit.
   -  1 to continue without present archive. (Partial recovery)
   -  2 to continue after the archive is mounted/loaded.
   -  3 to continue after changing location/name of archive.
***********************************************************
  • 옵션 0: 복구 작업을 더 이상 진행하지 않을 경우, 0을 입력한다.
  • 옵션 1: 로그 파일 없이 부분 복구를 진행하려면, 1을 입력한다.
  • 옵션 2: 복구 작업을 진행하기 위해 관리자는 현재 장치에 보관 로그를 위치시킨 후 2를 입력한다.
  • 옵션 3: 복구 작업을 계속하기 위해 관리자는 로그 위치를 변경한 후 3을 입력한다.


다음은 -list 옵션을 이용해서 볼륨 목록을 출력했을 경우입니다.

*** BACKUP HEADER INFORMATION ***
Database Name: /local1/testing/demodb
 DB Creation Time: Mon Oct 1 17:27:40 2008
         Pagesize: 4096
Backup Level: 1 (INCREMENTAL LEVEL 1)
        Start_lsa: 513|3688
         Last_lsa: 513|3688
Backup Time: Mon Oct 1 17:32:50 2008
 Backup Unit Num: 0
Release: 8.1.0
     Disk Version: 8
Backup Pagesize: 4096
Zip Method: 0 (NONE)
        Zip Level: 0 (NONE)
Previous Backup level: 0 Time: Mon Oct 1 17:31:40 2008
(start_lsa was -1|-1)
Database Volume name: /local1/testing/demodb_vinf
     Volume Identifier: -5, Size: 308 bytes (1 pages)
Database Volume name: /local1/testing/demodb
     Volume Identifier: 0, Size: 2048000 bytes (500 pages)
Database Volume name: /local1/testing/demodb_lginf
     Volume Identifier: -4, Size: 165 bytes (1 pages)
Database Volume name: /local1/testing/demodb_bkvinf
     Volume Identifier: -3, Size: 132 bytes (1 pages)

-list 옵션을 이용하여 출력된 백업 정보를 확인하면, 백업 파일이 백업 수준 1로 생성되었고, 이전 백업 수준 0의 전체 백업이 수행된 시점을 확인할 수 있다. 따라서, 예시된 데이터베이스의 복구를 위해서는 백업 수준 0인 백업 파일과 백업 수준 1인 백업 파일이 준비되어야 합니다.



복구할 때에는 고려해야 할 사항들이 있습니다.

  • 백업 파일 준비
    • 백업 파일 및 로그 파일이 저장된 디렉터리를 확인해야 합니다.
    • 증분 백업으로 대상 데이터베이스가 백업된 경우, 각 백업 수준에 따른 백업 파일이 존재하는지를 확인합니다.
    • 백업이 수행된 CUBRID 데이터베이스의 버전과 복구가 이루어질 CUBRID 데이터베이스 버전이 동일한지를 확인한다.
  • 복구 방식 결정
    • 부분 복구할지, 전체 복구할지 결정합니다.
    • 증분 백업 파일을 이용한 복구인지를 확인합니다.
    • 사용 가능한 복구 도구 및 복구 장비를 준비합니다.
  • 복구 시점 판단
    • 데이터베이스 서버가 종료된 시점을 확인합니다.
    • 장애 발생 전에 이루어진 마지막 백업 시점을 확인합니다.
    • 장애 발생 전에 이루어진 마지막 커밋 시점을 확인합니다.

모두 준비되셨으면, 복구 시~작~!

따듯한 하루 되세요~^^


출처 : 큐브리드 메뉴얼                                              By. 진준호 (2014.12.10)