Amazon EC2 인스턴스에서 SAP HANA 데이터베이스 복원 - AWS Backup

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon EC2 인스턴스에서 SAP HANA 데이터베이스 복원

SAP HANA EC2 인스턴스의 데이터베이스는 AWS Backup 콘솔, API또는 를 사용하여 복원할 수 있습니다 AWS CLI.

AWS Backup 콘솔을 사용하여 SAP HANA 데이터베이스 복원

동일한 데이터베이스를 포함하는 백업 작업과 복원 작업은 동시에 실행될 수 없습니다. SAP HANA 데이터베이스 복원 작업이 발생하는 경우 동일한 데이터베이스를 백업하려고 시도하면 오류가 발생할 수 있습니다. “데이터베이스는 중지된 동안에는 백업할 수 없습니다.”

  1. 사전 조건의 보안 인증 정보를 사용하여 AWS Backup 콘솔에 액세스합니다.

  2. 대상 복원 위치 드롭다운 메뉴에서 복원에 사용 중인 복구 시점으로 덮어쓸 데이터베이스를 선택합니다(복원 대상 데이터베이스를 호스팅하는 인스턴스에도 사전 요구 사항의 권한이 있어야 함).

    중요

    SAP HANA 데이터베이스 복원은 파괴적입니다. 데이터베이스를 복원하면 지정된 대상 복원 위치에 있는 데이터베이스를 덮어씁니다.

  3. 이 단계는 시스템 복사 복원을 수행하는 경우에만 완료하고, 그렇지 않으면 4단계로 건너뜁니다.

    시스템 복사 복원은 복구 시점을 생성한 소스 데이터베이스가 아닌 다른 대상 데이터베이스로 복원하는 복원 작업입니다. 시스템 복사 복원의 경우 콘솔에 제공된 aws ssm-sap put-resource-permission 명령을 확인하세요. 이 명령은 사전 요구 사항이 완료된 시스템에서 복사, 붙여넣기 및 실행해야 합니다. 이 명령을 실행할 때 애플리케이션 등록에 필요한 권한을 설정하는 사전 요구 사항에 있는 역할의 보안 인증 정보를 사용하세요.

    // Example command aws ssm-sap put-resource-permission \ --region us-east-1 \ --action-type RESTORE \ --source-resource-arn arn:aws:ssm-sap-east-1:112233445566:HANA/Foo/DB/HDB \ --resource-arn arn:aws:ssm-sap:us-east-1:112233445566:HANA/Bar/DB/HDB
  4. 복원 위치를 선택하면 대상 데이터베이스의 리소스 ID , 애플리케이션 이름 , 데이터베이스 유형EC2 인스턴스 를 볼 수 있습니다.

  5. 선택적으로 고급 복원 설정을 확장하여 카탈로그 복원 옵션을 변경할 수 있습니다. 사용 가능한 옵션은 선택한 복원 설정에 따라 다릅니다.

  6. 백업 복원을 클릭합니다.

  7. 복원 중에 대상 위치를 덮어쓰므로(“파괴적 복원”) 다음 팝업 대화 상자에서 이를 허용하도록 확인해야 합니다.

    1. 계속하려면 복원 중인 데이터베이스가 기존 데이터베이스를 덮어쓴다는 점을 이해해야 합니다.

    2. 이 점을 이해했으면 기존 데이터를 덮어쓸 것임을 인정해야 합니다. 이를 인정하고 계속하려면 텍스트 입력 필드에 덮어쓰기를 입력합니다.

  8. 백업 복원을 클릭합니다.

절차가 성공하면 콘솔 상단에 파란색 배너가 나타납니다. 이는 복원 작업이 진행 중임을 나타냅니다. 자동으로 작업 페이지로 리디렉션됩니다. 이 페이지에서 복원 작업이 복원 작업 목록에 나열됩니다. 가장 최근 작업의 상태는 Pending일 것입니다. 복원 작업 ID를 검색한 다음 클릭하여 각 복원 작업의 세부 정보를 볼 수 있습니다. 새로 고침 버튼을 클릭하여 복원 작업 목록을 새로 고치면 복원 작업의 상태 변화를 확인할 수 있습니다.

