還原及復原 SAP HANA 向外擴充執行個體

本頁說明如何從備份和災難復原服務備份檔復原 SAP HANA 向外擴充執行個體。

授權規定和還原作業的影響

  • SAP HANA 資料庫的授權金鑰是以系統 ID 和硬體 ID 為依據。復原後,如果 SID 或硬體 ID 已變更,SAP HANA 授權金鑰就會失效。
  • 如果用於復原的備份檔含有仍有效的永久授權,系統會在復原期間自動安裝臨時授權金鑰。您最多可使用自動安裝的臨時授權 90 天。在此期間,您需要向 SAP 申請將來源資料庫的授權轉移至新的授權金鑰。接著,您需要在復原的 SAP HANA 資料庫中安裝新的授權金鑰。
  • 如果用於復原的備份只有臨時授權,資料庫會在復原後立即進入鎖定模式。

具備臨時授權的來源資料庫 這些是使用臨時授權建立的備份。

  • 還原至來源。:資料庫建立時間已超過 90 天,且資料庫處於鎖定模式。
  • 還原至新目標。由於 SAP 臨時授權不允許還原至新目標,因此會失敗。

具備永久授權的來源資料庫 這些是使用永久授權建立的備份。

  • 還原至來源。沒有任何問題。
  • 還原至新目標:這項操作會使用 90 天的試用授權。備份作業成功,但無法使用備份還原資料。

SAP 參考資料

預檢

在還原程序期間,預檢會驗證復原作業。系統會檢查下列必要條件,確保資料庫還原作業順利完成:

  • HANA SID:HANA 會在目標節點上設定,並使用相同的 HANA SID 名稱。
  • 設定檔:已正確設定 global.ini 設定檔
  • 記錄檔備份路徑:記錄檔備份路徑是在 global.ini 中設定
  • BACKINT CONFIG
    • 從磁碟區層級映像檔:這個資料庫未設定 Backint。
    • 從完整 + 增量映像檔:如果目標伺服器尚未設定 backint,系統會在還原期間設定 backint。
  • HANA 版本:目標 HANA 版本與來源 HANA 版本相同。
  • USERSTOREKEY:提供目標上現有的使用者儲存金鑰,或指定備份時現有的有效特權使用者名稱和密碼。
  • 邏輯磁碟區
    • 來源和目標節點的邏輯磁碟區名稱和磁碟區群組名稱應相同。
    • 目標上的邏輯磁區大小應等於或大於來源邏輯磁區。
  • 節點狀態
    • 擴充和獨立設定:目標節點已啟動並可供使用
    • HANA HA (1+n) 設定:必須先停用複製功能,才能啟動還原程序。還原後,必須重新設定複製功能。 還原至 HANA HA (1+n) 叢集的任何節點,都會在所選目標主機上建立獨立應用程式。使用者必須視需要明確設定叢集,並適當探索應用程式

自動復原 SAP HANA 資料庫

事前準備

從磁碟區層級備份映像檔還原到新磁碟區

