本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Amazon EC2執行個體上還原SAPHANA資料庫
SAP HANA EC2執行個體上的資料庫可以使用 AWS Backup 主控台、 API或 還原 AWS CLI。
主題
使用 AWS Backup 主控台還原SAPHANA資料庫
請注意,您無法對相同的資料庫同時進行備份任務和還原任務。發生SAPHANA資料庫還原任務時,嘗試備份相同的資料庫可能會導致錯誤:「資料庫在停止時無法備份」。
-
使用先決條件中的憑證存取 AWS Backup 主控台。
-
在 目標還原位置 下拉式選單下,選擇一個資料庫,以使用您要用於還原的復原點覆寫 (請注意,託管還原目標資料庫的執行個體也必須具有先決條件中的許可)。
重要
SAP HANA 資料庫還原具有破壞性。還原資料庫會覆寫位於指定目標還原位置的資料庫。
-
只有在執行系統複製還原時才完成此步驟;否則,請跳至步驟 4。
系統複製還原是一種還原任務,其中還原目標資料庫與產生復原點的來源資料庫不同。若要進行系統複製還原,請注意控制台上提供給您的
aws ssm-sap put-resource-permission
命令。必須複製此命令,並貼到已完成先決條件的機器上加以執行。執行命令時,請使用您設定註冊應用程式所需的許可先決條件中的角色憑證。// Example command aws ssm-sap put-resource-permission \ --region
us-east-1
\ --action-type RESTORE \ --source-resource-arnarn:aws:ssm-sap-east-1:112233445566:HANA/Foo/DB/HDB
\ --resource-arnarn:aws:ssm-sap:us-east-1:112233445566:HANA/Bar/DB/HDB
-
選擇還原位置後,您可以看到目標資料庫的資源 ID、應用程式名稱 、資料庫類型 和EC2執行個體 。
-
或者,您可以展開進階還原設定,以變更目錄還原選項。可用的選項會根據選取的還原設定而有所不同。
-
按一下 還原備份。
-
目標位置將在還原期間遭到覆寫 (「破壞性還原」),因此您必須在下一個快顯對話方塊中提供允許這項操作的確認。
-
若要繼續,您必須了解現有資料庫將遭到所要還原的資料庫覆寫。
-
了解這點之後,您必須確認現有資料將遭到覆寫。若要確認這點並繼續進行,請在文字輸入欄位中輸入 overwrite。
-
-
按一下 還原備份。
如果程序成功,主控台頂端會出現藍色橫幅。這表示還原任務正在進行中。系統會自動將您重新導向至「任務」頁面,其中您的還原任務會顯示在還原任務清單中。這個最近任務的狀態為 Pending
。您也可以搜尋,然後按一下還原任務 ID,來查看每個還原任務的詳細資訊。您可以按一下「重新整理」按鈕來重新整理還原任務清單,以檢視還原任務狀態的變更。
StartRestoreJob API SAPHANA上的 EC2
此動作會復原由 Amazon Resource Name () 識別的已儲存資源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
。重試具有相同等冪性字符的成功請求會導致出現成功消息,但未執行任何動作。
類型:字串
必要:否
中繼資料
一組中繼資料鍵值對。包含還原復原點所需的資訊,例如資源名稱。您可以在備份資源時,透過呼叫 GetRecoveryPointRestoreMetadata
取得有關資源的組態中繼資料。但是,除了 GetRecoveryPointRestoreMetadata
提供的值之外,還可能需要還原資源。例如,如果原始資源已存在,您可能需要提供新資源名稱。
您需要包含特定中繼資料,才能在 Amazon EC2執行個體SAPHANA上還原 。如需 SAP HANA特定項目,請參閱 StartRestoreJob 中繼資料。
若要擷取相關的中繼資料,您可以使用呼叫 GetRecoveryPointRestoreMetadata
。
標準SAPHANA資料庫復原點的範例:
"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" }
連續SAPHANA資料庫復原點的範例:
"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
此命令會start-restore-job
復原由 Amazon Resource Name () 識別的已儲存資源ARN。CLI 將遵循上述API準則。
概要:
start-restore-job --recovery-point-arn
value
--metadatavalue
--aws:backup:request-idvalue
[--idempotency-tokenvalue
] [--resource-typevalue
] [--cli-input-jsonvalue
] [--generate-cli-skeletonvalue
] [--debug] [--endpoint-urlvalue
] [--no-verify-ssl] [--no-paginate] [--outputvalue
] [--queryvalue
] [--profilevalue
] [--regionvalue
] [--versionvalue
] [--colorvalue
] [--no-sign-request] [--ca-bundlevalue
] [--cli-read-timeoutvalue
] [--cli-connect-timeoutvalue
]
選項
--recovery-point-arn
(字串) 是 Amazon Resource Number (ARN) 形式的字串,可唯一識別復原點;例如 arn:aws:backup:
region
:123456789012:recovery-point:46bbtt4q-7unr-2897-m486-yn378k2mrw9d
--metadata
(映射):一組中繼資料鍵值對。包含還原復原點所需的資訊,例如資源名稱。您可以在備份資源時,透過呼叫 GetRecoveryPointRestoreMetadata
取得有關資源的組態中繼資料。但是,除了 GetRecoveryPointRestoreMetadata
提供的值之外,還可能需要還原資源。您需要指定特定的中繼資料,才能在 Amazon EC2執行個體SAPHANA上還原 :
-
aws:backup:request-id
:這是用於意識模糊的任何UUID字串。不會以任何方式改變您的還原體驗。 -
aws:backup:TargetDatabaseArn
:指定您要還原的目標資料庫。這是 Amazon EC2 資料庫 SAPHANA上的 ARN。 -
CatalogRestoreOption
:指定您要還原目錄的來源位置。可以是NO_CATALOG
、LATEST_CATALOG_FROM_AWS_BACKUP
、CATALOG_FROM_LOCAL_PATH
的其中之一 -
LocalCatalogPath
:如果 CatalogRestoreOption 中繼資料值為CATALOG_FROM_LOCAL_PATH
,請在EC2執行個體上指定本機目錄的路徑。這應該是EC2執行個體中的有效檔案路徑。 -
RecoveryType
:目前支援FULL_DATA_BACKUP_RECOVERY
、POINT_IN_TIME_RECOVERY
和MOST_RECENT_TIME_RECOVERY
復原類型。
鍵 = (字串);值 = (字串)。速記語法:
KeyName1=string,KeyName2=string
JSON 語法:
{"string": "string" ...}
--idempotency-token
是使用者所選擇的字串,可用來區分在其他方面相同的 StartRestoreJob
呼叫。重試具有相同等冪性字符的成功請求會導致出現成功消息,但未執行任何動作。
--resource-type
是開始任務以還原下列其中一個資源的復原點的字串:SAP HANA on Amazon EC2
適用於 Amazon SAPHANA上的 EC2。或者,可以使用 命令標記SAPHANA資源 aws ssm-sap tag-resource
輸出:RestoreJobId
是一個字串,可唯一識別還原復原點的任務。
SAP HANA 高可用性 (HA) 還原
當您還原 的高可用性 (HA) SAP 系統時,需要包含一些重要的考量事項和其他步驟HANA。展開下方最符合您使用案例的區段。
還原案例:
還原至目標 (目的地) SAP HANA HA 系統之前,
-
如果已安裝叢集,請將所有叢集備註置於維護模式。
-
停止所有節點上的SAPHANA資料庫,包括主要和次要節點。
-
(建議) 停用任何備份計劃,以確保它們不會干擾還原操作。
還原任務完成後,前往還原的 SAP HANA HA 系統,然後:
-
在主要模式下啟動SAPHANA資料庫。
-
手動啟動任何還原系統資料庫但其租用戶未還原的租用戶資料庫。
-
在主要節點和次要節點之間重新建立SAPHANA系統複寫 (HSR)。
-
在次要節點上啟動SAPHANA資料庫。
-
如果已安裝叢集,請確保所有叢集節點都在線上。
-
啟用您在還原操作之前停用的任何備份計畫。
(選用) 您可以透過呼叫 ,在 AWS Systems Manager SAP 上保持應用程式同步StartApplicationRefresh
,或者您可以等待排程的應用程式重新整理,以帶來最新的SAP中繼資料。
在開始還原任務之前,請前往目標單節點SAPHANA系統,然後:
停止目標SAPHANA系統上的SAPHANA資料庫。
(建議) 停用任何備份計劃,以確保它們不會干擾還原操作。
還原任務完成後,前往目標單節點SAPHANA系統,然後:
在目標SAPHANA系統上SAPHANA啟動 。
手動啟動目標節點上的每個租戶資料庫。
啟用您在還原操作之前停用的任何備份計畫。
(選用) 您可以透過呼叫 ,在 AWS Systems Manager SAP 上保持應用程式同步StartApplicationRefresh
,或者您可以等待排程的應用程式重新整理,以帶來最新的SAP中繼資料。
開始還原任務之前,請先前往目標SAPHANA系統,然後:
(選用,但建議) 將任何已安裝的叢集置於維護模式,以避免在還原操作期間意外接管。
確保系統資料庫在目標系統上執行SAPHANA。
(建議) 停用任何備份計劃,以確保它們不會干擾還原操作。
還原任務完成後:
啟用您在還原操作之前停用的任何備份計畫。
故障診斷
如果在嘗試進行備份操作時發生下列任何錯誤,請參閱相關的解決方法。
-
錯誤:連續備份日誌錯誤
為了維護連續備份的復原點, 會SAPHANA針對所有變更建立日誌。當日誌無法使用時,每個連續復原點的狀態都會是
STOPPED
。可用來還原的最後一個可行復原點具有AVAILABLE
狀態。如果在狀態為STOPPED
的復原點與狀態為AVAILABLE
的復原點時間間隔內遺失日誌資料,則無法保證這些時間還原成功。如果您在此範圍內輸入日期和時間, AWS Backup 會嘗試備份,但會使用最接近的可用可還原時間。此錯誤會顯示訊息“Encountered an issue with log backups. Please check SAP HANA for details."
解決方法:在主控台中,會根據日誌顯示最近的可還原時間。您可以輸入比所顯示時間更近的時間。但是,如果日誌中沒有此時間的資料, AWS Backup 將使用最新的可還原時間。
-
錯誤:
Internal error
解決方案:從您的主控台或聯絡人建立支援案例, AWS Support 其中包含還原的詳細資訊,例如還原任務 ID。
-
錯誤:
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 Agent。檢查所有先決條件,特別是在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
解決方案:檢查 SAPHANA以確保 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"
解決方法:執行個體上發生暫時性網路不穩定。請重試還原。如果此問題持續發生,請嘗試將
ForceRetry: "true"
新增至位於/hana/shared/aws-backint-agent/aws-backint-agent-config.yaml.
的代理程式組態檔案
如需任何其他 AWS Backint 代理程式相關問題,請參閱針對 Backint SAP 代理程式進行故障診斷 AWS HANA。