.. _database-restore:

데이터베이스 크래시 발생 시 복구
=======================================

Genian ZTNA는 시스템 설정, 정책, 수집정보들을 모두 데이터베이스에 저장하고 있습니다. H/W 오류나 S/W 오류로 인하여 데이터베이스에 문제가 발생한 경우 백업파일을 이용하여 데이터베이스를 복구 할 수 있습니다. 

원인
---------

데이터베이스는 다양한 문제로 인하여 크래시가 발생합니다. H/W문제 내부 데이터베이스 엔진 및 설정문제 등으로 발생하는데 본 문서는 데이터베이스 크래시 발생 시 복구하는 방법을 안내합니다.

증상
---------

Web콘솔 로그인 실패, 정책할당 및 정책갱신 실패, 설정조회 실패 등

해결방법
------------

백업파일에 있는 데이터베이스 정보를 이용하여 데이터베이스를 복구합니다. 

.. code:: bash

    Step 1 백업파일이 외부에 있다면 SecureCRT, lePutty, Xshell 등 Zmodem을 지원하는 터미널을 이용하여 백업파일을 업로드 합니다. 
        백업파일이 복구할 장비내부에 있는경우 Step3로 이동합니다. 
    genian#
    !!! WARNNING !!! - SHELL PROMPT IS JUST FOR MAINTENANCE.
    !!! WARNNING !!! - USE AT YOUR OWN RISK.
    Genians$ cd /disk/data/DBBACKUP
    Genians$ rz [백업파일]
    Genians$ ls
    drwxr-xr-x    2 root     root          4096 May 11 09:43 ./
    drwxr-xr-x   36 root     root          4096 Apr 21 13:50 ../
    -rw-r--r--    1 root     root     193863371 May 11 09:43 ALDER-93180-20210511-094236.tar.gz
    
    Step 2 gnlogin CLI에 접속합니다.
    genian$ gnlogin

    Step 3 복원할 시점의 백업파일을 확인합니다. 
    genian# show backup
    Backup lists
    ---------------------------------
    ALDER-93180-20210511-094236

    Step 4 데이터베이스를 복원합니다.(옵션에서 데이터베이스만 선택합니다.)
    genian# do restore [백업파일명]
    Are you sure to restore configuration files (y/N): n
    Are you sure to restore agent files (y/N): n
    Are you sure to restore custom files (y/N): n
    Are you sure to restore database (y/N): y
    Do you want to start service after restore? (Y/n): y

    Step 5 시스템이 재구동되고 데이터베이스 복원이 정상적으로 되었다면 모든 시스템이 정상적으로 동작합니다.