從磁碟區層級備份映像檔,將 HANA 資料庫自動還原至新目標

  1. 在「App Manager Applications」清單中,以滑鼠右鍵按一下資料庫,然後選取「Access」
  2. 選取要復原的最新快照,然後選擇「還原」
  3. 在「還原」頁面中,選擇「還原至新目標」

    • 目標。在所有設定中,符合資格的 HANA 節點都會顯示在下拉式選單中,從下拉式選單中選取要還原的節點。
    • 取代原始應用程式 ID。只有在與備份檔原始產生位置相同的設備上,將備份檔還原至新主機時,才能使用這個選項。

      • 是。這會取代原始應用程式,並沿用原始應用程式的應用程式 ID、工作記錄、備份映像檔和備份方案。
      • 不會。這不會取代原始應用程式。還原作業會將其視為新應用程式。
    • 前滾時間。選擇要還原的資料庫日期和時間 (受記錄保護)。
    • 目標資料庫 SID。系統會預先填入受保護的資料庫 SID 名稱,且無法變更。
    • SAP DB USER STORE-KEY。備份期間,系統會預先填入使用者存放區金鑰。您可以使用備份期間可用的具備權限使用者名稱和密碼,指定新的使用者儲存區金鑰。系統會建立這個新的使用者商店金鑰,並用於復原。

    • 如果現有使用者儲存區金鑰提供使用者名稱和密碼,系統會使用這些資訊重新建立使用者儲存區金鑰。系統資料庫復原後,才會進行驗證。 如果使用者名稱或密碼無效、不含適當權限,或備份映像檔中沒有使用者名稱或密碼,租戶復原作業可能會失敗。

    • 如果指定了含有使用者名稱和密碼的新使用者儲存區金鑰,系統就會使用指定的使用者儲存區金鑰名稱、使用者名稱和密碼建立使用者儲存區金鑰。系統只會在系統資料庫復原後進行驗證。如果使用者名稱或密碼無效、不含適當的權限,或是備份映像檔中沒有使用者名稱或密碼,租戶復原作業可能會失敗。

    • 如果未傳遞 userstorekey、使用者名稱和密碼,系統會在預先檢查期間進行驗證,確認備份期間使用的 userstorekey 是否存在於目標伺服器。如果找不到備份時使用的 userstorekey,前置檢查就會失敗。如果使用者名稱或密碼無效、不含適當權限,或備份映像檔中沒有使用者名稱或密碼,租戶復原作業可能會失敗。

    • 如果未傳遞 userstorekey,但提供使用者名稱和密碼,系統會使用傳遞至目標伺服器的憑證,重新建立備份期間使用的 userstorekey。如果使用者名稱或密碼無效,或不含正確的權限,或備份映像檔中沒有使用者名稱或密碼,租戶復原作業可能會失敗。

  4. 按一下預檢。

  • 如果飛行前檢查失敗,請修正問題,然後重新提交飛行前檢查
  • 如果預檢成功,請按一下「提交」,提交還原作業。

如要從磁碟區層級備份映像檔建立來源

從磁碟區層級備份映像檔自動將 HANA 資料庫復原至來源

  1. 在「應用程式管理工具」的「應用程式」清單中,以滑鼠右鍵按一下資料庫,然後選取「存取」。從要復原的最新快照中,選擇「還原」
  2. 在「還原」頁面中,選擇「還原回來源」

    • 目標。完成下列步驟:
      • 如果是獨立式 SAP HANA 設定,系統會預先填入「目標」
      • 如要進行 HANA HA (1+n) 設定,請從下拉式清單中選取要還原的 HANA HA 節點。
    • 前滾時間。選擇要還原的資料庫日期和時間 (受記錄保護)。
    • 目標資料庫 SID。系統會預先填入受保護的資料庫 SID 名稱,且無法變更。
    • SAP DB USER STORE-KEY。備份期間,系統會預先填入使用者存放區金鑰。您可以使用備份期間可用的具備權限使用者名稱和密碼,指定新的使用者儲存區金鑰。系統會建立這個新的使用者商店金鑰,並用於復原。
      • 如果現有使用者儲存區金鑰提供使用者名稱和密碼,系統會使用這些資訊重新建立使用者儲存區金鑰。系統資料庫復原後,才會進行驗證。 如果使用者名稱或密碼無效、不含適當權限,或備份映像檔中沒有使用者名稱或密碼,租戶復原作業可能會失敗。
      • 如果指定了含有使用者名稱和密碼的新使用者儲存區金鑰,系統會使用指定的使用者儲存區金鑰名稱、使用者名稱和密碼建立使用者儲存區金鑰。系統只會在 systemdb 復原後進行驗證。如果使用者名稱或密碼無效、不含適當的權限,或備份映像檔中沒有使用者名稱或密碼,租戶復原作業可能會失敗。
      • 如果未傳遞 userstorekey、使用者名稱和密碼,系統會在預先檢查期間進行驗證,確認備份期間使用的 userstorekey 是否存在於目標伺服器。如果找不到備份時使用的使用者存放區金鑰,預先檢查就會失敗。如果憑證無效、不含適當的權限,或未納入備份映像檔,租戶復原作業可能會失敗。
      • 如果未傳遞任何 userstorekey,但提供了使用者名稱和密碼,系統會使用傳遞至目標伺服器的憑證,重新建立備份期間使用的 userstorekey。如果使用者名稱或密碼無效,或不含正確的權限,或備份映像檔中沒有使用者名稱或密碼,租戶復原作業可能會失敗。
    1. 按一下「飛行前檢查」
    • 如果飛行前檢查失敗,請修正問題並重新提交飛行前檢查
    • 如果飛行前檢查成功,請按一下「提交」,提交還原作業。

