DM8備份與還原(一)簡介

2021-10-23 15:14:33 字數 3796 閱讀 8048

備份還原:

資料庫備份是 dba 日常最重要的工作內容。備份的主要目的是資料容災,保證資料的安全性,在資料庫發生故障時,通過還原備份集,將資料恢復到可用狀態。

1.1概述:

dm 資料庫中的資料儲存在資料庫的物理資料檔案中,資料檔案按照頁、簇和段的方式進行管理,資料頁是最小的資料儲存單元。任何乙個對 dm 資料庫的操作,歸根結底都是對某個資料檔案頁的讀寫操作。

因此,dm 備份的本質就是從資料庫檔案中拷貝有效的資料頁儲存到備份集中,這裡的有效資料頁包括資料檔案的描述頁和被分配使用的資料頁。而在備份的過程中,如果資料庫系統還在繼續執行,這期間的資料庫操作並不是都會立即體現到資料檔案中,而是首先以日誌的形式寫到歸檔日誌中,因此,為了保證使用者可以通過備份集將資料恢復到備份結束時間點的狀態,就需要將備份過程中產生的歸檔日誌也儲存到備份集中。

還原與恢復是備份的逆過程。還原是將備份集中的有效資料頁重新寫入目標資料檔案的過程。恢復則是指通過重做歸檔日誌,將資料庫狀態恢復到備份結束時的狀態;也可以恢復到指定時間點和指定 lsn。恢復結束以後,資料庫中可能存在處於未提交狀態的活動事務,這些活動事務在恢復結束後的第一次資料庫系統啟動時,會由 dm 資料庫自動進行回滾。

1.2 備份集

備份集用來存放備份過程中產生的備份資料及備份資訊。乙個備份集對應了一次完整的備份。一般情況下,乙個備份集就是乙個目錄,備份集包含乙個或多個備份片檔案,以及乙個備份元資料檔案。並行備份和非並行備份情況下,備份集裡的內容略有不同。

1.3 備份片:

備份片用來儲存備份資料的檔案。備份時,目標資料檔案內容或歸檔日誌內容經過處理後,都會存放到各自的備份片檔案中。備份片檔案字尾為.bak,用來存放備份資料,備份集中存放資料頁的備份片稱為資料備份片,存放 redo 日誌的備份片稱為日誌備份片。

備份片的大小可以在備份時通過 maxpiecesize 指定,乙個備份集中可能生成多個備份片。

1.4元資料:

元資料檔案用來存放備份資訊,元資料檔案的字尾為.meta。通過元資料檔案,可以了解整個備份集資訊。元資料檔案中包含的備份資訊包括:

 備份集本身相關的資訊,如是否聯機備份,備份的範圍,備份的加密資訊,以及備份的壓縮資訊等;

 備份源庫的建庫引數資訊,如 dsc 的節點數,是否大小寫敏感,page_check 屬性等;

 資料檔案資訊,如備份了哪些資料檔案,檔案大小,以及檔案相關的表空間資訊等;

 備份片的資訊,如包含哪些備份片檔案、備份片大小等資訊;

 備份庫的dm.ini 引數資訊和金鑰檔案 ( dm_service.private 或者dm_external.config,若指定 usbkey 加密,則不備份)。

備份備份的目的是當資料庫遇到損壞的情況下,可以執行還原恢復操作,把資料庫復原到損壞前的某個時間點。用於還原恢復資料庫的載體是備份集,生成備份集的過程便是備份了。備份就是從源庫(備份庫)中讀取有效資料頁、歸檔日誌等相關資訊,經過加密、壓縮等處理後寫入備份片,並將相關備份資訊寫入備份元資料檔案的過程。

2.1 邏輯備份和物理備份:

2.1.1 邏輯備份:

是指利用 dexp 匯出工具,將指定物件(庫級、模式級、表級)的資料匯出到檔案的備份方式。邏輯備份針對的是資料內容,並不關心這些資料物理儲存在什麼位置。

2.1.2 物理備份:

是直接掃瞄資料庫檔案,找出那些已經分配、使用的資料頁,拷貝並儲存到備份集中。物理備份過程中,不關心資料頁的具體內容是什麼,也不關心資料頁屬於哪一張表,只是簡單的根據資料庫檔案系統的描述,來挑選有效的資料頁。

這兩種備份方式,分別適應不同的應用場景。

2.2 聯機備份和離線備份:

資料庫處於執行狀態、並正常提供資料庫服務情況下進行的備份操作,我們稱為聯機備份。資料庫處於關閉狀態時進行的備份操作,被稱為離線備份。只有已經關閉的資料庫才允許執行離線備份。正在執行的資料庫,無法執行離線備份,系統會報錯。

從 v2.0 版本開始,使用 dmrman 工具進行離線備份,並且支援對異常關閉的資料庫進行脫機庫備份。備份異常關閉的資料庫,要求配置了本地歸檔,如果本地歸檔不完整,則需要先修復本地歸檔,再進行備份。

聯機備份則使用客戶端工具連線到資料庫例項後,通過執行 sql 語句進行;也可以通過配置作業,定時完成自動備份。聯機備份不影響資料庫正常提供服務,是最常用的備份手段之一。

