2023年11月23日 星期四

使用 Google 雲端磁碟快照進行 SAP ASE 資料庫備份和還原

轉貼自:https://www.googlecloudcommunity.com/gc/Community-Blogs/SAP-ASE-Database-Backup-and-Restore-using-Google-Cloud-Disk/ba-p/665868

在當今數據驅動的世界中,確保關鍵業務資訊的完整性和可用性至關重要。SAP ASE 資料庫是許多 SAP 系統的基石,具有巨大的價值,需要強大的備份和復原策略來防止資料遺失或系統中斷。Google Cloud 磁碟快照可用於執行無縫 SAP ASE 資料庫備份和還原。

使用 Google Cloud 磁碟快照的 SAP ASE 資料庫備份可以提供以下優勢:

  • 利用雲端原生功能磁碟快照來簡化 SAP ASE 資料庫備份
  • 加快大型 SAP 資料庫的備份操作
  • 在 HADR 環境中重新實作資料庫 

在 Google Cloud 上執行 SAP ASE 資料庫備份和復原的高階執行步驟

備份

在取得儲存快照副本之前,透過靜默使用者資料庫和主資料庫將資料庫置於一致狀態。以下步驟顯示如何使用磁碟快照執行資料庫備份。

1. 將資料庫置於靜止模式

指令 QUIESCE DATABASE 只是將資料庫置於允許資料庫設備檔案的外部備份的狀態。

QUIESCE DATABASE 命令阻止對資料庫的所有寫入訪問,並將資料快取的內容與磁碟上的資料庫裝置同步。連接到資料庫的使用者保持在線並且可以執行讀取操作。寫入操作將被阻止,直到 DBA 釋放資料庫。或者, 可以使用  PREPARE DATABASE命令來避免寫入操作的阻塞。

以使用者 sapsa 登入 SAP ASE 並靜默所有非臨時資料庫。

 

quiesce database <tag-name> hold master, model, <DBSID>, saptools, , sybsystemprocs, sybmgmtdb for external dump
go

 

將上述命令中的 <DBSID> 和 <tag-name> 分別替換為 SAP 資料庫的名稱和一些用於備份的識別碼作為標記名稱。

2. 觸發Google Cloud Storage快照  

執行持久性磁碟區的磁碟快照以在靜默模式下備份所有資料庫。對所有資料和日誌設備執行磁碟快照。 

可以從磁碟建立快照,即使它們附加到正在執行的實例也是如此。快照是全域資源,因此可用於將資料還原到新磁碟。

請參閱此處連結中拍攝快照的說明

 

gcloud compute snapshots create <snapshot-name> \
    --source-disk  <source-disk-name> \
    --snapshot-type  <snapshot-type> \
    --source-disk-zone <source-zone>

 

3. 確認快照並釋放資料庫的寫入權限

外部備份命令完成後,執行下列 SQL 命令以釋放停頓的資料庫以進行讀取/寫入存取。

 

quiesce database <tag_name> release
go

 

根據SAP 說明 - 1588316安排自動日誌備份到磁碟或 FileStore Enterprise

恢復

如下所示,使用磁碟快照執行 SAP ASE 資料庫的還原。

1. 從 Google Cloud Storage 快照建立永久磁碟

從 Google Cloud 儲存快照建立永久磁碟。

有關如何從快照創建磁碟的更多信息,請參閱此處的連結。

2. 準備系統恢復

  • 確保 ASE 資料庫已停止
  • 卸載現有資料庫磁碟區(資料和日誌)
  • 刪除目標磁碟區對應的 fstab 條目
  • 停用邏輯捲和卷組
  • 從 VM 中分離卷
  • 將新建立的磁碟附加到虛擬機
  • 啟動邏輯捲和卷組(如果未啟動)
  • 使用新磁碟的詳細資訊更新目標磁碟區的 fstab 條目
  • 在虛擬機器上安裝已配置的捲
  • 驗證檔案系統的權限和所有權

3.恢復資料庫

使用命令列選項「-q」以靜默模式啟動 SAP ASE,並套用資料庫靜默後儲存的交易日誌轉儲。

例子:

 

cd $SYBASE/$SYBASE_ASE/install
echo "-q \" >> RUN_<SERVER>

 

重新啟動伺服器

 

startserver -f  RUN_<SERVER>
startserver -f RUN_<SERVER>_BS

 

如果適用,請使用指令 LOAD TRANSACTION 將交易日誌轉儲載入到 SAP 資料庫。

使用 isql 登入 SAP ASE 資料庫並執行以下命令

 

load transaction <DBNAME> from "/path"

 

最後使用 SQL 命令將所有資料庫設定為線上:

 

online database <DBNAME>
go

 

從 RUN_<SERVER> 檔案中刪除 -q 選項後重新啟動 SAP ASE 伺服器。

分享至PLURK 噗浪 分享至FACEBOOK 臉書

沒有留言: