개발자의 끄적끄적

[CUBRID] 백업 및 복구 유틸리티 사용법(구문)[펌] 본문

개발/sql

[CUBRID] 백업 및 복구 유틸리티 사용법(구문)[펌]

효벨 2020. 4. 3. 03:00
728x90
반응형

CUBRID 백업 및 복구 유틸리티 사용법(구문) [펌]

 

 

백업

미디어 고장과 데이터베이스 파일들의 손상으로부터 복구하기 위한 데이터베이스 백업에는 cubrid backupdb 유틸리티를 사용한다. cubrid backupdb 유틸리티는 모든 데이터베이스 페이지들, 제어 파일들, 데이터베이스를 백업 시와 일치된 상태로 복구하기 위해 필요 되는 로그 레코드들을 복사한다.

구문

cubrid backupdb [ options ] database_name
[ options ]
-D | -r | -l | -o | -S | -C | -t | -z | -e |
--destination-path | --remove-archive | --level | --output-file | --SA-mode | --CS-mode | --thread-count | --compress | --except-active-log | --no-check

  • cubrid : CUBRID 서비스 및 데이터베이스 관리를 위한 통합 유틸리티이다.
  • backupdb : 지정한 데이터베이스를 백업하는 명령이며, 결합되는 옵션에 따라 온라인 백업, 오프라인 백업, 증분 백업, 압축 백업, 병렬 백업을 수행할 수 있다. 또한, 백업 권한을 가진 사용자(예: DBA)만 수행할 수 있다.
  • options : 단축 옵션은 대시(-)와 결합하여 지정되어야 하고, 전체 옵션은 이중 대시(--)와 결합하여 지정되어야 한다. 대소문자 사용에 주의한다.
  • database_name : 백업할 데이터베이스의 이름을 지정한다.

cubrid backupdb의 반환 값은 다음과 같다.

  •  0 : 성공
  •  Non-zero : 실패

옵션

다음은 cubrid backupdb와 결합할 수 있는 옵션을 정리한 표이다. 대소문자가 구분됨을 주의한다.

옵션설명

-D

--destination-path

백업 볼륨을 생성하고자 하는 디렉터리 경로명이나 장치 이름을 지정한다.

기본값은 데이터베이스가 생성되었을 때, 데이터베이스 위치 정보 파일(databases.txt)에 지정된 log_path 위치

-r

--remove-archive

백업 수행한 후, 복구에 필요하지 않은 보관 로그를 삭제한다.

-l

--level

0, 1, 2 중에서 백업 수준을 설정한다.

기본값은 전체 백업(0)이다.

-o

--output-file

진행 정보를 출력할 파일 이름을 지정한다.

-S

--SA-mode

독립 모드에서 백업 수행한다.

기본값은 시스템 파라미터 CUBRID_MODE의 설정값이다.

-C

--CS-mode

클라이언트/서버 모드에서 백업 수행한다.

기본값은 시스템 파라미터 CUBRID_MODE의 설정값이다.

-t

--thread-count

병렬 백업 시 허용되는 스레드의 최대 개수를 지정한다.

기본값은 시스템의 CPU 개수이다.

-z

--compress

압축 백업을 수행한다.

-e

--except-active-log

백업 시 활성 로그 볼륨을 포함하지 않도록 설정한다.

--no-check

백업 전에 데이터베이스 일관성 점검을 수행하지 않는다.

  • 백업 파일이 저장될 디렉터리를 지정하여 백업 수행(-D 또는 --destination-path)

-D 옵션을 이용하여 지정된 디렉터리에 백업 파일이 저장되도록 하는 명령이다. demodb의 백업 파일은 /home/cubrid/backup라는 디렉터리에 저장된다. -D 옵션이 지정되지 않으면 백업 파일은 해당 데이터베이스의 위치 정보를 저장하는 파일인 databases.txt에 명시된 디렉터리에 생성된다.

cubrid backupdb -D /home/cubrid/backup demodb

-D 옵션을 이용하여 현재 디렉터리에 백업 파일이 저장되도록 하는 구문이다. -D 옵션의 인수로 "."을 입력하면 현재 디렉터리가 지정된다.

cubrid backupdb -D . demodb

  • 백업 후 보관 로그를 삭제(-r 또는 --remove-archive)

데이터베이스 관련 파라미터 중 media_failure_support 파라미터의 설정값이 1이고, 활성 로그(active log)가 꽉 찬 경우에 활성 로그를 새로운 보관 로그 파일에 기록하게 된다. 이런 상황에서 백업을 수행하여 백업 볼륨이 생성되면, 백업 시점 이전의 보관 로그는 추후 복구 작업에서 이용되지 않게 된다. -r 옵션은 백업을 수행한 후 추후 복구 작업에 더 이상 사용되지 않을 보관 로그 파일을 제거하기 위해 사용되는 옵션이다.

cubrid backupdb -r demodb

다만, -r 옵션은 백업 시점 이전의 불필요한 보관 로그만 제거하므로 복구 작업에는 영향을 끼치지 않지만, 관리자가 백업 시점 이후의 보관 로그까지 제거하는 경우 전체 복구가 불가능할 수도 있다. 따라서, 보관 로그를 제거할 때에는 제거된 보관 로그가 추후 복구 작업에 필수적으로 이용되는 것인지를 반드시 검토하여야 한다.

  • 백업 수준을 지정하여 증분 백업 수행(-l 또는 --level)

-l 옵션을 이용하여 지정된 백업 수준으로 증분 백업을 수행하는 구문이다. -l 옵션이 지정되지 않으면 전체 백업이 수행된다. 백업 수준에 대한 자세한 내용은 "증분 백업"을 참조한다.

cubrid backupdb -l 1 demodb

  • 지정된 파일에 백업 진행 정보 저장(-o 또는 --output-file)

-o 옵션을 이용하여 대상 데이터베이스의 백업에 관한 진행 정보를 info_backup이라는 파일에 기록하는 구문이다.

cubrid backupdb -o info_backup demodb

다음은 info_backup 파일 내용의 예시로서, 스레드 개수, 압축 방법, 백업 시작 시간, 영구 볼륨의 개수, 백업 진행 정보, 백업 완료 시간 등의 정보를 확인할 수 있다.

[ Database(demodb) Full Backup start ]
- num-threads: 1
- compression method: NONE
- backup start time: Mon Jul 21 16:51:51 2008
- number of permanent volumes: 1
- backup progress status
-----------------------------------------------------------------------------
 volume name                  | # of pages | backup progress status    | done
-----------------------------------------------------------------------------
 demodb_vinf                  |          1 | ######################### | done
 demodb                       |      25000 | ######################### | done
 demodb_lginf                 |          1 | ######################### | done
 demodb_lgat                  |      25000 | ######################### | done
-----------------------------------------------------------------------------
# backup end time: Mon Jul 21 16:51:53 2008
[Database(demodb) Full Backup end]

  • 독립 모드에서 백업 수행 (-S 또는 --SA-mode)

-S 옵션에 의해 독립모드에서 백업을 수행하는 구문으로서, demodb를 오프라인 백업한다. -S 옵션이 지정되지 않으면 CUBRID_MODE 환경 변수에 의해 설정된 모드에서 백업이 수행된다.

cubrid backupdb -S demodb

  • 클라이언트/서버 모드에서 백업 수행(-C 또는 --CS-mode)

-C 옵션에 의해 클라이언트/서버 모드에서 백업을 수행하는 구문으로서, demodb를 온라인 백업한다. -C 옵션이 지정되지 않으면 CUBRID_MODE 환경 변수에 의해 설정된 모드에서 백업이 수행된다.

cubrid backupdb -C demodb

  • 병렬 백업(-t 또는 --thread-count)

-t 옵션을 이용하여 관리자가 임의로 스레드의 개수를 지정함으로써 병렬 백업을 수행하는 명령이다. -t 옵션의 인수를 지정하지 않더라도 시스템의 CPU 개수만큼 스레드를 자동 부여하여 병렬 백업을 수행한다.

cubrid backupdb -t 4 demodb

  • 압축 백업(-z 또는 --compress)

