如要從以永久磁碟為基礎的 SAP HANA 資料庫備份中還原及復原單一租戶,請按照下列步驟操作。
掛載備份
使用管理控制台將備份掛載至目標伺服器:
- 停止執行中的 HANA 例項 (僅適用於復原至來源)。
- 登入管理控制台,前往「應用程式」頁面。
- 選取資料庫,然後選取「存取」。
- 選取要復原的備份,然後按一下「掛載」。
- 在「Mount」(掛載) 頁面上,選取目標「Project name」(專案名稱)、「Region」(地區)、「Zone」(區域) 和目標「GCE instance name」(GCE 執行個體名稱)。
- 更新資料磁碟區、記錄磁碟區和記錄備份磁碟區的掛載位置。(為確保預先檢查作業成功,請指定所有未使用的掛載位置)。
- 停用「Snapshot integrity check」選項。
- 執行預檢。如果失敗,請修正錯誤並再次執行,然後提交工作。
- 掛載工作完成後,您可以在目標主機上看到掛載點。
- 如果您已還原至來源,請重新啟動執行個體。
復原已掛載的單一租戶資料庫
使用到的變數範例:
- 來源 DBSID:DM2
- 目標 DBSID:NVM (必須在目標主機上預先設定)。
- 資料磁碟區:/hana/data_2
- 記錄資料量:/hana/log_2
- 記錄備份磁碟區:/hanabackup_2、/hana/backup_2_533788010
- 來源租用戶:DM2 (資料檔案位置:mnt00001/hdb00002.00003、mnt00001/hdb00003.00003)
- 目標租戶:NVM
程序
以超級使用者身分登入目標主機,然後變更檔案的擁有權:
chown -R nvmadm:sapsys /hanabackup_2 /hana/backup_2_533788010
確認資訊清單檔案是在掛載作業的一部分中建立:
cd /act/touch cat dm2_HANA.manifest
輸出內容範例如下:
SYSTEMDB=mnt00001/hdb00001
DM2=mnt00001/hdb00002.00003:mnt00001/hdb00003.00003
確認目標伺服器上是否有與資訊清單檔案中顯示的租用戶資料庫相關的必要目錄:
ls -ltr /hana/data/NVM/mnt00001/hdb00002.00003/ total 103252 -rw-r--r-- 1 nvmadm sapsys 0 Jun 13 20:11 __DO_NOT_TOUCH_FILES_IN_THIS_DIRECTORY__ -rw-r--r-- 1 nvmadm sapsys 269811712 Jun 14 19:26 datavolume_0000.dat ls -ltr /hana/data/NVM/mnt00001/hdb00003.00003/ total 3801248 -rw-r--r-- 1 nvmadm sapsys 0 Jun 13 20:11 __DO_NOT_TOUCH_FILES_IN_THIS_DIRECTORY__ -rw-r--r-- 1 nvmadm sapsys 3892314112 Jun 14 19:29 datavolume_0000.dat
在目標伺服器上停止租用戶資料庫:
hdbsql -U ACTBACKUP hdbsql SYSTEMDB=> alter system stop database NVM;
將檔案從已掛接的掛接點複製到目標伺服器掛接點:
cp /hana/data_2/DM2/mnt00001/hdb00002.00003/* /hana/data/NVM/mnt00001/hdb00002.00003/ cp /hana/data_2/DM2/mnt00001/hdb00003.00003/* /hana/data/NVM/mnt00001/hdb00003.00003/
請確認已變更複製檔案的權限:
chown -R nvmadm:sapsys /hana/data/NVM/mnt00001/hdb00002.00003 chown -R nvmadm:sapsys /hana/data/NVM/mnt00001/hdb00003.00003
確認是否已啟動 SYSTEMDB。
使用時間點復原功能還原租用戶資料庫。
- 如果已掛載的資料庫含有多個記錄掛載點,請傳遞以半形逗號分隔的掛載點記錄路徑:
hdbsql -jAU ACTBACKUP RECOVER DATABASE FOR NVM UNTIL TIMESTAMP '2024-06-14 17:16:00' CLEAR LOG USING CATALOG PATH ('/hana/backup_2_533788010/log/DB_DM2') USING DATA PATH ('/hana/data/NVM') USING LOG PATH ('/hanabackup_2/log/DB_DM2','/hana/backup_2_533788010/log/DB_DM2') USING SNAPSHOT CHECK ACCESS USING FILE;
- 如果您只想從資料庫映像檔復原,請使用下列指令:
hdbsql -jAU ACTBACKUP RECOVER DATA FOR $TSID USING SNAPSHOT CLEAR LOG
租用戶資料庫復原後,請檢查資料庫狀態:
hdbsql -jAU ACTBACKUP hdbsql SYSTEMDB=> select * from m_databases; | DATABASE | DESCRIPTION | ACT | ACTIVE | OS_USER | OS_GROUP | RESTART | F | | -------- | --------------- | --- | ------ | -------- | -------- | ------- | - | | SYSTEMDB | SystemDB-NVM-00 | YES | ACTIVE | | | DEFAULT | ? | | NVM | NVM-00 | YES | ACTIVE | | | DEFAULT | ? |
執行卸載並刪除 (移除備份磁碟 /hana/data_2 等)。