聯機備份時,可能存在一些處於活動狀態的事務正在執行,為確保備份資料的一致性,需要將備份期間產生的 redo 日誌一起備份。因此,只能在配置本地歸檔、並開啟本地歸檔的資料庫上執行聯機備份。

2.3 資料備份和歸檔日誌備份:

按照備份內容不同,可以分為資料備份和歸檔日誌備份。

2.3.1 資料備份主要針對資料檔案內容,包括庫備份、表空間備份和表備份:

 庫備份,顧名思義就是對整個資料庫執行的備份,又稱為庫級備份。庫備份會拷貝資料庫中所有資料檔案的有效資料頁,如果是聯機備份,則還會拷貝備份過程中產生的歸檔日誌,寫入到備份集中。

 表空間備份是針對特定表空間執行的備份,又稱為表空間級備份。表空間備份只能在聯機狀態下執行。

表備份則拷貝指定表的所有資料頁到備份集中,並會記錄各個資料頁之間的邏輯關係用以恢復。表備份只能在聯機狀態下執行,一次表備份操作只能備份一張使用者表,並且不支援增量表備份。

2.3.2 歸檔日誌備份:

是專門針對歸檔日誌檔案進行操作,不涉及任何資料檔案內容。歸檔日誌備份掃瞄歸檔目錄收集歸檔日誌檔案,並將歸檔日誌寫入到備份集中。既可以在資料庫執行狀態下,執行聯機歸檔日誌備份;也可以在資料庫關閉狀態下執行離線歸檔日誌備份。

2.5 完全備份和增量備份:

按照備份資料完整性,可將備份分為完全備份和增量備份。庫備份和表空間備份支援增量備份,表備份不支援增量備份。

完全備份生成的備份集包含了指定庫(或者表空間)的全部有效資料頁。當資料規模比較大的情況下,生成的完全備份集通常會比較大,而且備份時間也會比較長。

增量備份是在某個特定備份集基礎上,收集資料庫新修改的資料頁進行備份,可以有效減少備份集的空間占用、提高備份速度。這個特定的、已經存在的備份集稱為增量備份的基備份,根據對基備份的要求不同,dm 的增量備份分為以下兩種:

(1)差異增量備份:

差異增量備份的基備份既可以是乙個完全備份集,也可以是乙個增量備份集。利用增量備份進行還原操作時,要求其基備份必須是完整的;如果差異增量備份的基備份本身也是乙個增量備份,那麼同樣要求其基備份是完整的;任何乙個增量備份,最終都是以乙個完全備份作為其基備份。因此,完全備份是增量備份的基礎。

(2)累積增量備份:

累積增量備份的基備份只能是完全備份集,而不能是增量備份集。

增量備份的基備份集既可以是離線備份生成的,也可以是聯機備份生成的,離線增量備份的基備份集可以是聯機備份生成的,聯機增量備份的基備份集也可以是離線備份生成的。

備份方式:

當前僅支援備份集方式的備份還原,不再支援其他備份方式。備份還原實現策略有兩種:

dmap 輔助程序方式和無輔助程序方式。使用者可通過 dm.ini 引數 bak_use_ap 來選擇(dmrman 使用引數 use_ap),bak_use_ap 取值 1、2。預設為 1。

(1)dmap 輔助程序方式,可支援第三方備份(指定 device type 為 tape)。dmap外掛程式執行,改造了備份還原任務子系統,允許指定並行度,大幅提公升了備份還原的效率,特別是加密、壓縮的處理效率。如果選擇使用 dmap 輔助程序,執行備份還原之前就必須啟動dmap 服務。安裝 dm 資料庫以後,dmap 服務會自動啟動。如果需要手動啟動,有兩種途徑,一是啟動 dm 服務檢視器中的 dmapservice。二是通過手動啟動 dmap 執行碼實現,dmap執行碼位於 dm 安裝目錄的 bin 子目錄下。除此之外,linux 下,還可以呼叫 bin 目錄下的 dmapservice 指令碼。

(2)無輔助程序方式,不依賴 dmap,由主程序 dmserver 自身執行備份還原,但不支援第三方備份(指定 device type 為 tape)。

DM8備份與還原之還原

1.使用disql執行還原 注 disql只能進行表空間和表的還原,庫還原使用離線工具dmrman 1.系統處於open狀態下 2.表空間還原,恢復操作一次性完成,還原後不需單獨執行恢復 3可使用表空間完全備份,表空間增量備份,資料庫備份檔案還原表空間 alter tablespace main o...

DM8資料庫安裝與實時主備搭建

2 實時主備 2.4.2 配置備庫 2.4.3 配置確認監視器 2.4.4 啟動資料守護程序 2.4.5 啟動監視器 建立安裝使用者組 dinstall groupadd dinstall 建立安裝使用者 dmdba useradd g dinstall 初始化使用者密碼 passwd dmdba ...

記錄8 ubuntu備份與還原

ubuntu系統的備份與還原 下面是備份系統的方法 然後開啟終端,輸入以下命令 1 成為根使用者 sudo su 2 轉到根目錄 cd 完整的命令 tar cvpzf media unix ubuntu backup.tgz exclude proc exclude lost found exclu...