備份和災難復原服務的「還原」作業會將備份映像檔還原至來源,並覆寫來源中的所有資料。
系統限制和解決方法
以邏輯磁碟區管理員 (LVM) 快照備份的根磁碟分割區系統資料庫無法用於還原作業,因為根磁碟分割區無法卸載。這些項目需要手動還原,並從標準掛接點復原到相同主機。
如要以磁碟區層級的資料庫映像檔還原資料,並盡量縮短使用者停機時間,請參閱「掛接及遷移其他類型的資料庫,以立即還原」一文。如果多個執行個體共用相同的磁碟區或檔案系統,系統就不支援還原至來源。如要還原這類應用程式,請將映像檔掛接到主機,然後按照「從磁碟區備份映像檔將單一資料庫還原至來源」一文中的程序,執行單一資料庫復原作業。
如果備份的實際工作磁碟區底下有巢狀掛接點,還原和遷移作業就會失敗,因為實際工作磁碟區正忙碌中,無法解除掛接。
如要還原 /backup-disaster-recovery/docs/restore-data/otherdb-restore
從磁碟區層級備份映像檔將資料庫還原至來源
這個程序會使用來源資料區域的實體復原功能。如要還原至來源,請按照下列操作說明進行:
在「App Manager Applications」(應用程式管理工具應用程式) 清單中,以滑鼠右鍵按一下受保護的資料庫,然後選取「Access」(存取)。使用「受管理備份方案」狀態篩選器,只顯示受保護的資料庫。
選取快照圖片,然後按一下「還原」。
選取「傳統」,而非掛接及遷移。
如果來源應用程式受到已啟用資料庫記錄備份的快照政策保護,且映像檔提供記錄,您可以變更「Roll Forward Time」(向前復原時間) 區段中的下列選項,將應用程式向前復原至特定時間點:
- 日期欄位包含資料庫可透過套用資料庫交易記錄,向前回溯的所有可能日期。選取資料庫要前滾的日期。
- 時間欄位包含滑桿,顯示所選日期所有可能的時間,資料庫可回溯至這些時間。如果您選取最晚的日期,然後將滑桿移至最右側,還原作業就會套用至所有可用的記錄。如果選取最早的可能日期,並將滑桿移至最左側位置,還原作業就不會套用任何記錄。
- 您可以指定使用「使用者時間」或「主辦人時間」向前延展。 「使用者時間」是相對於目前使用者當地時間的時間。主機時間是相對於要還原資料的主機系統。
啟用「使用復原功能還原」,套用復原的記錄。
按一下「提交」。
```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」。
選取要復原的最新快照,然後按一下「掛接」。
在「應用程式選項」中,停用「建立新的虛擬應用程式」。
在「對應選項」中,提供掛接點位置。
舉例來說,使用
/mymount會將資料庫備份掛接在這個位置下。 記錄檔備份會掛接在/mymount_archivelog底下。按一下「提交」。
查看「Monitor」>「Jobs」頁面,瞭解掛接作業何時完成。
工作完成後,請以根使用者身分登入資料庫伺服器。在伺服器上,將目錄變更為
/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>&1ARCHIVELOG_MNT為<var>mountpoint provided in step 4</var>_archivelog。以根使用者身分,在目標主機的指令列執行指令碼:
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」。
選取快照圖片,然後按一下「還原」。
選取「傳統」,而非掛接及遷移。
使用「選取項目」選擇要還原的一或多個資料庫。
啟用「使用復原功能還原」,即可套用所有復原的記錄。
按一下「提交」。這會使用資料庫的復原 API,啟動來源資料庫的實體復原程序。
ALTER DBSPACE IQ_SYSTEM_LOG RENAME '/<var>pitr_log_location</var>'
SET OPTION PUBLIC.IQ_POINT_IN_TIME_RECOVERY_LOGGING = 'ON'