從完整與增量備份映像檔還原至新裝置

從完整 + 增量備份映像檔,將 HANA 資料庫自動復原至新目標

  1. 在管理控制台的「應用程式管理員」「應用程式」清單中, 按一下滑鼠右鍵選取資料庫,然後選取「存取權」
  2. 選取要復原的最新快照,然後選擇「還原」
  3. 在「還原」頁面中,選擇「還原至新目標」

    • 目標。如果是獨立的 HANA 設定,系統會預先填入這項資訊。 下拉式選單會顯示可供選擇的 HANA HA 節點; 從下拉式選單中選取要還原的節點。
    • 取代原始身分。只有在備份/復原設備上,將備份資料還原至新主機時,才能使用這個選項。

      • 是。這會取代原始應用程式,並沿用原始應用程式的應用程式 ID、工作記錄、備份映像檔和備份方案。
      • 不會。這不會取代原始應用程式。還原作業會將其視為新應用程式。HANA HA 還原後,節點會變成獨立節點,並保留叢集的相同 appid。如果啟用複製功能,下次探索時會找到叢集,並繼續使用與叢集主機相同的 appid。
    • 包括清單。如要從 n 個租戶資料庫中復原 SYSTEMDB (含或不含一或多個租戶資料庫),請在 INCLUDE 下方提供以半形逗號分隔的資料庫清單。

    • 如要使用「EXCLUDE LIST」(排除清單),在從 n 個租戶資料庫還原時排除 SYSTEMDB 或一或多個租戶資料庫,請在「EXCLUDE」(排除) 下方提供以半形逗號分隔的資料庫清單。舉例來說,將 SYSTEMDB 放入排除清單,可排除 SYSTEMDB 的復原作業,並復原所有已備份的租戶資料庫。

      • 如果「納入清單」和「排除清單」皆為空白,則系統會復原 SYSTEMDB 和所有租戶 (tn1、tn2、tn3)。
      • 如要復原單一租戶 tn1,請使用包含 tn1 的納入清單。
      • 如要復原 tn2 和 tn3,並排除 SYSTEMDB 和 tn1,請使用只包含 tn2 和 tn3 的納入清單。
      • 如果您只想復原所有租戶 (tn1、tn2、tn3),並排除 SYSTEMDB,請排除 SYSTEMDB 或納入 tn1、tn2、tn3。
    • 前滾時間。選擇要還原的資料庫日期和時間 (受記錄保護)。

    • 目標資料庫 SID。系統會預先填入受保護的資料庫 SID 名稱,且無法變更。

    • SAP DB USERSTORE KEY。備份期間,系統會預先填入使用者商店金鑰。您可以使用備份期間可用的具備權限使用者名稱和密碼,指定新的使用者儲存區金鑰。系統會建立這個新的使用者商店金鑰,並用於復原。

      • 如果現有使用者儲存區金鑰提供使用者名稱和密碼,系統會使用這些資訊重新建立使用者儲存區金鑰。系統只會在 SYSTEMDB 復原後進行驗證。如果使用者名稱或密碼無效、不含適當權限,或備份映像檔中沒有使用者名稱或密碼,租戶復原作業可能會失敗。
      • 如果指定了含有使用者名稱和密碼的新使用者儲存區金鑰,系統會使用指定的使用者儲存區金鑰名稱、使用者名稱和密碼建立使用者儲存區金鑰。系統只會在 SYSTEMDB 復原後進行驗證。如果使用者名稱或密碼無效,或不含適當的權限,或不屬於備份映像檔,租戶復原作業可能會失敗。
      • 如果未指定 userstorekey,系統會傳遞使用者名稱和密碼,然後在預先檢查期間進行驗證,確認備份期間使用的 userstorekey 是否存在於目標伺服器。如果找不到備份期間使用的 userstorekey,前置檢查就會失敗。如果使用者名稱或密碼無效,或不含正確的權限,或無法做為備份映像檔的一部分,租戶復原作業可能會失敗。
      • 如果沒有傳遞 userstorekey,但提供了使用者名稱和密碼,系統就會使用傳遞至目標伺服器的憑證,重新建立備份期間使用的 userstorekey。如果使用者名稱或密碼無效、不含適當的權限,或是備份映像檔中沒有使用者名稱或密碼,租戶復原作業可能會失敗。
  4. 按一下「Pre-Flight Check」

    • 如果飛行前檢查失敗,請修正問題,然後重新提交飛行前檢查
    • 如果飛行前檢查成功,請按一下「提交」,提交還原作業。