-z 옵션을 이용하여 대상 데이터베이스를 압축하여 백업 파일에 저장하는 구문이다. -z 옵션을 사용하면, 백업 파일의 크기 및 백업 시간을 단축시킬 수 있다.

cubrid backupdb -z demodb

  • 활성 로그 볼륨 비포함 활성화(-e 또는 --except-active-log)

-e 옵션을 이용하여 대상 데이터베이스의 활성 로그(active log)를 포함하지 않고 백업을 수행하는 구문이다. 물론, -e 옵션을 이용하면 백업 시간을 단축시킬 수 있겠으나, 백업 시점으로의 정상적인 복구를 위해 필요한 활성 로그가 백업 파일에 포함되지 않기 때문에 복구 품질이 저하될 수 있기에 상당한 주의를 요한다.

cubrid backupdb -e demodb

  • 데이터베이스 일관성 점검 비활성화(--no-check)

--no-check 옵션을 이용하여 대상 데이터베이스의 일관성을 체크하지 않고, 바로 백업을 수행하는 명령이다.

cubrid backupdb --no-check demodb

복구

cubrid restoredb 유틸리티(Windows의 경우 restordb.exe)는 백업이 수행된 이후에 모든 보관 및 활동 로그들에 기록된 정보들을 이용하여 데이터베이스 백업으로부터 데이터베이스를 복구한다.

구문

cubrid restoredb [ options ] database_name
[ options ]
-d | -B | -l | -p | -o | -u |
--up-to-date | --backup-file-path | --level | --partial-recovery | --output-file | --replication-mode | --use-database-location-path | --list

  • cubrid : CUBRID서비스 및 데이터베이스 관리를 위한 통합 유틸리티이다.
  • restoredb : 지정한 데이터베이스를 복구하는 명령이며, 정상적인 복구를 위해서는 백업 파일, 활성 로그 파일, 보관 로그 파일이 준비되어야 한다. 또한, 독립 모드(standalone)에서만 수행 가능하다.
  • options : 단축 옵션은 대시(-)와 결합하여 지정되어야 하고, 전체 옵션은 이중 대시(--)와 결합하여 지정되어야 한다. 대소문자 사용에 주의한다.
  • database_name : 복구하려는 데이터베이스의 이름을 지정한다.

cubrid restoredb의 반환 값은 다음과 같다.

  •  0 : 성공
  •  Non-zero : 실패

옵션

다음은 cubrid restoredb와 결합할 수 있는 옵션을 정리한 표이다. 대소문자가 구분됨을 주의한다.

옵션설명

-d

--up-to-date

데이터베이스를 복구할 시간을 직접 지정하거나, backuptime 키워드를 지정한다.

-B

--backup-file-path

백업 파일이 위치하는 디렉터리 경로명이나 장치명을 지정한다.

-l

--level

0, 1, 2 중에서 복구할 수준을 설정한다.

디폴트 값은 전체 복구(0)이다.

-p

--partial-recovery

부분 복구를 수행한다.

-o

--output-file

복구 작업에 관한 진행 정보를 출력할 파일 이름을 지정한다.

-u

--use-database-location-path

데이터베이스 위치 정보 파일(databases.txt)에 지정된 경로로 대상 데이터베이스를 복구한다.

 --list

대상 데이터베이스의 백업 볼륨에 관한 정보를 화면 출력한다.

  • 복구 시점을 지정하여 복구 수행(-d 또는 --up-to-date)

demodb를 복구하는 명령이며, 어떠한 옵션도 지정되지 않은 경우 기본적으로 마지막 커밋 시점까지 demodb가 복구된다. 만약, 마지막 커밋 시점까지 복구하기 위해 필요한 활성 로그/보관 로그 파일이 없다면 마지막 백업 시점까지만 부분 복구된다.

cubrid restoredb demodb

-d 옵션을 이용하여 복구 날짜 및 시간을 지정하는 구문으로 demodb를 해당 시점까지 복구한다. 사용자는 dd-mm-yyyy:hh:mm:ss(예: 14-10-2008:14:10:00)의 형식으로 복구 시점을 직접 지정할 수 있다. 만약 지정한 복구 시점까지 복구하기 위해 필요한 활성 로그/보관 로그 파일이 없다면 마지막 백업 시점까지만 부분 복구된다.