StartRestoreJob API SAPHANA의 에 대한 EC2

이 작업은 Amazon 리소스 이름()으로 식별된 저장된 리소스를 복구합니다ARN.

요청 구문

PUT /restore-jobs HTTP/1.1 Content-type: application/json { "IdempotencyToken": "string", "Metadata": { "string" : "string" }, "RecoveryPointArn": "string", "ResourceType": "string" }

URI 요청 파라미터 : 요청은 URI 파라미터를 사용하지 않습니다.

요청 본문 : 요청은 JSON 형식의 다음 데이터를 수락합니다.

IdempotencyToken에 대한 다른 동일한 호출을 구분하는 데 사용할 수 있는 고객 선택 문자열입니다StartRestoreJob. 동일한 멱등성 토큰으로 성공적인 요청을 다시 시도하면 아무런 작업 없이 성공 메시지가 표시됩니다.

유형: 문자열

필수 항목 여부: 아니요

Metadata

메타데이터 키-값 페어의 집합입니다. 복구 시점을 복원하는 데 필요한 리소스 이름과 같은 정보가 들어 있습니다. GetRecoveryPointRestoreMetadata를 호출하여 백업했던 당시의 리소스에 대한 구성 메타데이터를 가져올 수 있습니다. 하지만 리소스를 복원하려면 GetRecoveryPointRestoreMetadata에서 제공한 값 외에 다른 값이 필요할 수 있습니다. 예를 들어, 원본이 이미 있는 경우 새 리소스 이름을 제공해야 할 수 있습니다.

Amazon EC2 인스턴스SAPHANA에서 를 복원하려면 특정 메타데이터를 포함해야 합니다. 특정 항목에 대한 StartRestoreJob 메타데이터SAP를 참조HANA하세요.

관련 메타데이터를 검색하려면 GetRecoveryPointRestoreMetadata 호출을 사용합니다.

표준 SAP HANA 데이터베이스 복구 시점의 예:

"RestoreMetadata": { "BackupSize": "1660948480", "DatabaseName": "DATABASENAME", "DatabaseType": "SYSTEM", "HanaBackupEndTime": "1674838362", "HanaBackupId": "1234567890123", "HanaBackupPrefix": "1234567890123_SYSTEMDB_FULL", "HanaBackupStartTime": "1674838349", "HanaVersion": "2.00.040.00.1553674765", "IsCompressedBySap": "FALSE", "IsEncryptedBySap": "FALSE", "SourceDatabaseArn": "arn:aws:ssm-sap:region:accountID:HANA/applicationID/DB/DATABASENAME", "SystemDatabaseSid": "HDB", "aws:backup:request-id": "46bbtt4q-7unr-2897-m486-yn378k2mrw9c" }

연속 SAP HANA 데이터베이스 복구 시점의 예:

"RestoreMetadata": { "AvailableRestoreBases": "[1234567890123,9876543210987,1472583691472,7418529637418,1678942598761]", "BackupSize": "1711284224", "DatabaseName": "DATABASENAME", "DatabaseType": "TENANT", "EarliestRestorablePitrTimestamp": "1674764799789", "HanaBackupEndTime": "1668032687", "HanaBackupId": "1234567890123", "HanaBackupPrefix": "1234567890123_HDB_FULL", "HanaBackupStartTime": "1668032667", "HanaVersion": "2.00.040.00.1553674765", "IsCompressedBySap": "FALSE", "IsEncryptedBySap": "FALSE", "LatestRestorablePitrTimestamp": "1674850299789", "SourceDatabaseArn": "arn:aws:ssm-sap:region:accountID:HANA/applicationID/DB/SystemDatabaseSid", "SystemDatabaseSid": "HDB", "aws:backup:request-id": "46bbtt4q-7unr-2897-m486-yn378k2mrw9d" }

