백업 및 DR 서비스용 기타 자체 관리형 데이터베이스 준비

다음의 자체 관리형 데이터베이스 인스턴스 및 데이터를 백업하려면 먼저 데이터베이스 서버를 백업 및 DR 서비스에 호스트로 추가해야 합니다. 이렇게 하려면 대부분의 데이터베이스에 몇 가지 설정과 기타 준비 단계가 필요합니다. 이 페이지의 절차는 대부분의 자체 관리형 데이터베이스에 적용됩니다.

대상: 검토 그런 다음
IBM Db2 IBM Db2용 백업 및 DR Db2 데이터베이스 기본 요건
MariaDB MariaDB용 백업 및 DR MariaDB 데이터베이스 기본 요건
MySQL MySQL용 백업 및 DR MySQL 데이터베이스 기본 요건
PostgreSQL PostgreSQL용 백업 및 DR PostgreSQL 데이터베이스 기본 요건
SAP ASE SAP ASE용 백업 및 DR SAP ASE 데이터베이스 기본 요건
SAP IQ SAP IQ용 백업 및 DR SAP IQ 데이터베이스 기본 요건
SAP MaxDB SAP MaxDB 백업 및 DR SAP MaxDB 데이터베이스 기본 요건
SAP HANA SAP HANA 백업 및 DR 백업을 위해 SAP HANA 데이터베이스 준비하기
Microsoft SQL Server SQL Server용 백업 및 DR 백업 및 DR 서비스용 SQL Server 데이터베이스 준비하기
Oracle Oracle용 백업 및 DR Oracle 데이터베이스 백업 기본 요건 및 후속 페이지

백업 및 DR이 지원되는 기타 모든 데이터베이스의 경우 아래 단계를 따르세요.

Db2 데이터베이스 기본 요건

  • 각 데이터베이스는 자동 저장소 모드를 사용해야 합니다. 그러지 않으면 인스턴스만 검색됩니다.

  • 각 데이터베이스는 보관처리 로그 모드여야 하며 LOGARCHMETH1은 로컬 디스크로 설정해야 합니다. 데이터베이스가 순환 모드인지 보관처리 로그 모드인지 확인하려면 db2 get db cfg for <database name>| grep LOGARCHMETH1 명령어를 실행합니다.

  • 데이터베이스가 순환 모드인 경우 계속하기 전에 로깅을 보관처리 모드로 변경합니다. LOGARCHMETH1 매개변수를 설정하려면 다음을 사용합니다.
    db2 update db cfg for <dbname> LOGARCHMETH1 using 'DISK:<location>'

  • HADR 대기 데이터베이스의 경우 대기 중 읽기 옵션을 사용 설정해야 합니다. 즉, DB2_HADR_ROS 매개변수를 ON으로 설정해야 합니다.

MariaDB 데이터베이스 기본 요건

  • MariaDB 데이터베이스는 LVM 아래에 있어야 하며 부팅 볼륨이 아니어야 합니다. mysql -e "select @@datadir"를 실행하여 데이터베이스 데이터 경로를 가져옵니다.

  • MariaDB 볼륨이 프로비저닝된 LVM 볼륨에는 여유 공간이 20% 이상 있어야 합니다.

  • MariaDB 서버에 백업 및 DR 에이전트를 설치합니다.

  • Reload, Select, Lock tables, Super 또는 Replication client 권한이 있는 백업 사용자를 만듭니다. 백업 사용자 이름과 비밀번호는 호스트 구성으로 구성해야 합니다.

    백업 사용자를 만들려면 다음 단계를 완료하세요.

    create user actuser identified by 'actpasswd';
    GRANT SELECT on *.* TO actuser;
    GRANT RELOAD on *.* TO actuser;
    GRANT LOCK TABLES on *.* TO actuser;
    GRANT SUPER on *.* TO actuser;
    GRANT REPLICATION CLIENT on *.* to actuser;
    SHOW GRANTS FOR CURRENT_USER;
    
  • 로그 백업을 수행하려면 MariaDB 바이너리 로깅 log_bin을 사용 설정해야 합니다. 바이너리 로그 옵션을 구성하려면 MariaDB 서버를 종료하고 구성 파일 my.cnf 또는 my.ini를 수정합니다. 구성 파일의 [mysqld] 섹션 내에 log-bin 옵션을 추가합니다.

    [mysqld]
    log_bin = /log1/mysql3306/mysql3306-bin.0000
    
  • mysql 사용자는 /etc/passwd 파일에서 /bin/bash로 설정해야 합니다.

