將其他資料庫類型還原至來源

備份和 DR 服務的「Restore」作業會將備份映像檔還原至來源,並覆寫來源中的所有資料。

系統限制和解決方法

  • 根磁碟分區上的系統資料庫已備份為邏輯磁碟區管理員 (LVM) 快照,因此無法在還原作業中使用,因為根磁碟分區無法解除掛接。這些資料必須從標準掛載點手動還原及復原至相同主機。
    如要復原卷層級資料庫映像檔,並縮短使用者的停機時間,請參閱「掛載及遷移其他類型的資料庫,以便立即復原」。

  • 如果多個執行個體共用相同的磁碟區或檔案系統,則不支援還原至來源。如要還原這類應用程式,請將映像檔掛載至主機,然後按照「從以磁區為基礎的備份映像檔還原單一資料庫至來源」一節所述的程序,執行單一資料庫復原作業。

  • 如果在要備份的實際工作量中,有巢狀掛載點,則還原及遷移作業會失敗,因為實際工作量處於忙碌狀態,無法解除掛載。

  • 如要還原資料,請參閱 /backup-disaster-recovery/docs/restore-data/otherdb-restore

從磁碟區層級備份映像檔還原資料庫至來源

這個程序會使用來源資料區域的實體復原程序。如要恢復原始內容,請按照下列操作說明進行:

  1. 在「App Manager Applications」清單中,按一下受保護資料庫的滑鼠右鍵,然後選取「Access」。使用「Managed Backup Plan」狀態篩選器,只顯示受保護的資料庫。

  2. 選取快照圖片,然後按一下「還原」

  3. 選取「傳統」,而不是掛載和遷移。

  4. 如果來源應用程式受到快照政策保護,且已啟用資料庫記錄備份,且可透過映像檔取得記錄,您可以變更「Roll Forward Time」部分的這些選項,藉此將資料回溯到特定時間點:

    • 日期欄位包含資料庫可回溯至的所有日期,這些日期是透過應用資料庫交易記錄而得。選取資料庫需要回溯至的日期。
    • 時間欄位包含滑桿,顯示所選日期的所有可能時間,也就是資料庫可回溯至的時間。如果您選取最晚的日期,然後將滑桿移至最右邊的位置,還原工作就會套用至所有可用的記錄。如果選取最早的日期,並將滑桿移至最左邊的位置,還原工作就不會套用任何記錄。
    • 您可以指定使用 使用者時間主機時間來回溯。使用者時間是指目前使用者的當地時間。主機時間是指主機上要還原資料的系統時間。
  5. 啟用「Restore With Recovery」,套用已復原的記錄。

  6. 按一下「提交」

  ```sh
    ALTER DBSPACE IQ_SYSTEM_LOG RENAME /pitr_log_location
    SET OPTION PUBLIC.IQ_POINT_IN_TIME_RECOVERY_LOGGING = 'ON'
  ```

從以磁碟區為基礎的備份映像檔還原單一資料庫至來源

如要將單一 Db2 或 SAP ASE 備份映像檔還原至來源,請按照下列步驟操作:

  1. 在「App Manager Applications」清單中,按一下受保護的資料庫,然後選取「Access」

  2. 選取要復原的最新快照,然後按一下「掛載」

  3. 在「Application Options」中,停用「Create New Virtual Application」

  4. 在「對應選項」中提供掛載點位置。

    舉例來說,使用 /mymount 會在這個位置掛載資料庫備份。記錄檔備份會掛載在 /mymount_archivelog 下。

  5. 按一下「提交」

  6. 請查看「Monitor」>「Jobs」頁面,瞭解掛載工作何時完成。

  7. 工作完成後,請以 root 身分登入資料庫伺服器。在伺服器上,將目錄變更為 /act/custom_apps/<var>database type</var>/restore

  8. /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
    
  9. ARCHIVELOG_MNT<var>mountpoint provided in step 4</var>_archivelog

  10. 在目標主機指令列中以 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 資料庫並驗證資料。

  1. 在管理控制台中再次存取映像檔,然後卸載 + 刪除資料庫掛載點。

將以檔案為基礎的完整與增量備份映像檔還原至來源

這項程序會覆寫來源資料。如要從檔案式備份映像檔還原來源資料庫,請按照下列程序操作:

  1. 在「App Manager Applications」清單中,按一下受保護的資料庫,然後選取「Access」

  2. 選取快照圖片,然後按一下「還原」

  3. 選取「傳統」,而不是掛載和遷移。

  4. 使用「選取項目」選取要還原的一或多個資料庫。

  5. 啟用「Restore With Recovery」,套用所有已復原的記錄。

  6. 按一下「提交」。這會使用資料庫的復原 API 啟動來源資料庫的物理復原作業。

  ALTER DBSPACE IQ_SYSTEM_LOG RENAME '/<var>pitr_log_location</var>'
  SET OPTION PUBLIC.IQ_POINT_IN_TIME_RECOVERY_LOGGING = 'ON'