cubrid restoredb -d 14-10-2008:14:10:00 demodb

-d 옵션 및 backuptime이라는 키워드를 이용하여 복구 시점을 지정하는 구문으로 demodb를 마지막 백업이 수행된 시점까지 복구한다.

cubrid restoredb -d backuptime demodb

  • 백업 파일이 위치하는 디렉터리 경로를 지정하여 복구 수행(-B 또는 --backup-file-path)

-B 옵션을 이용하여 백업 파일이 위치하는 디렉터리를 지정할 수 있다. 만약, 이 옵션이 지정되지 않으면 시스템은 데이터베이스 위치 정보 파일인 databases.txt에 지정된 log_path 디렉터리에서 대상 데이터베이스를 백업했을 때 생성된 백업 정보 파일(dbname_bkvinf)을 검색하고, 백업 정보 파일에 지정된 디렉터리 경로에서 백업 파일을 찾는다. 그러나, 백업 정보 파일이 손상되거나 백업 파일의 위치 정보가 삭제된 경우라면 시스템이 백업 파일을 찾을 수 없으므로, 관리자가 -B 옵션을 이용하여 백업 파일이 위치하는 디렉터리 경로를 직접 지정하여야 한다.

cubrid restoredb -B /home/cubrid/backup demodb

demodb의 백업 파일이 현재 디렉터리에 있는 경우, 관리자는 -B 옵션을 이용하여 백업 파일이 위치하는 디렉터리를 지정할 수 있다.

cubrid restoredb -B . demodb

  • 백업 수준을 지정하여 복구 수행(-l 또는 --level)

-l 옵션은 대상 데이터베이스의 백업 수준(0, 1, 2)을 지정하여 복구를 수행한다. 백업 수준에 대한 자세한 내용은 "증분 백업"을 참조한다.

cubrid restoredb -l 1 demodb

  • 부분 복구 수행(-p 또는 --partial-recovery)

-p 옵션은 사용자 응답을 요청하지 않고 부분 복구를 수행하라는 명령이다. 백업 시점 이후에 기록된 활성 로그나 보관 로그가 완전하지 않을 때, 기본적으로 시스템은 로그 파일이 필요하다는 것을 알리면서 실행 옵션을 입력하라는 요청 메시지를 출력하는데, -p 옵션을 이용하면 이러한 요청 메시지의 출력 없이 직접 부분 복구를 수행할 수 있다. 따라서, -p 옵션을 이용하여 복구를 수행하면 언제나 마지막 백업 시점까지 데이터가 복구된다.

cubrid restoredb -p demodb

-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을 입력한다.
  • 지정된 파일에 복구 진행 정보 저장(-o 또는 --output-file)

-o 옵션을 이용하여 대상 데이터베이스의 복구에 관한 진행 정보를 info_restore라는 파일에 기록하는 명령이다.

cubrid restoredb -o info_restore demodb

  • 데이터베이스 위치 정보 파일에 지정된 디렉터리로 데이터를 복구(-u 또는 --use-database-location-path)

-u 옵션을 이용하여 데이터베이스 위치 정보 파일(databases.txt)에 지정된 경로에서 대상 데이터베이스를 복구하는 구문이다. -u 옵션은 A 서버에서 백업을 수행하고 B 서버에서 백업 파일을 복구하고자 할 때 사용할 수 있는 유용한 옵션이다.

cubrid restoredb -u demodb

  • 대상 데이터베이스의 백업 정보 확인하기(--list)

--list 옵션을 이용하여 대상 데이터베이스의 백업 파일에 관한 정보를 화면 출력하는 구문으로 복구는 수행하지 않는다.

cubrid restoredb --list demodb

다음은 --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인 백업 파일이 준비되어야 한다.

 

 

출처 : http://m.1day1.org/cubrid/manual/admin/admin_br_syntax.htm

반응형
Comments