MySQL 데이터베이스 기본 요건

  • MySQL 데이터베이스는 LVM 아래에 있어야 하며 부팅 볼륨이 아니어야 합니다. mysql -e "select @@datadir"를 실행하여 데이터베이스 데이터 경로를 가져옵니다.

  • 최상의 결과를 얻으려면 MySQL 볼륨이 프로비저닝되는 LVM 볼륨에 최소 20% 의 여유 공간이 있어야 합니다.

  • MySQL 서버 호스트에 백업 및 DR 에이전트 설치

  • MySQL 인스턴스가 실행 중인지 확인

  • MySQL 데이터베이스의 소유자(OS 사용자)가 로그인할 수 있어야 합니다. 예를 들어 데이터베이스 OS 사용자에게 /bin/bash와 같이 작동하는 셸이 있어야 합니다.

    OS 사용자를 사용 설정하는 명령어: usermod -s /bin/bash mysql

  • MySQL 인스턴스에 localhost에서 연결할 수 있는 데이터베이스 백업 사용자가 있어야 합니다. 예: 'mypassword'로 식별되는 사용자 actuser'@'localhost 만들기

  • 볼륨 수준 스냅샷 백업 및 복구의 경우 데이터베이스 백업 사용자에게 필요한 권한:

    GRANT SELECT on *.* TO actuser;
    GRANT RELOAD on *.* TO actuser;
    GRANT LOCK TABLES on *.* TO actuser;
    GRANT SUPER on *.* TO actuser;
    GRANT REPLICATION CLIENT on *.* to actuser;
    SHOW GRANTS FOR CURRENT_USER;
    
  • 전체 + 증분(파일 기반 기존) 백업 및 복구의 경우 데이터베이스 백업 사용자에게 다음 권한이 필요합니다.

    GRANT ALL ON *.* TO 'actuser'@'localhost';
    SHOW GRANTS FOR CURRENT_USER;
    
  • 시스템 데이터베이스(information_schema, mysql, performance_schema, sys) 외에도 사용자 정의 데이터베이스 하나가 있어야 합니다.

  • 로그 백업을 수행하려면 MySQL 바이너리 로깅(log_bin)을 사용 설정해야 합니다. 바이너리 로그 옵션을 구성하려면 MySQL 서버를 종료하고 구성 파일(my.cnf 또는 my.ini)을 수정합니다. 구성 파일의 [mysqld] 섹션 내에 log-bin 옵션을 추가합니다.

    [mysqld]
    log_bin = /log1/mysql3306/mysql3306-bin.0000
    

PostgreSQL 데이터베이스 기본 요건

이 섹션에는 PostgreSQL 데이터베이스 기본 요건에 관한 정보가 포함되어 있습니다.

기본 노드에서 PostgreSQL 보호

  1. 백업 사용자를 만듭니다.

    create user actuser;

  2. 백업 권한을 제공합니다.

    alter user actuser with superuser;
    alter user actuser with Replication;
    
  3. 로그 백업을 수행하려면 PostgreSQL 보관처리 모드(archive_mode)를 ON으로 설정해야 합니다. 보관처리 로그 모드 옵션을 구성하려면 인스턴스의 데이터 디렉터리에 있는 postgresql.conf 파일을 업데이트하고 PostgreSQL을 새로고침합니다.

    archive_mode = on
     // Command to reload PostgreSQL
     pg_ctl reload -D <Postgres_datadir_path>
    ``
    

예시: pg_ctl reload -D /pgdata

대기 노드로부터 PostgreSQL 보호

  1. 백업 사용자를 만듭니다.

    create user actuser;

  2. 백업 권한을 제공합니다.

    alter user actuser with superuser;
    alter user actuser with Replication;
    
  3. PostgreSQL 보관 모드(WAL)를 대기 노드에 설정합니다.

    WAL을 보관할 디렉터리를 만듭니다.
    예에서는 /pglog가 디렉터리라고 가정합니다. 루트 사용자로 다음 단계를 실행합니다.

    mkdir /pglog
    chown -R postgres:postgres /pglog
    

    보관 파일을 위한 매개변수를 구성합니다.
    예에서는 $PGDATA/pgdata/11/data이라고 가정합니다. postgres 사용자로 아래 단계를 실행합니다.
    /pgdata/11/data/postgresql.conf 파일에서 매개변수를 추가하거나 업데이트합니다.

     wal_level = replica
     archive_mode = always
     archive_command = 'test ! -f /pglog/%f && cp %p /pglog/%f'
    

    PostgreSQL을 다시 시작합니다.

     /usr/pgsql-11/bin/pg_ctl stop -D /pgdata/11/data
     /usr/pgsql-11/bin/pg_ctl start -D /pgdata/11/data
    

    대기의 데이터베이스 연결을 수락하도록 기본의 pg_hba.conf에 항목을 추가하거나 업데이트합니다.

    host postgres <db-user> <standby-ip/32> <connection method>
    

    예: host postgres postgres 10.128.0.29/32 trust

    보관 파일 생성 테스트 (postgres 사용자로):

    ls -l /pglog/
    

    다음 로그 전환 명령어를 실행합니다.

     /usr/pgsql-11/bin/psql -h 10.128.0.28 -p5432 -c "select pg_switch_wal();"
     sleep 5 # log shipping may take some time depending on network
     ls -l /pglog/
    

