볼륨 기반 백업 이미지에서 새 위치로 SAP IQ 및 SAP MaxDB 데이터베이스 복구하기-백업 및 DR-Google Cloud

볼륨 기반 백업 이미지에서 새 위치로 SAP IQ 및 SAP MaxDB 데이터베이스 복구

두 절차 모두 구성 파일을 맞춤설정하고 실행해야 합니다.

다음 섹션에서는 SAP IQ 또는 SAP MaxDB 데이터베이스의 볼륨 기반 백업 이미지를 새 위치로 복구하는 방법을 설명합니다.

  • IBM Db2, MariaDB, MySQL, PostgreSQL, SAP ASE, SAP IQ 또는 SAP MaxDB 데이터베이스의 볼륨 수준 백업 이미지를 새 대상에 복구하려면 데이터베이스 즉시 마운트 및 새 대상으로 마이그레이션 절차를 사용해도 됩니다.

  • IBM Db2, PostgreSQL, SAP ASE, SAP IQ, SAP MaxDB 데이터베이스의 전체+증분 백업 이미지를 새 타겟으로 복구하려면 기타 데이터베이스의 전체+증분 백업 이미지를 새 타겟으로 복구를 참고하세요.

복구 절차

볼륨 수준 백업 이미지를 새 대상에 복구하려면 다음 단계를 따르세요.

  1. 앱 관리자 애플리케이션 목록에서 보호된 데이터베이스를 마우스 오른쪽 버튼으로 클릭하고 액세스를 선택합니다. 관리형 백업 계획 상태 필터를 사용하여 보호된 데이터베이스만 표시할 수 있습니다.

  2. 복구할 최신 스냅샷을 선택하고 마운트를 선택합니다.

  3. 마운트 위치 아래에 대상 마운트 지점(예: /dmpRstNew)을 제공합니다. 이는 TARGET_MNT_PNT 변수로 사용됩니다.

    데이터베이스 백업은 /dmpRstNew (TARGET_MNT_PNT)에 마운트되고 로그 백업은 /dmpRstNew_archivelog (LOG_BKP_MNTPT)에 마운트됩니다.

  4. 루트로 데이터베이스 서버에 로그인합니다. 디렉터리를 /act/custom_apps/<database type>/restore로 변경합니다.

  5. 스크립트를 실행합니다.

    SAP IQ

    스크립트 이름: act_sybaseiq_lvm_customdb_recovery.sh

    스크립트 위치: /act/custom_apps/sybaseiq/restore

    스크립트:

    /act/custom_apps/sybaseiq/restore/act_sybaseiq_lvm_customdb_recovery.sh
    TARGET_MNT
    OSUSER
    CATALOG_DB_FILE
    SRC_DB_DBA_USER
    SRC_DB_DBA_PWD
    LOG_BKP_MNTPT
    RECOVERY_TIME
    JOBID
    INCR_BKP_LOC
    

    스크립트의 변수:

    • TARGET_MNT: 3단계의 마운트 작업 중에 제공된 마운트 지점입니다.
    • OSUSER: 대상 SAP IQ 데이터베이스의 OS 사용자
    • CATALOG_DB_FILE: 소스 데이터베이스 파일의 전체 경로(예: /lv3Data/lv3DB/data/lv3DB.db)입니다.
    • SRC_DB_DBA_USER: 타겟 유틸리티 DB 사용자
    • SRC_DB_DBA_PWD: 대상 유틸리티 DB 비밀번호
    • LOG_BKP_MNTPT: 마운트 작업 중에 제공된 마운트 지점에서 가져오며 뒤에 _archivelog가 옵니다(예: /SDBR_archivelog).
    • RECOVERY_TIME: (선택사항) 마지막으로 확인된 정상 데이터베이스의 시간 및 원하는 복구 시간을 "YYYY-MM-DD HH:MM:SS" 형식으로 로깅합니다.
    • JOBID: Job_1479897 형식의 마운트 작업 ID (관리 콘솔의 모니터링 > 작업 탭)입니다.
    • INCR_BKP_LOC: 증분 백업 파일 경로입니다(예: /act/tmpdata/Job_1479897/INC_BKP.1 항상 /act/tmpdata//INC_BKP.1).

    스크립트가 실행된 후 IQ 데이터베이스에 연결하여 데이터베이스가 복구되고 온라인 상태인지 확인합니다.

    dbisql -c "uid=<username>;pwd=<password>;eng=<engine name>;dbn=<database name>;" -nogui

    SAP MaxDB

    스크립트 이름: /var/act/scripts/ACT_MAXDB_lvmRestore_newTarget.conf

    스크립트 위치: /act/custom_apps/maxdb/restore

    스크립트:

      /act/custom_apps/maxdb/restore/ACT_MAXDB_lvmRestore_newTarget.sh
      OSUSER
      TARGET_SERVER_NAME
      TARGET_DB_USER
      TARGET_DBUSER_PASSWD 
      SOURCE_DBSID
      MANIFEST_FILE_LOC 
      SRC_DB_VERSION
      ACT_JOBNAME
      TARGET_MNT_PNT 
      LOG_BKP_MNTPT
      UNTIL_TIME
      BEGIN_TIME
    

    스크립트의 변수:

    • OSUSER: 대상 MaxDB 데이터베이스의 OS 사용자
    • TARGET_SERVER_NAME: 대상 MaxDB 데이터베이스의 SID입니다.
    • TARGET_DB_USER 및 TARGET_DBUSER_PASSWD: 대상 MaxDB 데이터베이스의 DBM 사용자 이름 및 비밀번호입니다. 소스 DBM 사용자 이름 및 비밀번호와 동일해야 합니다. 복원 작업이 완료된 후 비밀번호를 변경할 수 있습니다.
    • SOURCE_DBSID: 소스 MaxDB 데이터베이스의 SID입니다.
    • MANIFEST_FILE_LOC: Manifest_File_SLD의 전체 경로입니다.
    • SRC_DB_VERSION: 소스 MaxDB 데이터베이스의 버전 번호입니다.
    • ACT_JOBNAME: Job_1479897 형식의 마운트 작업 ID (관리 콘솔, 모니터링 > 작업 탭)입니다.
    • TARGET_MNT_PNT: 마운트 작업 중에 제공된 마운트 지점 (관리 콘솔, 모니터링 > 작업 탭)
    • LOG_BKP_MNTPT: 마운트 작업 중에 제공된 마운트 지점에서 가져오며 뒤에 _archivelog가 옵니다(예: /SDBR_archivelog).
    • UNTIL_TIME: 복구가 완료되기를 원하는 시간 (마운트된 백업 이미지의 관리 콘솔에서 가져온 "YYYY-MM-DD HH:MM:SS" 형식)
    • BEGIN_TIME: 복구를 시작할 시간입니다 ("YYYY-MM-DD HH:MM:SS" 형식, 관리 콘솔의 마운트된 백업 이미지).

    MaxDB 데이터베이스에 연결하고 데이터베이스가 복구되고 온라인 상태인지 확인합니다.

      dbmcli -d TARGET_SERVER_NAME -u TARGET_DB_USER,TARGET_DBUSER_PASSWD db_state
    

    데이터베이스가 복원된 후 더미 또는 덤프 데이터베이스 백업을 사용하여 로그 백업을 수행하는 데 필요한 backup_history_list에 백업 기록 지점을 생성합니다. 예를 들면 다음과 같습니다.

    dbmcli -d >MAXDB_KEY -uUTL -c backup_start DATA AUTOIGNORE

    이 설정이 없으면 향후 볼륨 수준 백업이 자동 로그 백업 템플릿 트리거 실패 오류와 함께 실패합니다.

  6. 마운트된 스냅샷 이미지를 마운트 해제합니다.

비밀번호 변경

경우에 따라 데이터베이스 비밀번호를 변경해야 할 수도 있습니다.

SAP IQ

  1. 대상 데이터베이스에 로그인합니다. db 사용자 SRC_DB_DBA_USER 및 비밀번호 SRC_DB_DBA_PWD가 있는 TARGET_SERVER_NAME라는 데이터베이스의 경우 로그인 명령어는 다음과 같습니다.

    dbisql -nogui -onerror exit -c 'uid=SRC_DB_DBA_USER;pwd=SRC_DB_DBA_PWD;dbn=TARGET_SERVER_NAME;eng=TARGET_SERVER_NAME;'
    
  2. 다음 명령어를 실행하여 비밀번호를 변경합니다.

    ALTER USER actuser IDENTIFIED BY new_password
    
  3. 새 비밀번호로 다시 로그인하여 다음을 확인합니다.

    dbisql -nogui -onerror exit -c 'uid=actuser;pwd=new_password;dbn=TARGET_SERVER_NAME;eng=TARGET_SERVER_NAME;'
    

SAP MaxDB

  1. 비밀번호를 변경하려면 DBM 사용자로 대상 DB에 로그인합니다.

    dbmcli -d TARGET_SERVER_NAME -u TARGET_DB_USER,TARGET_DBUSER_PASSWD
    user_changepwd dbm <new_password>
    

    예를 들어 DBM 사용자가 비밀번호를 abcdef에서 fedcba로 변경하는 경우 다음과 같이 로그인합니다.

    dbmcli -d glxn -u dbm,abcdef

  2. 다음 명령어를 실행합니다.

    user_changepwd dbm abcdef

  3. 새 비밀번호로 다시 로그인합니다.

    dbmcli -d glxn -u dbm,fedcba