備份和 DR 服務的「Restore」作業會將備份映像檔還原至來源,並覆寫來源中的所有資料。
系統限制和解決方法
根磁碟分區上的系統資料庫已備份為邏輯磁碟區管理員 (LVM) 快照,因此無法在還原作業中使用,因為根磁碟分區無法解除掛接。這些資料必須從標準掛載點手動還原及復原至相同主機。
如要復原卷層級資料庫映像檔,並縮短使用者的停機時間,請參閱「掛載及遷移其他類型的資料庫,以便立即復原」。如果多個執行個體共用相同的磁碟區或檔案系統,則不支援還原至來源。如要還原這類應用程式,請將映像檔掛載至主機,然後按照「從以磁區為基礎的備份映像檔還原單一資料庫至來源」一節所述的程序,執行單一資料庫復原作業。
如果在要備份的實際工作量中,有巢狀掛載點,則還原及遷移作業會失敗,因為實際工作量處於忙碌狀態,無法解除掛載。
如要還原資料,請參閱 /backup-disaster-recovery/docs/restore-data/otherdb-restore
從磁碟區層級備份映像檔還原資料庫至來源
這個程序會使用來源資料區域的實體復原程序。如要恢復原始內容,請按照下列操作說明進行:
在「App Manager Applications」清單中,按一下受保護資料庫的滑鼠右鍵,然後選取「Access」。使用「Managed Backup Plan」狀態篩選器,只顯示受保護的資料庫。
選取快照圖片,然後按一下「還原」。
選取「傳統」,而不是掛載和遷移。
如果來源應用程式受到快照政策保護,且已啟用資料庫記錄備份,且可透過映像檔取得記錄,您可以變更「Roll Forward Time」部分的這些選項,藉此將資料回溯到特定時間點:
- 日期欄位包含資料庫可回溯至的所有日期,這些日期是透過應用資料庫交易記錄而得。選取資料庫需要回溯至的日期。
- 時間欄位包含滑桿,顯示所選日期的所有可能時間,也就是資料庫可回溯至的時間。如果您選取最晚的日期,然後將滑桿移至最右邊的位置,還原工作就會套用至所有可用的記錄。如果選取最早的日期,並將滑桿移至最左邊的位置,還原工作就不會套用任何記錄。
- 您可以指定使用 使用者時間或主機時間來回溯。使用者時間是指目前使用者的當地時間。主機時間是指主機上要還原資料的系統時間。
啟用「Restore With Recovery」,套用已復原的記錄。
按一下「提交」。
```sh
ALTER DBSPACE IQ_SYSTEM_LOG RENAME /pitr_log_location
SET OPTION PUBLIC.IQ_POINT_IN_TIME_RECOVERY_LOGGING = 'ON'
```
從以磁碟區為基礎的備份映像檔還原單一資料庫至來源
如要將單一 Db2 或 SAP ASE 備份映像檔還原至來源,請按照下列步驟操作:
在「App Manager Applications」清單中,按一下受保護的資料庫,然後選取「Access」。
選取要復原的最新快照,然後按一下「掛載」。
在「Application Options」中,停用「Create New Virtual Application」。
在「對應選項」中提供掛載點位置。
舉例來說,使用
/mymount
會在這個位置掛載資料庫備份。記錄檔備份會掛載在/mymount_archivelog
下。按一下「提交」。
請查看「Monitor」>「Jobs」頁面,瞭解掛載工作何時完成。
工作完成後,請以 root 身分登入資料庫伺服器。在伺服器上,將目錄變更為
/act/custom_apps/<var>database type</var>/restore
。從
/var/act/log/UDSAgent.log
取得掛載點的JobID
。如要尋找JobID
,請執行下列指令:grep "mount -t " /var/act/log/UDSAgent.log | grep -w "<var>mountpoint from step 4</var>"|tail -1
例如:
grep "mount -t " /var/act/log/UDSAgent.log | grep -w "/db2mnt" |tail -1 2019-11-18 23:59:19.740 GEN-INFO \[22488\] **Job_0404207** Spawning cmd: mount -t ext4 /dev/act403764_DBDump_1574101677612/act_staging_vol /db2mnt 2>&1
ARCHIVELOG_MNT
為<var>mountpoint provided in step 4</var>_archivelog
。在目標主機指令列中以 root 身分執行指令碼:
IBM Db2
指令碼:act_db2_lvm_customdb_recovery.sh
指令碼的引數:
SOURCE_INSTANCE = <var>Db2 Instance name</var>
DB_NAME=<var>Db2 Database name to be recovered(Single)</var>
TARGET_MNT = <var>Db2 Database image mountpoint name</var>
ARCHIVELOG_MNT= <var>Archive Log backup mount point name</var>
UNTIL_TIME = <var>Recovery Time(Format: "YYYY-MM-DD-HH.MI.SS")</var>
JOBID = <var>Database mount Job name</var>
連線至 Db2 執行個體,並確認資料庫已復原並上線。
db2 connect to <var>dbname</var>
db2 select db_status FROM SYSIBMADM.SNAPDB
SAP ASE
使用這些引數執行 act_sybase_lvm_customdb_recovery.sh 指令碼。
./act_sybase_lvm_customdb_recovery.sh OSUSER=sybase
TARGET_SYBASE_SQLD=/home/sybase/Sybase16Home/OCS-16_0 TARGET_MNT_PNT=/sngRst
TARGET_SERVER_NAME=ASE1 TARGET_DB_USER=sa STRIPEON=4 TARGET_DBUSER_PASSWD=sybase
SRC_DBNAME=CU1 LOG_BKP_MNTPT=/sngRst_archivelog UNTIL_TIME="2019-11-07 20:31:27"
BEGIN_TIME="2019-11-07 19:31:27" JOBID="Job_2677627"
指令碼的引數
OSUSER = SAP Ase OS owner name
TARGET_SYBASE_SQLD = SAP ASE iSQL path on the target recovery host
TARGET_MNT_PNT = SAP ASE Instance image mountpoint name
TARGET_SERVER_NAME = SAP ASE data server name on the target recovery host
TARGET_DB_USER = SAP ASE Instance username on the target recovery host
TARGET_DBUSER_PASSWD = SAP ASE Instance user password on the target recovery host
SRC_DBNAME = SAP ASE Database name to be recovered (Single)
LOG_BKP_MNTPT = SAP ASE Log image mountpoint name
BEGIN_TIME= Backup begin time (Format: "YYYY-MM-DD HH24:MI:SS")
UNTIL_TIME = Point in time to recover the database (Format: "YYYY-MM-DD HH24:MI:SS")
JOBID = Database mount Job name
連線至 SAP ASE 資料庫並驗證資料。
- 在管理控制台中再次存取映像檔,然後卸載 + 刪除資料庫掛載點。
將以檔案為基礎的完整與增量備份映像檔還原至來源
這項程序會覆寫來源資料。如要從檔案式備份映像檔還原來源資料庫,請按照下列程序操作:
在「App Manager Applications」清單中,按一下受保護的資料庫,然後選取「Access」。
選取快照圖片,然後按一下「還原」。
選取「傳統」,而不是掛載和遷移。
使用「選取項目」選取要還原的一或多個資料庫。
啟用「Restore With Recovery」,套用所有已復原的記錄。
按一下「提交」。這會使用資料庫的復原 API 啟動來源資料庫的物理復原作業。
ALTER DBSPACE IQ_SYSTEM_LOG RENAME '/<var>pitr_log_location</var>'
SET OPTION PUBLIC.IQ_POINT_IN_TIME_RECOVERY_LOGGING = 'ON'