SAP ASE 데이터베이스 기본 요건

시작하기 전에 SAP ASE 서버에서 다음을 완료합니다.

  • 백업 사용자 계정은 백업 권한(oper_role 또는 sa_role)으로 만들어야 합니다. 백업 사용자 이름과 비밀번호는 호스트 구성으로 구성해야 합니다. sa_role 또는 quiesce 권한으로 소스에서 quiesce 명령어를 실행할 비밀번호 유무와 관계없이 사용자를 만듭니다. 비밀번호가 있는 사용자를 만들려면 다음을 실행합니다.

    isql -Usa -P<password> -S<SAP ASE_Server_Name>
    1>sp_addlogin actuser, '<password>'
    2>go
    1>grant role sa_role to actuser
    2>go
    

    비밀번호 요구사항 없이 사용자 로그인을 구성하려면 비밀번호를 null로 설정한 다음 다음 명령어를 실행합니다.

    1>sp_configure "minimum password length", 0
    2>go
    1> sp_modifylogin actuser, "min passwd length",
    "0"
    2> go
    3> exit
    isql -Uactuser -P'<password>' -S<server_name>
    > sp_password '<password>', NULL
    >go
    >sp_configure "minimum password length", 8
    >go
    
  • SAP ASE 서버에 백업 및 DR 에이전트를 설치합니다.

  • 트랜잭션 로그 백업을 사용 설정하려면 SAP ASE 인스턴스의 각 데이터베이스에 대해 데이터베이스 수준에서 Truncate on chkpt false를 설정해야 합니다.

  • 볼륨 수준 백업에는 다음이 적용됩니다.

    • SAP ASE 인스턴스는 LVM 아래에 있어야 하며 부팅 볼륨이 아니어야 합니다.

    • SAP ASE 볼륨이 프로비저닝되는 LVM 볼륨에는 여유 공간이 20% 이상 있어야 합니다.

SAP IQ 데이터베이스 기본 요건

시작하기 전에 SAP IQ 서버에서 다음을 검토하세요.

  • 로그 백업을 수행하려면 SAP IQ PITR 로깅을 사용 설정해야 합니다. PITR 로그 옵션을 구성하려면 다음 SAP IQ API가 필요합니다.

    • ALTER DBSPACE IQ_SYSTEM_LOG RENAME /<pitr_log_location>

    • SET OPTION PUBLIC.IQ_POINT_IN_TIME_RECOVERY_LOGGING = ON`

    PITR 로깅을 사용 설정한 후에는 데이터베이스 전체 백업이 필요합니다.

  • 유틸리티 데이터베이스는 사용자 이름과 비밀번호를 지정하여 시작해야 하며 dbname은 utility_db여야 합니다. 예를 들면 start_iq -n utility_db -su act,passwd입니다.

  • 데이터베이스 백업 사용자 이름과 비밀번호는 utility_db 사용자 이름과 비밀번호와 동일해야 하며 DBA 권한이 있어야 합니다. 백업 사용자를 만들려면 다음 예를 참고하세요.

    create user actuser identified by 'mypassword';
    grant dba to actuser;
    
    • SAP IQ 서버 호스트에 백업 및 DR 에이전트를 설치합니다.

SAP MaxDB 데이터베이스 기본 요건

시작하기 전에 SAP MaxDB 서버에서 다음을 실행합니다.

  • 서버에서 실행되는 MaxDB 인스턴스가 여러 개인 경우 DB 사용자 이름과 비밀번호가 해당 서버에서 실행되는 모든 MaxDB 인스턴스에 공통이어야 합니다.

  • 자동 로그 백업이 사용 설정되어 있어야 합니다. 다음 명령어를 사용하여 자동 로그 백업을 사용 설정합니다.

    dbmcli -d <DBSID> -u <DBM_USERNAME>,<DBM_PASSWD> autolog_on
    <autolog_backup_template_name>
    
  • 자동 로그 백업을 사용 설정하려면 자동 로그 백업 템플릿이 필요합니다.

백업 템플릿을 만들려면 다음 명령어를 사용합니다.

    dbmcli -d <DBSID> -u <DBM_USERNAME>,<DBM_PASSWD> backup_template_create
    <BACKUP_TEMPLATE_NAME> to file  <FULL_PATH_WITH_FILE_NAME> content log
  • 자동 로그 백업을 사용 설정하려면 로그 덮어쓰기 영역을 비활성화해야 합니다.

로그 덮어쓰기를 비활성화하려면 다음 명령어를 사용합니다.

    dbmcli -d <DBSID> -u <DBM_USERNAME>,<DBM_PASSWD> db_execute SET LOG AUTO
    OVERWRITE OFF.
  • SAP MaxDB 서버 호스트에 백업 및 DR 에이전트를 설치합니다.

다음 단계

데이터베이스를 백업 및 DR용으로 준비한 후 호스트를 추가하고 데이터베이스를 검색할 수 있습니다.