從以磁碟區為基礎的備份映像檔,將 SAP IQ 和 SAP MaxDB 資料庫復原至新位置

這兩種程序都需要您自訂及執行設定檔。

以下各節將詳細說明如何將 SAP IQ 或 SAP MaxDB 資料庫的磁碟區備份映像檔復原到新位置。

  • 如要將 IBM Db2、MariaDB、MySQL、PostgreSQL、SAP ASE、SAP IQ 或 SAP MaxDB 資料庫的磁碟區層級備份映像檔復原至新目標,您也可以使用將資料庫即時掛接並遷移至新目標程序。

  • 如要將 IBM Db2、PostgreSQL、SAP ASE、SAP IQ 和 SAP MaxDB 資料庫的完整 + 增量備份映像檔還原至新目標,請參閱「將其他資料庫的完整 + 增量備份映像檔還原至新目標」。

復原程序

如要將磁碟區層級的備份映像檔還原到新目標,請按照下列步驟操作:

  1. 在備份和災難復原服務管理控制台中,開啟「應用程式管理工具」
  2. 以滑鼠右鍵按一下受保護的資料庫,然後選取「存取」。您可以使用「受管理備份方案」狀態篩選器,只顯示受保護的資料庫。

  3. 選取要復原的最新快照,然後選擇「掛接」

  4. 在掛接位置下方提供目標掛接點,例如 /dmpRstNew。這會做為 TARGET_MNT_PNT 變數使用。

    資料庫備份會掛接在 /dmpRstNew (TARGET_MNT_PNT) 下,記錄備份則會掛接在 /dmpRstNew_archivelog (LOG_BKP_MNTPT) 下。

  5. 以根使用者身分登入資料庫伺服器。將目錄變更為 /act/custom_apps/<database type>/restore

  6. 執行指令碼。

    SAP IQ

    /act/custom_apps/sybaseiq/restore/act_sybaseiq_lvm_customdb_recovery.sh TARGET_MNT OSUSER CATALOG_DB_FILE SRC_DB_DBA_USER SRC_DB_DBA_PWD LOG_BKP_MNTPT RECOVERY_TIME JOBID INCR_BKP_LOC
    

    指令碼執行完畢後,請連線至 IQ 資料庫,並確認資料庫已復原且處於連線狀態。

    dbisql -c "uid=username;pwd=password;eng=engine name;dbn=database name;" -nogui
    

    SAP MaxDB

      /act/custom_apps/maxdb/restore/ACT_MAXDB_lvmRestore_newTarget.sh \
      OSUSER \
      TARGET_SERVER_NAME \
      TARGET_DB_USER \
      TARGET_DBUSER_PASSWD \
      SOURCE_DBSID \
      MANIFEST_FILE_LOC \
      SRC_DB_VERSION \
      ACT_JOBNAME \
      TARGET_MNT_PNT \
      LOG_BKP_MNTPT \
      UNTIL_TIME \
      BEGIN_TIME
    

    連線至 MaxDB 資料庫,並確認資料庫已復原且處於上線狀態:

      dbmcli -d TARGET_SERVER_NAME -u TARGET_DB_USER,TARGET_DBUSER_PASSWD db_state
    

    資料庫還原後,請執行資料庫傾印備份,在 backup_history_list 中產生備份記錄點,這是執行記錄備份的必要條件。例如:

       dbmcli -d DB -u DBM_USER,DBM_PASSWORD -c backup_start TEMPLATE_NAME DATA AUTOIGNORE
    

    否則,日後磁碟區層級備份作業會失敗,並顯示「fail to trigger autolog backup template」(無法觸發自動記錄備份範本) 錯誤訊息。

  7. 卸載已掛接的快照映像檔。

變更密碼

在某些情況下,您可能需要變更資料庫密碼。

SAP IQ

  1. 登入目標資料庫。如果資料庫名稱為 TARGET_SERVER_NAME,資料庫使用者為 SRC_DB_DBA_USER,密碼為 SRC_DB_DBA_PWD,登入指令如下。

    dbisql -nogui -onerror exit -c 'uid=SRC_DB_DBA_USER;pwd=SRC_DB_DBA_PWD;dbn=TARGET_DB_NAME;eng=TARGET_SERVER_NAME;
    
  2. 執行下列指令來變更密碼。

    ALTER USER SRC_DB_DBA_USER IDENTIFIED BY NEW_PASSWORD
    
  3. 使用新密碼再次登入,以驗證身分:

    dbisql -nogui -onerror exit -c 'uid=SRC_DB_DBA_USER;pwd=NEW_PASSWORD;dbn=TARGET_DB_NAME;eng=TARGET_SERVER_NAME;
    

SAP MaxDB

  1. 如要變更密碼,請以 DBM 使用者身分登入目標資料庫:

    dbmcli -d TARGET_SERVER_NAME -u TARGET_DB_USER,TARGET_DBUSER_PASSWD
    user_changepwd dbm new_password
    

    舉例來說,如果 DBM 使用者將密碼從 abcdef 變更為 fedcba,請登入:

    dbmcli -d glxn -u dbm,abcdef

  2. 執行下列指令:

    user_changepwd dbm abcdef

  3. 使用新密碼重新登入:

    dbmcli -d glxn -u dbm,fedcba