從完整與增量備份映像檔取得來源

從完整與增量備份映像檔自動將 HANA 資料庫還原至來源

  1. 在管理控制台的「應用程式管理員」「應用程式」清單中,按一下滑鼠右鍵選取資料庫,然後選取「存取」
  2. 選取要復原的最新快照,然後選擇「還原」
  3. 在「還原」頁面中,選擇「還原回來源」

    • 針對「目標」,完成下列步驟:

      • 如果是獨立的 HANA 設定,系統會預先填入這項資訊。
      • 如果是 HANA HA (1+n) 設定,HANA HA 節點會顯示在下拉式選單中,供您選擇。從下拉式選單中選取要還原的節點。
    • 如要從 n 個租戶資料庫中復原 SYSTEMDB 或一或多個租戶資料庫,請在「INCLUDE LIST」(包含清單) 的「INCLUDE」(包含) 下方,提供以半形逗號分隔的資料庫清單。

    • 如要使用「EXCLUDE LIST」(排除清單),在從 n 個租戶資料庫還原時排除 SYSTEMDB 或一或多個租戶資料庫,請在「EXCLUDE」(排除) 下方提供以半形逗號分隔的資料庫清單。舉例來說,將 SYSTEMDB 放入排除清單,可排除 SYSTEMDB 的復原作業,並復原所有已備份的租戶資料庫。

      • 如果「納入清單」和「排除清單」皆為空白,則系統會復原 SYSTEMDB 和所有租戶 (tn1、tn2、tn3)。
      • 如要復原單一租戶 tn1,請使用包含 tn1 的納入清單。
      • 如要復原 tn2 和 tn3,並排除 SYSTEMDB 和 tn1,請使用只包含 tn2 和 tn3 的納入清單。
      • 如果您只想復原所有租戶 (tn1、tn2、tn3),並排除 SYSTEMDB,請排除 SYSTEMDB 或納入 tn1、tn2、tn3。
    • 在「Rollforward」(前滾) 時間部分,選擇要還原的資料庫日期和時間 (受記錄保護)。

    • 「TARGET DATABASE SID」(目標資料庫 SID) 會預先填入受保護的資料庫 SID 名稱,且無法變更。

    • 如果是 SAP DB USER STORE-KEY,系統會在備份期間預先填入 userstore 金鑰。您可以使用備份期間可用的具備權限使用者名稱和密碼,指定新的使用者儲存區金鑰。系統會建立這個新的使用者商店金鑰,並用於復原。

      • 如果現有使用者儲存區金鑰提供使用者名稱和密碼,系統會使用這些資訊重新建立使用者儲存區金鑰。系統資料庫復原後,才會進行驗證。如果使用者名稱或密碼無效、不含適當權限,或備份映像檔中沒有使用者名稱或密碼,租戶復原作業可能會失敗。
      • 如果指定了含有使用者名稱和密碼的新使用者儲存區金鑰,系統會使用指定的使用者儲存區金鑰名稱、使用者名稱和密碼建立使用者儲存區金鑰。系統只會在 systemdb 復原後進行驗證。如果使用者名稱或密碼無效,或不含正確的權限,或無法做為備份映像檔的一部分,租戶復原作業可能會失敗。
      • 如果未傳遞任何使用者儲存空間金鑰、使用者名稱和密碼,系統會在預先檢查期間進行驗證,確認備份期間使用的使用者儲存空間金鑰是否存在於目標伺服器。如果找不到備份期間使用的 userstorekey,前置檢查就會失敗。如果使用者名稱或密碼無效,或不含正確的權限,或無法做為備份映像檔的一部分,租戶復原作業可能會失敗。
      • 如果未傳遞 userstorekey,但提供使用者名稱和密碼,系統會使用傳遞至目標伺服器的憑證,重新建立備份期間使用的 userstorekey。如果使用者名稱或密碼無效、不含適當的權限,或備份映像檔中沒有使用者名稱或密碼,租戶復原作業可能會失敗。
      • 透過 SYSTEMDB 復原程序,系統會在 SYSTEMDB 復原程序結束時,以及開始租戶復原程序前,驗證 hdbuserstore 金鑰。如果使用者名稱或密碼無效,或不含正確的權限,或無法做為備份映像檔的一部分,租戶復原作業可能會失敗。
  4. 按一下「飛行前檢查」

    • 如果飛行前檢查失敗,請修正問題,然後重新提交飛行前檢查
    • 如果飛行前檢查成功,請按一下「提交」,提交還原作業。