CLI SAPHANA의 에 대한 EC2

명령은 Amazon 리소스 이름()으로 식별된 저장된 리소스를 start-restore-job 복구합니다ARN. CLI 는 위의 API 지침을 따릅니다.

시놉시스:

start-restore-job --recovery-point-arn value --metadata value --aws:backup:request-id value [--idempotency-token value] [--resource-type value] [--cli-input-json value] [--generate-cli-skeleton value] [--debug] [--endpoint-url value] [--no-verify-ssl] [--no-paginate] [--output value] [--query value] [--profile value] [--region value] [--version value] [--color value] [--no-sign-request] [--ca-bundle value] [--cli-read-timeout value] [--cli-connect-timeout value]

옵션

--recovery-point-arn (문자열)은 복구 시점을 고유하게 식별하는 Amazon 리소스 번호(ARN) 형식의 문자열입니다. 예: arn:aws:backup:region:123456789012:recovery-point:46bbtt4q-7unr-2897-m486-yn378k2mrw9d

--metadata(맵): 메타데이터 키-값 페어의 집합입니다. 복구 시점을 복원하는 데 필요한 리소스 이름과 같은 정보가 들어 있습니다. GetRecoveryPointRestoreMetadata를 호출하여 백업했던 당시의 리소스에 대한 구성 메타데이터를 가져올 수 있습니다. 하지만 리소스를 복원하려면 GetRecoveryPointRestoreMetadata에서 제공한 값 외에 다른 값이 필요할 수 있습니다. Amazon EC2 인스턴스SAPHANA에서 를 복원하려면 특정 메타데이터를 지정해야 합니다.

  • aws:backup:request-id: idempotency에 사용되는 UUID 문자열입니다. 복원 환경은 어떤 식으로든 바뀌지 않습니다.

  • aws:backup:TargetDatabaseArn: 복원하려는 데이터베이스를 지정합니다. Amazon EC2 데이터베이스SAPHANA의 입니다ARN.

  • CatalogRestoreOption: 카탈로그를 복원할 위치를 지정합니다. NO_CATALOG LATEST_CATALOG_FROM_AWS_BACKUP, CATALOG_FROM_LOCAL_PATH 중 하나입니다.

  • LocalCatalogPath: CatalogRestoreOption 메타데이터 값이 인 경우 EC2 인스턴스의 로컬 카탈로그 경로를 CATALOG_FROM_LOCAL_PATH지정합니다. 인스턴스에서 유효한 파일 경로여야 합니다EC2.

  • RecoveryType: 현재 FULL_DATA_BACKUP_RECOVERY, POINT_IN_TIME_RECOVERYMOST_RECENT_TIME_RECOVERY 복구 유형이 지원됩니다.

키 = (문자열), 값 = (문자열). 간편 구문:

KeyName1=string,KeyName2=string

JSON 구문:

{"string": "string" ...}

--idempotency-token은 고객이 선택한 문자열로, StartRestoreJob에 대한 동일한 호출을 구분하는 데 사용할 수 있습니다. 동일한 멱등성 토큰으로 성공적인 요청을 다시 시도하면 아무런 작업 없이 성공 메시지가 표시됩니다.

--resource-type 는 Amazon 의 용 리소스 중 하나에 대한 복구 시점을 복원하기 위해 작업을 시작하는 문자열SAP HANA on Amazon EC2SAPHANA입니다EC2. 선택적으로 명령을 사용하여 SAP HANA 리소스에 태그를 지정할 수 있습니다. aws ssm-sap tag-resource

출력: RestoreJobId는 복구 시점을 복원하는 작업을 고유하게 식별하는 문자열입니다.

SAP HANA 고가용성(HA) 복원

의 SAP 고가용성(HA) 시스템을 복원할 때 포함해야 할 중요한 고려 사항과 추가 단계가 있습니다HANA. 사용 사례를 가장 잘 정렬하는 아래 섹션을 확장합니다.

복원 시나리오:

대상(대상) SAP HANA HA 시스템으로 복원하기 전에

  1. 클러스터가 설치된 경우 모든 클러스터 노트를 유지 관리 모드로 전환합니다.

  2. 기본 및 보조 노드를 포함한 모든 노드에서 SAP HANA 데이터베이스를 중지합니다.

  3. (권장) 백업 계획이 복원 작업을 방해하지 않도록 백업 계획을 비활성화합니다.

복원 작업이 완료되면 복원된 SAP HANA HA 시스템으로 이동한 다음:

  1. 기본 모드에서 SAP HANA 데이터베이스를 시작합니다.

  2. 시스템 데이터베이스가 복원되었지만 테넌트가 복원되지 않은 테넌트 데이터베이스를 수동으로 시작합니다.

  3. 기본 노드와 보조 노드 간에 SAP HANA 시스템 복제(HSR)를 다시 설정합니다.

  4. 보조 노드에서 SAP HANA 데이터베이스를 시작합니다.

  5. 클러스터가 설치된 경우 모든 클러스터 노드가 온라인 상태인지 확인합니다.

  6. 복원 작업 전에 비활성화한 백업 계획을 활성화합니다.

(선택 사항) 를 호출하여 AWS Systems Manager for SAP 에서 애플리케이션을 동기화된 상태로 유지StartApplicationRefresh하거나 최신 SAP 메타데이터를 가져오는 예약된 애플리케이션 새로 고침을 기다릴 수 있습니다.

복원 작업을 시작하기 전에 대상 단일 노드 SAP HANA 시스템으로 이동한 다음 다음을 수행합니다.

  1. 대상 SAP HANA 시스템에서 SAP HANA 데이터베이스를 중지합니다.

  2. (권장) 백업 계획이 복원 작업을 방해하지 않도록 백업 계획을 비활성화합니다.

복원 작업이 완료되면 대상 단일 노드 SAP HANA 시스템으로 이동한 다음 다음을 수행합니다.

  1. SAP HANA 대상 SAP HANA 시스템에서 시작합니다.

  2. 대상 노드에서 각 테넌트 데이터베이스를 수동으로 시작합니다.

  3. 복원 작업 전에 비활성화한 백업 계획을 활성화합니다.

(선택 사항) 를 호출하여 AWS Systems Manager for SAP 에서 애플리케이션을 동기화된 상태로 유지StartApplicationRefresh하거나 최신 SAP 메타데이터를 가져오는 예약된 애플리케이션 새로 고침을 기다릴 수 있습니다.

복원 작업을 시작하기 전에 대상 SAP HANA 시스템으로 이동한 다음 다음을 수행합니다.

  1. (선택 사항이지만 권장) 복원 작업 중에 예기치 않은 탈취를 방지하려면 설치된 클러스터를 유지 관리 모드로 전환합니다.

  2. 시스템 데이터베이스가 대상 SAP HANA 시스템에서 실행되고 있는지 확인합니다.

  3. (권장) 백업 계획을 비활성화하여 복원 작업을 방해하지 않도록 합니다.

복원 작업이 완료된 후:

  • 복원 작업 전에 비활성화한 백업 계획을 활성화합니다.

문제 해결

백업 작업을 시도하는 동안 다음 오류가 발생하는 경우 관련 해결 방법을 참조하세요.

  • 오류: 연속 백업 로그 오류

    연속 백업의 복구 시점을 유지하기 위해 모든 변경 사항에 SAP HANA 대해 에서 로그가 생성됩니다. 로그를 사용할 수 없는 경우 각 연속 복구 시점의 상태는 STOPPED입니다. 복원에 사용할 수 있는 마지막 실행 가능한 복구 시점은 상태가 AVAILABLE인 복구 시점입니다. STOPPED 상태의 복구 시점과 AVAILABLE 상태의 복구 시점 사이에 로그 데이터가 누락된 경우 이러한 시간에는 복원이 성공한다는 보장을 할 수 없습니다. 이 범위 내의 날짜와 시간을 입력하면 는 백업을 AWS Backup 시도하지만 가장 가까운 복원 가능 시간을 사용합니다. 이 오류는 메시지 “Encountered an issue with log backups. Please check SAP HANA for details."에 표시됩니다.

    해결 방법: 콘솔에는 로그를 기반으로 가장 최근의 복원 가능 시간이 표시됩니다. 표시된 시간보다 더 최근 시간을 입력할 수 있습니다. 그러나 로그에서 이 시간의 데이터를 사용할 수 없는 경우 는 가장 최근 복원 가능 시간을 AWS Backup 사용합니다.

  • 오류: Internal error

    해결 방법: 콘솔에서 지원 사례를 생성하거나 복원 작업 ID와 같은 복원 세부 정보가 AWS Support 포함된 에 문의하세요.

  • 오류: The provided role arn:aws:iam::ACCOUNT_ID:role/ServiceLinkedRole cannot be assumed by AWS Backup

    해결 방법: 복원을 호출할 때 수임하는 역할에 서비스 연결 역할을 생성하는 데 필요한 권한이 있는지 확인합니다.

  • 오류: User: arn:aws:sts::ACCOUNT_ID:assumed-role/ServiceLinkedRole/AWSBackup-ServiceLinkedRole is not authorized to perform: ssm-sap:GetOperation on resource: arn:aws:ssm-sap:us-east-1:ACCOUNT_ID:...

    해결 방법: 사전 요구 사항에 설명된 복원 권한을 호출할 때 수임하는 역할을 올바르게 입력했는지 확인합니다.

  • 오류: b* 449: recovery strategy could not be determined: [111014] The backup with backup id '1660627536506' cannot be used for recovery SQLSTATE: HY000\n

    해결 방법: Backint 에이전트가 제대로 설치되었는지 확인합니다. SAP 애플리케이션 서버에서 모든 사전 조건, 특히 AWS BackInt 에이전트 설치 및 AWS Systems Manager 를 SAP 확인한 다음 BackInt 에이전트 설치를 다시 시도합니다.

  • 오류: IllegalArgumentException: Restore job provided is not ready to return chunks, current restore job status is: CANCELLED

    해결 방법: 복원 작업이 서비스 워크플로에 의해 취소되었습니다. 복원 작업을 다시 시도합니다.

  • 오류: SAPHANA고가용성 시스템에서 테넌트 데이터베이스를 복원하는 데 문제가 발생했습니다. b* -10709: Connection failed (RTE:[89006] System call 'connect' failed, rc=111:Connection refused ([::1]:40404 → localhost:30013))\n

    해결 방법: SAP HANA SYSTEMDB가 실행 중인지 확인합니다.

  • 오류: b'* 448: recovery could not be completed: [301102] exception 301153: Sending root key to secondary failed: connection refused. This may be caused by a stopped system replication secondary. Please keep the secondary online to receive the restored root key. Alternatively you could unregister the secondary site in case of an urgent recovery.\n SQLSTATE: HY000\n'

    해결 방법: SAPHANA고가용성 시스템에서 는 활성 복원 작업이 실행되는 동안 보조 노드에서 실행되지 않을 SAP HANA 수 있습니다. 보조 노드SAPHANA에서 시작한 다음 복원 작업을 다시 시도합니다.

  • 오류: RequestError: send request failed\ncaused by: read tcp 10.0.131.4:40482->35.84.99.47:443: read: connection timed out"

    해결 방법: 인스턴스에서 일시적인 네트워크 불안정이 발생했습니다. 요청을 다시 시도합니다. 이 문제가 지속적으로 발생하는 경우 /hana/shared/aws-backint-agent/aws-backint-agent-config.yaml.에 있는 에이전트 구성 파일에 ForceRetry: "true"를 추가해 보세요.

기타 AWS Backint 에이전트 관련 문제는 SAP 의 Backint 에이전트 문제 해결을 AWS 참조하세요HANA.