手動復原 SAP HANA 租戶資料庫

您可以從磁碟區層級的備份映像檔,手動將單一房客資料庫還原至來源。

如要復原單一租戶資料庫,請完成下列步驟:

  1. 在「應用程式管理工具」的「應用程式」清單中,以滑鼠右鍵按一下資料庫,然後選取「存取」
  2. 在跑道中選取要復原的最新快照,然後選取右側的「掛接」
  3. 在「Mount」(掛接) 頁面中停用「Application Options」(應用程式選項),並在「Mount Options」(掛接選項) 下設定掛接位置,例如 /testmnt
  4. 以根身分登入伺服器,然後將目錄變更為 /act/custom_apps/saphana/restore:cd /act/custom_apps/saphana/restore
  5. 執行復原指令碼:
      ./CALL_LVM_single_tenant_recover.sh DBSID TENANT SID SYSTEMDB USERSTORE KEY RECOVERY TIME

傳遞給指令碼的引數說明:

    DBSID = The database SID
    TENANT SID = The name of the tenant database to be restored
    SYSTEM DB USERSTORE KEY = The System DB userstore key
    RECOVERY TIME = The required recovery time in the format YYYY-MM-DD HH24:MI:SS in UTC

例如:./CALL_LVM_single_tenant_recover.sh lv1 lv1 ACTBACKUP '2019-09-24 20:00:00'

  1. 指令碼完成後,租戶資料庫就會還原至該時間點,並可供存取。
  2. 前往管理控制台,然後卸載並刪除備份映像檔

從 Full+Incremental backint 傾印備份手動復原 SAP HANA 資料庫

您可以從完整 + 增量傾印備份,手動將資料庫還原至來源。

如要從完整與增量傾印備份還原 HANA 資料庫,請使用下列指令碼:

      /act/custom_apps/saphana/dumpbackint/ACT_HANADB_dumprestorebrint.sh HANA SID Port number HANA UserStore Key  Exclude DB list Include DB list HANA version HANA DB backup mount point
      Recovery time in 'yyyy-mm-dd HH:MI:SS' HANA Log backup mount point

範例:

/act/custom_apps/saphana/dumpbackint/ACT_HANADB_dumprestorebrint.sh GP1 HDB00 ACTBACKUP "null" "null" 2.0 /act/mnt/Job_23867989_mountpoint_1739957140744 '2025-02-12 09:30:00' /act/mnt/Job_23867989_mountpoint_1739957130467

在 SAP HANA Studio 中查看備份狀態

您可以在 HANA Studio 中查看備份狀態、中繼資料和備份映像檔,但無法從 HANA Studio 存取備份和災難復原服務備份映像檔。如要復原或使用備份圖片,必須透過管理控制台存取。

  1. 在 HANA Studio 中,前往「Backup」資料夾。

  2. 前往「備份目錄」分頁。

    「備份目錄」分頁會顯示備份狀態和詳細資料,例如開始時間、備份時間長度、大小、備份類型和目的地。

HANA 和 HANA HA 1+n 還原行為

本節包含 HANA 和 HANA HA 1+n 還原行為的相關資訊。

所有 HANA 設定

啟用「管理新應用程式」選項後,還原至新目標:

  • 還原的應用程式會受到保護,但「應用程式詳細資料和設定」部分只有預設值。還原後,您必須在「應用程式詳細資料和設定」下方手動設定必要值,備份作業才能順利完成。
  • 還原的應用程式保護功能會處於停用狀態。您必須從「應用程式管理員」>「應用程式」>「管理備份」啟用保護功能,備份作業才會開始執行。

HANA HA (1+n) 設定

如果是 HANA 1+1 叢集,其中節點 A是主要節點,節點 B 是次要節點,則叢集會以應用程式的形式在備份和災難復原服務中探索到,備份作業會從主要節點 (節點 A) 執行。

還原至新的目標 HANA 資料庫:單機或叢集

如果發現新的目標是應用程式或受保護的項目,則必須先取消保護該應用程式,並從備份和災難復原服務中刪除,才能還原。如果新的目標應用程式存在,工作就會失敗。

還原至節點 A 主要

  • 執行還原至節點 A 的作業前,必須先從叢集取消註冊節點 B
  • 節點 A 還原後,會成為獨立應用程式。
  • 節點 B 必須註冊至節點 A,並以節點 B 做為次要節點,且必須在節點 A 上執行強制探索,才能繼續做為叢集備份。

還原至節點 B 次要節點

  • 節點 B 必須取消註冊,否則必須先在節點 B 上執行接管作業,才能還原至節點 B
  • 還原至「節點 B」前,請先關閉「節點 A」,並在還原後將「節點 A」新增為「節點 B」的次要節點。
  • 節點 B 是還原作業後的獨立應用程式。 節點 A 必須向節點 B 註冊,且節點 A 為次要節點。
  • 從「節點 B」執行探索作業,重新探索該節點為叢集應用程式。

  • 如要將「節點 A」和「節點 B」保留為獨立應用程式並加以保護,請在還原後對「節點 A」和「節點 B」執行探索,但不要啟用複製功能。

如何停用 SAP HANA 系統複製以進行還原

  1. 以作業系統使用者 (使用者管理員) 的身分登入兩個系統。
  2. 停止次要系統:sapcontrol –nr -function StopSystem HDB
  3. 在次要系統上取消註冊次要系統: hdbnsutil -sr_unregister --id=(secondarySiteID)
  4. 在主要系統上停用系統複製功能:hdbnsutil –sr_disable
  5. 使用下列其中一個指令碼檢查系統複製作業:

    • systemReplicationStatus.py 指令碼。這個指令碼會顯示複製狀態和資料庫資訊
    • hdbnsutil -sr_state 指令碼。這個指令碼會顯示複寫節點角色和主機對應詳細資料。

適用於 SAP HANA 向外擴充的備份和災難復原服務說明文件

本頁面是系列文章之一,專門介紹如何使用備份和災難復原服務,保護及復原 SAP HANA 向外擴充執行個體。如要進一步瞭解 SAR,請見下列網頁: