




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
達(dá)夢(mèng)技術(shù)叢書
DM8備份與還原
DM8備份與還原
前百
概述
本文檔主要介紹備份還原的基本概念、技術(shù)原理,如何使用DM的命令行工具Dlsql和
DMRMAN(DMRECOVERMANAGER)、客戶端工具M(jìn)ANAGER(管理工具)和CONSOLE(控
制臺(tái)工具)進(jìn)行備份還原,它們所提供的功能、以及詳細(xì)的參數(shù)介紹。
讀者對(duì)象
本文檔主要適用于DM數(shù)據(jù)庫(kù)的:
?開(kāi)發(fā)工程師
?測(cè)試工程師
?技術(shù)支持工程師
?數(shù)據(jù)庫(kù)管理員
通用約定
在本文檔中可能出現(xiàn)下列標(biāo)志,它們所代表的含義如下:
表0.1標(biāo)志含義
標(biāo)志說(shuō)明
表示可能導(dǎo)致系統(tǒng)損壞、數(shù)據(jù)丟失或不可預(yù)知的結(jié)果。
警告:
k表示可能導(dǎo)致性能降低、服務(wù)不可用。
—注意:
鼎百:
可以幫助您解決某個(gè)問(wèn)題或節(jié)省您的時(shí)間。
表示正文的附加信息,是對(duì)正文的強(qiáng)調(diào)和補(bǔ)充。
II
備份與還原
在本文檔中可能出現(xiàn)下列格式,它們所代表的含義如下:
表0.2格式含義
格式說(shuō)明
宋體表示正文。
Couriernew表示代碼或者屏幕顯示內(nèi)容。
表示命令行中的關(guān)鍵字(命令中保持不變、必須照輸?shù)牟糠郑┗蛘哒闹袕?qiáng)調(diào)的內(nèi)容。
粗體
標(biāo)題、警告、注意、小竅門、說(shuō)明等內(nèi)容均采用粗體。
<>語(yǔ)法符號(hào)中,表示一個(gè)語(yǔ)法對(duì)象。
語(yǔ)法符號(hào)中,表示定義符,用來(lái)定義一個(gè)語(yǔ)法對(duì)象。定義符左邊為語(yǔ)法對(duì)象,右邊為相
::=
應(yīng)的語(yǔ)法描述。
1語(yǔ)法符號(hào)中,表示或者符,限定的語(yǔ)法選項(xiàng)在實(shí)際語(yǔ)句中只能出現(xiàn)一個(gè)。
語(yǔ)法符號(hào)中,大括號(hào)內(nèi)的語(yǔ)法選項(xiàng)在實(shí)際的語(yǔ)句中可以出現(xiàn)0...N次(N為大于0的自然
{)
數(shù)),但是大括號(hào)本身不能出現(xiàn)在語(yǔ)句中。
語(yǔ)法符號(hào)中,中括號(hào)內(nèi)的語(yǔ)法選項(xiàng)在實(shí)際的語(yǔ)句中可以出現(xiàn)0...1次,但是中括號(hào)本身
[]
不能出現(xiàn)在語(yǔ)句中。
關(guān)鍵字在DM_SQL語(yǔ)言中具有特殊意義,在SQL語(yǔ)法描述中,關(guān)鍵字以大寫形式出現(xiàn)。
關(guān)鍵字
但在實(shí)際書寫SQL語(yǔ)句時(shí),關(guān)鍵字既可以大寫也可以小寫。
III
備份與還原
目錄
1備份還原簡(jiǎn)介1
1.1概述1
1.2基本概念2
1.2.1表空間與數(shù)據(jù)文件2
1.2.2重做日志4
1.2.3歸檔日志5
1.2.4檢查點(diǎn)5
1.2.5備份集7
1.2.6備份8
1.2.7還原與恢復(fù)11
1.3介質(zhì)管理層13
1.4版本說(shuō)明13
1.4.1版本區(qū)別13
1.4.2版本相關(guān)參數(shù)設(shè)置14
2備份還原原理15
2.1歸檔說(shuō)明15
2.1.1本地歸檔15
2.1.2遠(yuǎn)程歸檔16
2.1.3歸檔切換16
2.1.4歸檔修復(fù)17
2.2備份17
2.2.1數(shù)據(jù)備份18
2.2.2日志備份20
2.2.3壓縮與加密20
2.2.4并行備份21
2.3還原與恢復(fù)22
2.3.1數(shù)據(jù)還原22
2.3.2數(shù)據(jù)恢復(fù)26
2.3.3解壓縮與解密30
2.3.4并行還原30
2.4歸檔日志備份與還原30
2.4.1歸檔日志備份31
2.4.2歸檔日志還原31
3備份還原實(shí)戰(zhàn)33
3.1準(zhǔn)備工作33
IV
備份與還原
3.1.1支持與限制33
3.1.2歸檔配置35
3.2使用聯(lián)機(jī)執(zhí)行SQL語(yǔ)句進(jìn)行備份還原39
3.2.1概述39
3.2.2數(shù)據(jù)備份40
3.2.3數(shù)據(jù)備份高級(jí)主題65
3.2.4管理備份67
3.2.5數(shù)據(jù)還原84
3.2.6數(shù)據(jù)還原高級(jí)主題95
3.3使用脫機(jī)工具DMRMAN進(jìn)行備份還原99
3.3.1DMRMAN概述100
3.3.2啟動(dòng)和配置DMRMAN101
3.3.3數(shù)據(jù)備份107
3.3.4管理備份119
3.3.5數(shù)據(jù)庫(kù)還原和恢復(fù)138
3.3.6歸檔還原161
3.3.7歸檔修復(fù)164
3.3.8表空間還原165
3.3.9查看操作日志168
3.4使用圖形化客戶端工具進(jìn)行備份還原179
3.4.1使用MANAGER工具進(jìn)行聯(lián)機(jī)備份還原179
3.4.2使用CONSOLE工具進(jìn)行脫機(jī)備份還原190
4備份還原實(shí)戰(zhàn)VI.0208
4.1準(zhǔn)備工作208
4.2使用聯(lián)機(jī)執(zhí)行SQL語(yǔ)句進(jìn)行備份還原208
4.2.1數(shù)據(jù)備份208
4.2.2數(shù)據(jù)還原210
4.2.3設(shè)置備份屬性211
4.3使用脫機(jī)工具進(jìn)行備份還原214
4.3.1備份數(shù)據(jù)214
4.3.2還原數(shù)據(jù)215
4.4使用圖形化工具進(jìn)行備份還原223
4.4.1使用MANAGER工具進(jìn)行聯(lián)機(jī)備份還原224
4.4.2使用CONSOLE工具進(jìn)行脫機(jī)備份還原228
V
備份與還原
1備份還原簡(jiǎn)介
數(shù)據(jù)庫(kù)備份是DBA日常最重要的工作內(nèi)容。備份不是目的,還原與恢復(fù)才是備份的目
的。DBA不僅要保證備份成功,還要保證一旦數(shù)據(jù)庫(kù)發(fā)生故障時(shí)備份可還原可恢復(fù)。
本章主要介紹DM備份與還原的概述和基本概念,為理解歸檔配置、備份還原的原理與
工具使用奠定基礎(chǔ),內(nèi)容主要包括:
?概述
?基本概念
1.1概述
DM數(shù)據(jù)庫(kù)中的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)的物理數(shù)據(jù)文件中,數(shù)據(jù)文件按照頁(yè)、簇和段的方式
進(jìn)行管理,數(shù)據(jù)頁(yè)是最小的數(shù)據(jù)存儲(chǔ)單元。任何一個(gè)對(duì)DM數(shù)據(jù)庫(kù)的操作,歸根結(jié)底都是對(duì)
某個(gè)數(shù)據(jù)文件頁(yè)的讀寫操作。
因此,DM備份的本質(zhì)就是從數(shù)據(jù)庫(kù)文件中拷貝有效的數(shù)據(jù)頁(yè)保存到備份集中,這里的
有效數(shù)據(jù)頁(yè)包括數(shù)據(jù)文件的描述頁(yè)和被分配使用的數(shù)據(jù)頁(yè)。而在備份的過(guò)程中,如果數(shù)據(jù)庫(kù)系
統(tǒng)還在繼續(xù)運(yùn)行,這期間的數(shù)據(jù)庫(kù)操作并不是都會(huì)立即體現(xiàn)到數(shù)據(jù)文件中,而是首先以日志的形
式寫到歸檔日志中,因此,為了保證用戶可以通過(guò)備份集將數(shù)據(jù)恢復(fù)到備份結(jié)束時(shí)間點(diǎn)的狀態(tài),
就需要將備份過(guò)程中產(chǎn)生的歸檔日志也保存到備份集中。
還原與恢復(fù)是備份的反過(guò)程。還原是將備份集中的有效數(shù)據(jù)頁(yè)重新寫入目標(biāo)數(shù)據(jù)文件的過(guò)程。
恢復(fù)則是指通過(guò)重做歸檔日志,將數(shù)據(jù)庫(kù)狀態(tài)恢復(fù)到備份結(jié)束時(shí)的狀態(tài);也可以恢復(fù)到指定時(shí)間
點(diǎn)和指定LSN?;謴?fù)結(jié)束以后,數(shù)據(jù)庫(kù)中可能存在處于未提交狀態(tài)的活動(dòng)事務(wù),這些活動(dòng)事
務(wù)在恢復(fù)結(jié)束后的第一次數(shù)據(jù)庫(kù)系統(tǒng)啟動(dòng)時(shí),會(huì)由DM數(shù)據(jù)庫(kù)服務(wù)器自動(dòng)進(jìn)行回滾。
備份、還原與恢復(fù)的關(guān)系如圖1.1所示。
1
備份與還原
1.2基本概念
本節(jié)介紹與DM備份與還原相關(guān)的一些基本概念,了解這些基本概念是閱讀后續(xù)章節(jié)的
基礎(chǔ)。
1.2.1表空間與數(shù)據(jù)文件
DM數(shù)據(jù)庫(kù)的表空間是一個(gè)邏輯概念,其目的主要是為了方便數(shù)據(jù)庫(kù)的管理,數(shù)據(jù)庫(kù)的
所有對(duì)象在邏輯上都存放在某個(gè)表空間中,而物理上都存儲(chǔ)在所屬表空間的數(shù)據(jù)文件中。一個(gè)
表空間由一個(gè)或多個(gè)數(shù)據(jù)文件組成。
數(shù)據(jù)文件是數(shù)據(jù)庫(kù)中最重要的文件類型,是真實(shí)數(shù)據(jù)存儲(chǔ)的地方。DM中數(shù)據(jù)文件的擴(kuò)
展名為.dbf,分為系統(tǒng)默認(rèn)生成的數(shù)據(jù)文件和用戶自己創(chuàng)建的數(shù)據(jù)文件兩類。
在創(chuàng)建DM數(shù)據(jù)庫(kù)時(shí),系統(tǒng)會(huì)自動(dòng)創(chuàng)建5個(gè)表空間:SYSTEM表空間、ROLL表空間、
MAIN表空間、TEMP表空間和HMAIN表空間。DM自動(dòng)為這幾個(gè)自動(dòng)創(chuàng)建的表空間分別生
成默認(rèn)的數(shù)據(jù)文件:SYSTEM.DBF^ROLL.DBF、MAIN.DBF和TEMP.DBF,HMAIN表空
間沒(méi)有默認(rèn)的數(shù)據(jù)文件。
用戶也可以創(chuàng)建自己的表空間,由用戶創(chuàng)建的表空間統(tǒng)稱為用戶自定義表空間,在創(chuàng)建自
定義表空間時(shí)需要為表空間指定數(shù)據(jù)文件。用戶可通過(guò)為已存在的表空間增加數(shù)據(jù)文件或
2
備份與還原
創(chuàng)建一個(gè)新的表空間來(lái)創(chuàng)建數(shù)據(jù)文件。
因此,DM中的表空間有以下幾類:
SYSTEM表空間
存放了DM數(shù)據(jù)庫(kù)全局字典信息和全局系統(tǒng)數(shù)據(jù),是DM數(shù)據(jù)庫(kù)能夠正常運(yùn)行的必要前
提,默認(rèn)對(duì)應(yīng)數(shù)據(jù)文件SYSTEM.DBF?CREATETABLE等DDL操作會(huì)修改SYSTEM表空
間數(shù)據(jù)。
ROLL表空間
存放DM數(shù)據(jù)庫(kù)運(yùn)行過(guò)程中產(chǎn)生的所有回滾記錄。DM中幾乎所有的數(shù)據(jù)庫(kù)修改操作都
會(huì)生成回滾記錄,并保存在ROLL表空間的數(shù)據(jù)文件中。ROLL表空間是數(shù)據(jù)庫(kù)全局對(duì)象,
不論修改哪一個(gè)表空間,生成的回滾記錄都是寫入ROLL表空間,該表空間由系統(tǒng)自動(dòng)維護(hù),
默認(rèn)數(shù)據(jù)文件為ROLL.DBF。
TEMP表空間
存放臨時(shí)表數(shù)據(jù)以及數(shù)據(jù)庫(kù)運(yùn)行過(guò)程中產(chǎn)生的臨時(shí)數(shù)據(jù)。在數(shù)據(jù)庫(kù)運(yùn)行過(guò)程中,SORT、
HASHJOIN等操作都可能會(huì)生成臨時(shí)結(jié)果集,它們作為臨時(shí)數(shù)據(jù)存放在TEMP表空間中。
TEMP表空間是數(shù)據(jù)庫(kù)全局對(duì)象,由系統(tǒng)自動(dòng)維護(hù)。若數(shù)據(jù)庫(kù)重啟,保存在TEMP表空間中
的所有數(shù)據(jù)都會(huì)丟失。TEMP表空間的默認(rèn)數(shù)據(jù)文件為TEMP.DBF。
MAIN表空間
在創(chuàng)建用戶時(shí),如果沒(méi)有指定默認(rèn)表空間,系統(tǒng)自動(dòng)指定MAIN表空間為用戶默認(rèn)的表空
間。
HMAIN表空間
DM的HUGE表空間,用來(lái)存放HUGE表數(shù)據(jù)文件。HMAIN表空間和HUGE表相關(guān)知識(shí)
可參考《DM8系統(tǒng)管理員手冊(cè)》。
DM的物理備份還原不支持:
1.TEMP表空間。
-一*一
2.HUGE表空間,即數(shù)據(jù)庫(kù)備份和還原不包括HMAIN和用戶創(chuàng)建的HUGE
表空間;也不支持對(duì)HMAIN和用戶創(chuàng)建的HUGE表空間進(jìn)行表空間備份
和還原。DM提供了HUGE表備份還原系統(tǒng)函數(shù)支持HUGE表的聯(lián)機(jī)備份
還原,可參考《DM8_SQL語(yǔ)言使用手冊(cè)》。
用戶自定義表空間
3
備份與還原
即用戶通過(guò)創(chuàng)建表空間相關(guān)操作生成的表空間。
圖1.2顯示了一個(gè)完整的DM數(shù)據(jù)庫(kù)的表空間和數(shù)據(jù)文件分布情況,其中TSDA為用戶
自定義表空間。
圖1.2一個(gè)完整DM數(shù)據(jù)庫(kù)的表空間和數(shù)據(jù)文件分布
1.2.2重做日志
重做日志,又叫REDO日志,忠實(shí)記錄了所有物理頁(yè)的修改,基本信息包括操作類型、
表空間號(hào)、文件號(hào)、頁(yè)號(hào)、頁(yè)內(nèi)偏移、實(shí)際數(shù)據(jù)等。數(shù)據(jù)庫(kù)中INSERT、DELETE,UPDATE等
DML操作以及CREATETABLE等DDL操作最終都會(huì)轉(zhuǎn)化為對(duì)某些數(shù)據(jù)文件、某些數(shù)據(jù)頁(yè)的
修改。因此,在系統(tǒng)故障重啟時(shí),通過(guò)重做REDO日志,可以將數(shù)據(jù)庫(kù)恢復(fù)到故障時(shí)的
4
備份與還原
狀態(tài)。
DM數(shù)據(jù)庫(kù)默認(rèn)包含兩個(gè)擴(kuò)展名為log的日志文件,用來(lái)保存REDO日志,稱為聯(lián)機(jī)重
做日志文件。這兩個(gè)文件循環(huán)使用。任何數(shù)據(jù)頁(yè)從內(nèi)存緩沖區(qū)寫入磁盤之前,必須保證其對(duì)應(yīng)
的REDO日志已經(jīng)寫入到聯(lián)機(jī)日志文件。
1.2.3歸檔日志
DM數(shù)據(jù)庫(kù)可以在歸檔和非歸檔兩種模式下運(yùn)行,歸檔模式的具體配置參考3.1小節(jié)。
DM支持多種歸檔方式,本文中若無(wú)特殊說(shuō)明,均指本地歸檔。當(dāng)數(shù)據(jù)庫(kù)處于歸檔模式下且配
置了本地歸檔時(shí),REDO日志先寫入聯(lián)機(jī)日志文件,然后再異步寫入歸檔日志文件。歸檔日志
文件以配置的歸檔名稱和文件創(chuàng)建時(shí)間命名,擴(kuò)展名也是logo
系統(tǒng)在歸檔模式下運(yùn)行會(huì)更安全,當(dāng)出現(xiàn)介質(zhì)故障,如磁盤損壞導(dǎo)致數(shù)據(jù)文件丟失、異常
時(shí),利用歸檔日志,系統(tǒng)可以恢復(fù)至故障發(fā)生的前一刻。因此,建議將歸檔目錄與數(shù)據(jù)文件配
置、保存到不同的物理磁盤上。
除了表備份還原,其他的聯(lián)機(jī)備份與還原必須運(yùn)行在歸檔模式下。
1.2.4檢查點(diǎn)
DM數(shù)據(jù)庫(kù)運(yùn)行過(guò)程中,用戶的所有操作都在內(nèi)存中進(jìn)行。每修改一條記錄都必須先把
記錄所在的數(shù)據(jù)頁(yè)加載到BUFFER緩沖區(qū)中,然后進(jìn)行修改。事務(wù)運(yùn)行時(shí),會(huì)把生成的REDO
日志保留在日志緩沖區(qū)RLOG_BUF中,每條日志記錄對(duì)應(yīng)一個(gè)LSN,當(dāng)事務(wù)提交或日志緩
沖區(qū)滿或執(zhí)行檢查點(diǎn)時(shí)會(huì)進(jìn)行日志刷盤。
檢查點(diǎn)(checkpoint)是一個(gè)數(shù)據(jù)庫(kù)事件,它的功能是按照數(shù)據(jù)頁(yè)的修改順序,依次
將BUFFER緩沖區(qū)中的臟頁(yè)寫入磁盤,并在這個(gè)過(guò)程中動(dòng)態(tài)調(diào)整CKPT_LSN值,釋放日志
空間。
DM的檢查點(diǎn)分為兩種:完全檢查點(diǎn)和部分檢查點(diǎn):
/完全檢查點(diǎn):會(huì)將內(nèi)存緩沖區(qū)中的所有臟頁(yè)寫入磁盤,并調(diào)整CKPT_LSN,在數(shù)
據(jù)庫(kù)正常關(guān)閉時(shí)會(huì)產(chǎn)生一個(gè)完全檢查點(diǎn)。
/部分檢查點(diǎn):根據(jù)dm.ini配置文件中的參數(shù)CKPT_FLUSH_RATE和
CKPT_FLUSH_PAGES,確定每次檢查點(diǎn)刷臟頁(yè)的數(shù)量。執(zhí)行部分檢查點(diǎn)的過(guò)程中,DDL/DML操
作都可以正常執(zhí)行,DM系統(tǒng)中絕大多數(shù)情況下觸發(fā)的都是部分檢查點(diǎn)。
5
備份與還原
下面介紹DM中幾個(gè)LSN值的意義,這些LSN值的定義與備份還原范圍的確定有很大
關(guān)系,能讓讀者更好地理解DM備份還原。
?LSN
LSN(LogSequenceNumber)是由系統(tǒng)自動(dòng)維護(hù)的Bigint類型數(shù)值,具有自動(dòng)
遞增、全局唯一特性,每一個(gè)LSN值代表著DM系統(tǒng)內(nèi)部產(chǎn)生的一個(gè)物理事務(wù)。物理事務(wù)
(PhysicalTransaction,簡(jiǎn)稱ptx)是數(shù)據(jù)庫(kù)內(nèi)部一系列修改物理數(shù)據(jù)頁(yè)操作的集合,
與數(shù)據(jù)庫(kù)管理系統(tǒng)中事務(wù)(Transaction)概念相對(duì)應(yīng),具有原子性、有序性、無(wú)法撤銷等
特性。
?CUR_LSN
系統(tǒng)當(dāng)前LSN,代表已經(jīng)分配的最大LSN值。物理事務(wù)提交時(shí),系統(tǒng)會(huì)為其分配一個(gè)
唯一的LSN值(CUR_LSN+1),同時(shí)修改CUR_LSN值為CUR_LSN+1?
?FILE_LSN
文件LSN,已經(jīng)寫入聯(lián)機(jī)重做日志文件的最大LSN值。每次將RLOG_BUF寫入聯(lián)機(jī)重
做日志文件后,都會(huì)修改F]:LE_LSN值。
?FLUSH_LSN
FLUSH_LSN是已經(jīng)發(fā)起日志刷盤請(qǐng)求,但還沒(méi)有真正寫入聯(lián)機(jī),Redo日志文件的最
大LSN值。
?CKPT_LSN
檢查點(diǎn)LSN,所有LSN<=CKPT_LSN的物理事務(wù)修改的數(shù)據(jù)頁(yè),都已經(jīng)從BUFFER
緩沖區(qū)寫入磁盤。因此,數(shù)據(jù)庫(kù)故障重啟時(shí),CKPT_LSN之前的REDO日志不需要重做,只
需要從CKPT_LSN+1開(kāi)始重做REDO日志,就可以將系統(tǒng)恢復(fù)到故障前狀態(tài)。并且,在聯(lián)
機(jī)重做日志文件中,LSN值<=CKPT_LSN的REDO日志都可以被覆蓋。
根據(jù)以上介紹的幾個(gè)LSN值,我們?yōu)榇_定備份范圍特別定義了兩個(gè)LSN:
?START_LSN
為了保證備份的完整性和有效性,必須包含的歸檔日志起始LSN值。START_LSN=備
份開(kāi)始時(shí)CKPT_LSN+1?
?END_LSN
為了保證備份的完整性和有效性,必須包含歸檔日志結(jié)束LSN值。END_LSN=備份
結(jié)束時(shí)FILE_LSNo
如果START_LSN等于END_LSN+1,則表明備份過(guò)程中,沒(méi)有任何數(shù)據(jù)被修改。
6
備份與還原
在做增量備份時(shí),要求其START_LSN必須大于等于基準(zhǔn)備份的END_LSN值,這個(gè)要
求可以簡(jiǎn)化還原過(guò)程,避免還原基準(zhǔn)備份后必須先進(jìn)行恢復(fù)再還原增量備份。
下圖說(shuō)明了聯(lián)機(jī)日志文件、日志緩沖區(qū)RLOG_BUF以及相關(guān)各LSN之間的關(guān)系。
CKPTLSN
圖1.3聯(lián)機(jī)日志文件與日志緩沖區(qū)
在聯(lián)機(jī)日志文件中,可以覆蓋寫入REDO日志的文件長(zhǎng)度為可用日志空間;不能被覆蓋
的REDO日志,系統(tǒng)故障重啟需要重做的REDO日志為有效日志,有效日志的LSN取值范
圍是(CKPT_LSN,FILE_LSN]。
數(shù)據(jù)庫(kù)運(yùn)行過(guò)程中產(chǎn)生的待寫入日志首先寫入日志緩沖區(qū)RLOG_BUF,當(dāng)日志刷盤時(shí)
一起寫入聯(lián)機(jī)日志文件中。
1.2.5備份集
備份集用來(lái)存放備份過(guò)程中產(chǎn)生的備份數(shù)據(jù)及備份信息。一個(gè)備份集對(duì)應(yīng)了一次完整的
備份。一般情況下,一個(gè)備份集就是一個(gè)目錄,備份集包含一個(gè)或多個(gè)備份片文件,以及一個(gè)
備份元數(shù)據(jù)文件。
1.2.5.1備份片
備份片用來(lái)存儲(chǔ)備份數(shù)據(jù)的文件。備份時(shí),目標(biāo)數(shù)據(jù)文件內(nèi)容或歸檔日志內(nèi)容經(jīng)過(guò)處理后,
都會(huì)存放到各自的備份片文件中。備份片文件后綴為.bak,用來(lái)存放備份數(shù)據(jù),備份集中存
放數(shù)據(jù)頁(yè)的文件稱為數(shù)據(jù)備份片,存放REDO日志的備份片稱為日志備份片。
7
備份與還原
備份片的大小可以在備份時(shí)通過(guò)MAXPIECESIZE指定,一個(gè)備份集中可能生成多個(gè)備
份片。
1.2.5.2元數(shù)據(jù)
元數(shù)據(jù)文件用來(lái)存放備份信息,元數(shù)據(jù)文件的后綴為.meta。通過(guò)元數(shù)據(jù)文件,可以了
解整個(gè)備份集信息。元數(shù)據(jù)文件中包含的備份信息包括:
/備份集本身相關(guān)的信息,如是否聯(lián)機(jī)備份,備份的范圍,備份的加密信息,以及備份
的壓縮信息等;
/備份源庫(kù)的建庫(kù)參數(shù)信息,如DSC的節(jié)點(diǎn)數(shù),是否大小寫敏感,PAGE_CHECK屬
性等;
/數(shù)據(jù)文件信息,如備份了哪些數(shù)據(jù)文件,文件大小,以及文件相關(guān)的表空間信息等;
/備份片的信息,如包含哪些備份片文件、備份片大小等信息;
/備份庫(kù)的dm.ini參數(shù)信息和密鑰文件(dm_service.private或者
dm_external.config,若指定usbkey加密,則不備份)。
1.2.5.3備份集搜索目錄
備份集搜索目錄,用于搜集目標(biāo)備份集的文件路徑。備份集搜索目錄包括4類:
/數(shù)據(jù)庫(kù)的默認(rèn)備份目錄;
/WITHBACKUPDIR子句指定的目錄;
/還原時(shí)備份集所在的上級(jí)目錄;
/增量備份時(shí)基備份集所在的上級(jí)目錄。
注:如果使用第三方備份(介質(zhì)為TAPE類型),則只搜索WITHBACKUPDIR子句指
定的備份集目錄,具體搜集方式由第三方備份程序決定。
1.2.6備份
備份的目的是當(dāng)數(shù)據(jù)庫(kù)遇到損壞的情況下,可以執(zhí)行還原恢復(fù)操作,把數(shù)據(jù)庫(kù)復(fù)原到損壞
前的某個(gè)時(shí)間點(diǎn)。用于還原恢復(fù)數(shù)據(jù)庫(kù)的載體是備份集,生成備份集的過(guò)程便是備份了。
備份就是從源庫(kù)(備份庫(kù))中讀取有效數(shù)據(jù)頁(yè)、歸檔日志等相關(guān)信息,經(jīng)過(guò)加密、壓縮
8
備份與還原
等處理后寫入備份片,并將相關(guān)備份信息寫入備份元數(shù)據(jù)文件的過(guò)程。
下面將根據(jù)數(shù)據(jù)組織形式、數(shù)據(jù)庫(kù)狀態(tài)、備份粒度、備份內(nèi)容、以及備份的一致性和完整
性等差異,對(duì)備份進(jìn)行介紹。
1.2.6.1邏輯備份和物理備份
邏輯備份是指利用dexp導(dǎo)出工具,將指定對(duì)象(庫(kù)級(jí)、模式級(jí)、表級(jí))的數(shù)據(jù)導(dǎo)出到
文件的備份方式。邏輯備份針對(duì)的是數(shù)據(jù)內(nèi)容,并不關(guān)心這些數(shù)據(jù)物理存儲(chǔ)在什么位置。
物理備份則直接掃描數(shù)據(jù)庫(kù)文件,找出那些已經(jīng)分配、使用的數(shù)據(jù)頁(yè),拷貝并保存到備份
集中。物理備份過(guò)程中,不關(guān)心數(shù)據(jù)頁(yè)的具體內(nèi)容是什么,也不關(guān)心數(shù)據(jù)頁(yè)屬于哪一張表,只是簡(jiǎn)
單的根據(jù)數(shù)據(jù)庫(kù)文件系統(tǒng)的描述,來(lái)挑選有效的數(shù)據(jù)頁(yè)。
這兩種備份方式,分別適應(yīng)不同的應(yīng)用場(chǎng)景,本書重點(diǎn)介紹物理備份,關(guān)于邏輯備份更詳
細(xì)的說(shuō)明,可參考《DM8_dexp和dimp使用手冊(cè)》。
1.2.6.2聯(lián)機(jī)備份和脫機(jī)備份
數(shù)據(jù)庫(kù)處于運(yùn)行狀態(tài)、并正常提供數(shù)據(jù)庫(kù)服務(wù)情況下進(jìn)行的備份操作,我們稱為聯(lián)機(jī)備份。
數(shù)據(jù)庫(kù)處于關(guān)閉狀態(tài)時(shí)進(jìn)行的備份操作,被稱為脫機(jī)備份。
從V2.0版本開(kāi)始,使用DMRMAN工具進(jìn)行脫機(jī)備份,并且支持對(duì)異常關(guān)閉的數(shù)據(jù)庫(kù)進(jìn)
行脫機(jī)庫(kù)備份。備份異常關(guān)閉的數(shù)據(jù)庫(kù),要求配置了本地歸檔,如果本地歸檔不完整,則需要
先修復(fù)本地歸檔,再進(jìn)行備份。
聯(lián)機(jī)備份則使用客戶端工具連接到服務(wù)器實(shí)例后,通過(guò)執(zhí)行SQL語(yǔ)句進(jìn)行;也可以通
過(guò)配置作業(yè),定時(shí)完成自動(dòng)備份。聯(lián)機(jī)備份不影響數(shù)據(jù)庫(kù)正常提供服務(wù),是最常用的備份手段
之一。
聯(lián)機(jī)備份時(shí),可能存在一些處于活動(dòng)狀態(tài)的事務(wù)正在執(zhí)行,為確保備份數(shù)據(jù)的一致性,
需要將備份期間產(chǎn)生的REDO日志一起備份。因此,只能在配置本地歸檔、并開(kāi)啟本地歸檔的
數(shù)據(jù)庫(kù)上執(zhí)行聯(lián)機(jī)備份。
(只有已經(jīng)關(guān)閉的數(shù)據(jù)庫(kù)才允許執(zhí)行脫機(jī)備份。正在運(yùn)行的數(shù)據(jù)庫(kù),無(wú)法執(zhí)行
°注意:脫機(jī)備份,系統(tǒng)會(huì)報(bào)錯(cuò)。
9
備份與還原
1.2.6.3數(shù)據(jù)備份和歸檔日志備份
按照備份內(nèi)容不同,可以分為數(shù)據(jù)備份和歸檔日志備份。數(shù)據(jù)備份主要針對(duì)數(shù)據(jù)文件內(nèi)容,
包括庫(kù)備份、表空間備份和表備份。
庫(kù)備份,顧名思義就是對(duì)整個(gè)數(shù)據(jù)庫(kù)執(zhí)行的備份,又稱為庫(kù)級(jí)備份。庫(kù)備份會(huì)拷貝數(shù)據(jù)庫(kù)中
所有數(shù)據(jù)文件的有效數(shù)據(jù)頁(yè),如果是聯(lián)機(jī)備份,則還會(huì)拷貝備份過(guò)程中產(chǎn)生的歸檔日志,寫入到
備份集中。
表空間備份是針對(duì)特定表空間執(zhí)行的備份,又稱為表空間級(jí)備份。表空間備份只能在聯(lián)機(jī)
狀態(tài)下執(zhí)行。
表備份則拷貝指定表的所有數(shù)據(jù)頁(yè)到備份集中,并會(huì)記錄各個(gè)數(shù)據(jù)頁(yè)之間的邏輯關(guān)系用以
恢復(fù)。表備份只能在聯(lián)機(jī)狀態(tài)下執(zhí)行,一次表備份操作只能備份一張用戶表,并且不支持增量
表備份。
歸檔日志備份,是專門針對(duì)歸檔日志文件進(jìn)行操作,不涉及任何數(shù)據(jù)文件內(nèi)容。歸檔日志
備份掃描歸檔目錄收集歸檔日志文件,并將歸檔日志寫入到備份集中。既可以在數(shù)據(jù)庫(kù)運(yùn)行狀
態(tài)下,執(zhí)行聯(lián)機(jī)歸檔日志備份;也可以在數(shù)據(jù)庫(kù)關(guān)閉狀態(tài)下執(zhí)行脫機(jī)歸檔日志備份。
1.2.6.4一致性備份和非一致性備份
按照備份集中的數(shù)據(jù)是否滿足一致性,可以將備份劃分為一致性備份和非一致性備份。
一致性備份的備份集包含了完整的數(shù)據(jù)文件內(nèi)容和歸檔日志信息;利用一個(gè)單獨(dú)的備份
集可以將數(shù)據(jù)庫(kù)恢復(fù)到備份時(shí)狀態(tài)。不指定WITHOUTLOG選項(xiàng)的聯(lián)機(jī)備份生成的備份集
就是一致性備份。脫機(jī)數(shù)據(jù)庫(kù)備份會(huì)強(qiáng)制將檢查點(diǎn)之后的有效REDO日志拷貝到備份集中,
因此,脫機(jī)備份一定是一致性備份。數(shù)據(jù)庫(kù)正常關(guān)閉時(shí),會(huì)生成完全檢查點(diǎn),脫機(jī)備份生成的備
份集中,不包含任何REDO日志。
非一致性備份的備份集只包含數(shù)據(jù)文件相關(guān)內(nèi)容,沒(méi)有歸檔日志信息,利用非一致性備份
還原的數(shù)據(jù)庫(kù),無(wú)法直接啟動(dòng),必須借助歸檔日志來(lái)恢復(fù)。表空間備份、指定WITHOUTLOG選項(xiàng)
的聯(lián)機(jī)備份生成的備份集都是非一致性備份集。
10
備份與還原
1.2.6.5完全備份和增量備份
按照備份數(shù)據(jù)完整性,可將備份分為完全備份和增量備份。庫(kù)備份和表空間備份支持增量
備份,表備份不支持增量備份。
完全備份生成的備份集包含了指定庫(kù)(或者表空間)的全部有效數(shù)據(jù)頁(yè)。當(dāng)數(shù)據(jù)規(guī)模比
較大的情況下,生成的完全備份集通常會(huì)比較大,而且備份時(shí)間也會(huì)比較長(zhǎng)。
增量備份是在某個(gè)特定備份集基礎(chǔ)上,收集數(shù)據(jù)庫(kù)新修改的數(shù)據(jù)頁(yè)進(jìn)行備份,可以有效減
少備份集的空間占用、提高備份速度。這個(gè)特定的、已經(jīng)存在的備份集稱為增量備份的基備份,
根據(jù)對(duì)基備份的要求不同,DM的增量備份分為以下兩種:
1.差異增量備份
差異增量備份的基備份既可以是一個(gè)完全備份集,也可以是一個(gè)增量備份集。
利用增量備份進(jìn)行還原操作時(shí),要求其基備份必須是完整的;如果差異增量備份的基備份
本身也是一個(gè)增量備份,那么同樣要求其基備份是完整的:任何一個(gè)增量備份,最終都是以一
個(gè)完全備份作為其基備份。因此,完全備份是增量備份的基礎(chǔ)。
2.累積增量備份
累積增量備份的基備份只能是完全備份集,而不能是增量備份集。
增量備份時(shí),并不關(guān)心其基備份集是脫機(jī)備份生成的,還是聯(lián)機(jī)備份生成的,脫機(jī)增量備份
的基備份集可以是聯(lián)機(jī)備份生成的,聯(lián)機(jī)增量備份的基備份集也可以是脫機(jī)備份生成的。
1.2.7還原與恢復(fù)
還原是備份的逆過(guò)程,就是從備份集中讀取數(shù)據(jù)頁(yè),并將數(shù)據(jù)頁(yè)寫入到目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)數(shù)
據(jù)文件相應(yīng)位置的過(guò)程。
由于聯(lián)機(jī)備份時(shí),系統(tǒng)中可能存在一些處于活動(dòng)狀態(tài)的事務(wù)正在執(zhí)行,并不能保證備份集
中的所有數(shù)據(jù)頁(yè)是處于一致性狀態(tài);而脫機(jī)備份時(shí),數(shù)據(jù)頁(yè)不一定是正常關(guān)閉的,也不能保證
備份集中所有數(shù)據(jù)頁(yè)是處于一致性狀態(tài)。因此,還原結(jié)束后目標(biāo)庫(kù)有可能處于非一致性狀態(tài),
不能馬上提供數(shù)據(jù)庫(kù)服務(wù);必須要進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)操作后,才能正常啟動(dòng)。
與備份類似,下面將從數(shù)據(jù)組織形式、數(shù)據(jù)庫(kù)狀態(tài)、還原粒度、還原內(nèi)容等方面介紹還原
的相關(guān)內(nèi)容。
11
備份與還原
1.2.7.1邏輯還原和物理還原
邏輯還原是邏輯備份的逆過(guò)程,邏輯還原就是使用dimp工具,把dexp導(dǎo)出的備份數(shù)
據(jù)重新導(dǎo)入到目標(biāo)數(shù)據(jù)庫(kù).
物理還原是物理備份的逆過(guò)程,物理還原一般通過(guò)DMRMAN工具(或者SQL語(yǔ)句),把
備份集中的數(shù)據(jù)內(nèi)容(數(shù)據(jù)文件、數(shù)據(jù)頁(yè)、歸檔文件)重新拷貝、寫入目標(biāo)文件。
關(guān)于邏輯還原更詳細(xì)的說(shuō)明,可參考《DM8_dexp和dimp使用手冊(cè)》。本文檔主要介
紹物理備份、還原相關(guān)內(nèi)容。
1.2.7.2聯(lián)機(jī)還原和脫機(jī)還原
聯(lián)機(jī)還原指數(shù)據(jù)庫(kù)處于運(yùn)行狀態(tài)時(shí),通過(guò)SQL語(yǔ)句執(zhí)行還原操作。表空間還原和表還
原可以在聯(lián)機(jī)狀態(tài)下執(zhí)行,并且表空間還原要求目標(biāo)表空間不是ONLINE狀態(tài)。
脫機(jī)還原指數(shù)據(jù)庫(kù)處于關(guān)閉狀態(tài)時(shí)執(zhí)行的還原操作,脫機(jī)還原通過(guò)DMRMAN工具進(jìn)行。
庫(kù)備份、表空間備份和歸檔備份,可以執(zhí)行脫機(jī)還原。脫機(jī)還原操作的目標(biāo)庫(kù)必須處于關(guān)閉狀
態(tài)。
1.2.7.3數(shù)據(jù)還原和歸檔日志還原
根據(jù)備份集類型,數(shù)據(jù)還原可以分為庫(kù)還原、表空間還原和表還原。庫(kù)還原的目標(biāo)庫(kù)必須
處于關(guān)閉狀態(tài);表空間還原既可以脫機(jī)執(zhí)行也可以聯(lián)機(jī)執(zhí)行;表還原操作只能聯(lián)機(jī)執(zhí)行。
表空間還原的數(shù)據(jù)來(lái)源既可以是表空間備份集,也可以是庫(kù)備份集。還原的目標(biāo)表空間不
能是TEMP表空間,只能是MAIN、SYSTEM,ROLL表空間,或者用戶定義的表空間。
表還原從表備份集讀取數(shù)據(jù),重新恢復(fù)目標(biāo)表數(shù)據(jù),還會(huì)在目標(biāo)表上重建索引、約束。
歸檔日志還原則將歸檔日志備份集中的歸檔日志內(nèi)容,重新生成到指定目錄中。
1.2.7.4完全還原和增量還原
完全還原是指直接利用完全備份集進(jìn)行數(shù)據(jù)還原操作。增量還原指通過(guò)增量備份集進(jìn)行
數(shù)據(jù)還原操作。但是考慮到增量備份集的基礎(chǔ)一定是一個(gè)完全備份集,因此增量還原過(guò)程中隱含
了一個(gè)完全還原操作。如果增量備份集的基備份集被刪除了,那么單獨(dú)使用這個(gè)增量備
12
備份與還原
份集是無(wú)法進(jìn)行還原操作的。
1.3介質(zhì)管理層
DM通過(guò)介質(zhì)管理層MML,將備份、還原和恢復(fù)過(guò)程中備份片文件和元數(shù)據(jù)文件的讀取
寫入動(dòng)作進(jìn)行抽象、隔離,備份還原過(guò)程中MML層會(huì)調(diào)用一組SBT接口來(lái)訪問(wèn)備份存儲(chǔ)介
質(zhì)。SBT接口是DM定義的一組API函數(shù),允許第三方廠商定制、管理備份存儲(chǔ)介質(zhì);DM
系統(tǒng)自帶的備份還原功能也遵循了SBT規(guī)范。
如果備份、還原時(shí)指定DEVICETYPE為TAPE,且使用第三方提供的
dmsbtex.dll(dmsbtex.so)來(lái)完成備份文件的存取功能。DEVICETYPE指定TAPE
時(shí)還提供了PARMS關(guān)鍵字,用于傳遞第三方可識(shí)別的自定義字符串。使用第三方提供的動(dòng)
態(tài)庫(kù)時(shí),用戶層應(yīng)用不受影響。默認(rèn)DEVICETYPE為DISK,使用達(dá)夢(mèng)自帶SBT磁盤存儲(chǔ)。
1.4版本說(shuō)明
隨著需求的不斷增加、技術(shù)的不斷成熟,DM備份與還原前后發(fā)布了兩個(gè)版本:VI.0
和V2.0。因?yàn)椴煌姹静呗圆煌?,所以備份文件在各版本間不能混用。本書主要介紹V2.0的
原理、實(shí)現(xiàn)以及使用,需要使用VI.0的用戶請(qǐng)參考本書第四章。
1.4.1版本區(qū)別
■VI.0
備份還原VI.0指DM早期的備份還原,不是基于備份集組織的備份。VI.0版本使用
dmbackup工具執(zhí)行脫機(jī)備份,使用dmrestore工具執(zhí)行脫機(jī)還原。
■V2.0
引入備份片、元數(shù)據(jù)文件、備份集等概念,提供第三方備份(TAPE類型)接口,支持
DSC備份。使用DMRMAN工具進(jìn)行脫機(jī)備份還原。
V2.0的備份還原實(shí)現(xiàn)策略有兩種:dmap輔助進(jìn)程方式和無(wú)輔助進(jìn)程方式。用戶可通
過(guò)DM.INI參數(shù)bak_use_ap來(lái)園$(dmrman使用參數(shù)use_ap),bak_use_ap取值1>
2。默認(rèn)為1°
1:DMAP輔助進(jìn)程方式,可支持第三方備份(指定DEVICETYPE為TAPE)。DMAP
13
備份與還原
插件執(zhí)行,改造了備份還原任務(wù)子系統(tǒng),允許指定并行度,大幅提升了備份還原的效率,特別
是加密、壓縮的處理效率。如果選擇使用DMAP輔助進(jìn)程,執(zhí)行備份還原之前就必須啟動(dòng)
DMAP服務(wù)。安裝DM數(shù)據(jù)庫(kù)以后,DMAP服務(wù)會(huì)自動(dòng)啟動(dòng)。如果需要手動(dòng)啟動(dòng),有兩種途徑,
一是啟動(dòng)DM服務(wù)查看器中的DmAPServiceo二是通過(guò)手動(dòng)啟動(dòng)DMAP執(zhí)行碼實(shí)現(xiàn),DMAP
執(zhí)行碼位于DM安裝目錄的bin子目錄下。除此之外,LINUX下,還可以調(diào)用bin目錄下
的DmAPService腳本。
2:無(wú)輔助進(jìn)程方式,不依賴DMAP,由主進(jìn)程dmserver自身執(zhí)行備份還原,但不支
持第三方備份(指定DEVICETYPE為TAPE)。
DMAP的使用說(shuō)明,請(qǐng)參考《DM8SQL語(yǔ)言使用手冊(cè)》。
,DMSERVER和DMRMAN使用DMAP,都是通過(guò)管道通訊實(shí)現(xiàn)。其中DMRMAN
IJ明,
,產(chǎn)生的管道命名規(guī)則為:DM_P1PE_DMRMAN-PID_SEQ,其由PID為DMRMAN
實(shí)例進(jìn)程ID,SEQ為同一實(shí)例上管道的序號(hào)(從1開(kāi)始)。在WIN環(huán)境中,
垃圾管道文件會(huì)被自動(dòng)清理掉。在非WIN環(huán)境中,如果系統(tǒng)沒(méi)有正常退出,
就會(huì)遺留垃圾文件,需要用戶手動(dòng)刪除。刪除垃圾管道文件時(shí),需要根據(jù)PID
值來(lái)判斷,文件名中的ID不是當(dāng)前正在運(yùn)行的DMRMAN的進(jìn)程ID的即為垃
圾文件,都可以刪除。
1.4.2版本相關(guān)參數(shù)設(shè)置
用戶可通過(guò)設(shè)置DM的INI別BAK_POL工CY選擇O'策略。BAK_POLICY可取值0、
1或2,默認(rèn)為0,具體介紹如下:
/0:表示同時(shí)支持V1.0和V2.0版本
這里的同時(shí)支持表示用戶如果使用VI.0的語(yǔ)法或者工具,則DM服務(wù)器按照VI.0的
策略執(zhí)行;若用戶使用V2.0的語(yǔ)法或者工具,則DM服務(wù)器按照V2.0執(zhí)行。但是VI.0
與V2.0不能混用,若使用VI.0生成的備份不能使用V2.0進(jìn)行還原,也不能在VI.0的
基備份上使用V2.0進(jìn)行增量備份,反之亦然,這些操作都會(huì)報(bào)錯(cuò)。
/1:表示只支持vl.O版本
/2:表示只支持v2.0版本
14
備份與還原
2備份還原原理
本章介紹DMV2.0版本備份與還原的實(shí)現(xiàn)原理,讀者通過(guò)閱讀本章內(nèi)容,可以了解DM
V2.0備份、還原與恢復(fù)的實(shí)現(xiàn)原理。
2.1歸檔說(shuō)明
備份與恢復(fù)過(guò)程都依賴歸檔H志,歸檔日志是保證數(shù)據(jù)一致性和完整性的重要保障。配有
歸檔日志的數(shù)據(jù)庫(kù)系統(tǒng)在出現(xiàn)故障時(shí)丟失數(shù)據(jù)的可能性更小,這是因?yàn)橐坏┏霈F(xiàn)介質(zhì)故障如磁
盤損壞時(shí),利用歸檔日志,系統(tǒng)可被恢復(fù)至故障發(fā)生的前一刻,也可以還原到指定的時(shí)間點(diǎn)。
2.1.1本地歸檔
Redo日志本地歸檔(LOCAL),就是將Redo日志寫入到本地歸檔日志文件的過(guò)程。
配置本地歸檔情況下,Redo日志刷盤線程將Redo日志寫入聯(lián)機(jī)Redo日志文件后,對(duì)應(yīng)
的RLOG_BUF由專門的歸檔線程負(fù)責(zé)寫入本地歸檔日志文件中。
與聯(lián)機(jī)Redo日志文件可以被覆蓋重用不同,本地歸檔日志文件不能被覆蓋,寫入其中
的Redo日志信息會(huì)一直保留,直到用戶主動(dòng)刪除;如果配置了歸檔日志空間上限,系統(tǒng)會(huì)
自動(dòng)刪除最早生成的歸檔Redo日志文件,騰出空間。
DM提供了按指定的時(shí)間或指定的LSN刪除歸檔日志的系統(tǒng)函數(shù)
(SF_ARCHIVELOG_DELETE_BEFORE_TIME和
SF_ARCHIVELOG_DELETE_BEFORE_LSN),但用戶需要謹(jǐn)慎使用。例如,在守護(hù)系統(tǒng)中,
如果備庫(kù)故障了,主庫(kù)繼續(xù)服務(wù),主庫(kù)的日志在繼續(xù)增長(zhǎng)。此時(shí)如果刪除尚未同步到備庫(kù)的主庫(kù)
歸檔日志,那么等待備庫(kù)重啟之后,會(huì)由于備庫(kù)收到的日志缺失導(dǎo)致主備庫(kù)無(wú)法正常同步數(shù)據(jù)。
本地歸檔文件在配置的歸檔目錄下生成并保存,文件命名規(guī)則為:日志歸檔名一年月日
時(shí)分秒毫秒.log,如:ARCHIVE_LOCAL1_20181014153933458.log?如果磁盤空間不
足,且沒(méi)有配置歸檔日志空間上限(或者配置的上限超過(guò)實(shí)際空間),系統(tǒng)將自動(dòng)掛起,直
到用戶主動(dòng)釋放出足夠的空間后繼續(xù)運(yùn)行。
15
備份與還原
為了最大限度地保護(hù)數(shù)據(jù),當(dāng)磁盤空間不足導(dǎo)致歸檔寫入失敗時(shí),系統(tǒng)會(huì)掛
起等待,直到用戶釋放出足夠的磁盤空間。
---注意,
'當(dāng)磁盤損壞導(dǎo)致歸檔日志寫入失敗時(shí),系統(tǒng)會(huì)強(qiáng)制HALT。
2.1.2遠(yuǎn)程歸檔
所謂遠(yuǎn)程歸檔(REMOTEARCHIVE),顧名思義就是將寫入本地歸檔的REDO日志信息,
發(fā)送到遠(yuǎn)程節(jié)點(diǎn),并寫入遠(yuǎn)程節(jié)點(diǎn)的指定歸檔目錄中。DMDSC集群中各個(gè)節(jié)點(diǎn)在配置本地
歸檔之外,再相互配置一個(gè)遠(yuǎn)程歸檔,就可以在任意一個(gè)節(jié)點(diǎn)的本地磁盤中,找到DMDSC
集群所有節(jié)點(diǎn)產(chǎn)生的、完整的歸檔日志文件。遠(yuǎn)程歸檔的觸發(fā)時(shí)機(jī)是,在REDO日志寫入本
地歸檔日志文件的同時(shí),將REDO日志通過(guò)MAL系統(tǒng)發(fā)送給指定的數(shù)據(jù)庫(kù)實(shí)例。
遠(yuǎn)程歸檔與本地歸檔的主要區(qū)別是REDO日志寫入的位置不同,本地歸檔將REDO日志
寫入數(shù)據(jù)庫(kù)實(shí)例所在節(jié)點(diǎn)的磁盤,而遠(yuǎn)程歸檔則將REDO日志寫入到其他數(shù)據(jù)庫(kù)實(shí)例所在節(jié)
點(diǎn)的指定歸檔目錄。遠(yuǎn)程歸檔日志文件的命名規(guī)范和本地歸檔日志文件保持一致,都是以歸檔
名+歸檔文件的創(chuàng)建時(shí)間進(jìn)行組合命名。
遠(yuǎn)程歸檔與本地歸檔的另外一個(gè)區(qū)別就是歸檔失敗的處理策略不同:本地歸檔寫入失敗
(比如磁盤空間不足),系統(tǒng)將會(huì)掛起;而遠(yuǎn)程歸檔失敗則會(huì)直接將遠(yuǎn)程歸檔失效,不再發(fā)
送REDO日志到指定數(shù)據(jù)庫(kù)實(shí)例。當(dāng)節(jié)點(diǎn)間網(wǎng)絡(luò)恢復(fù)、或者遠(yuǎn)程節(jié)點(diǎn)重啟成功后,系統(tǒng)會(huì)自動(dòng)
檢測(cè)并恢復(fù)遠(yuǎn)程歸檔,繼續(xù)發(fā)送新寫入的REDO日志,但不會(huì)主動(dòng)補(bǔ)齊故障期間的REDO
日志。因此,在出現(xiàn)節(jié)點(diǎn)故障等情況下,遠(yuǎn)程歸檔的內(nèi)容有可能是不完整的,而本地歸檔的內(nèi)
容肯定是完整的;如果備份還原恰好需要用到這段丟失的遠(yuǎn)程歸檔日志,那么可以從源端的本
地歸檔拷貝、補(bǔ)齊這部分內(nèi)容。
?遠(yuǎn)程歸檔必須雙向配置,單向配置時(shí)目標(biāo)實(shí)例上不會(huì)接收歸檔日志,歸檔狀
,?注意:態(tài)將會(huì)變成無(wú)效狀態(tài)。
2.1.3歸檔切換
由于本地歸檔和遠(yuǎn)程歸檔是異步寫入歸檔日志文件的,REDO日志在寫入聯(lián)機(jī)日志文件后,
再由專門的歸檔線程負(fù)責(zé)將這些REDO日志寫入本地歸檔日志文件。通過(guò)歸檔切換功能,
16
備份與還原
可以將這些已經(jīng)寫入聯(lián)機(jī)日志文件,但還沒(méi)有寫入歸檔日志文件的REDO日志,寫入到歸檔
日志文件中。通過(guò)執(zhí)行以下SQL命令,可以完成歸檔切換功能。三條語(yǔ)句功能一樣,選擇
一條執(zhí)行即可。
alterdatabasearchivelogcurrent;
altersystemarchivelogcurrent;
altersystemswitchlogfile;
2.1.4歸檔修復(fù)
DM數(shù)據(jù)庫(kù)服務(wù)器正常退出時(shí),會(huì)將所有REDO日志寫入本地歸檔日志文件中;但是數(shù)
據(jù)庫(kù)服務(wù)器異常關(guān)閉時(shí),可能存在部分REDO日志未寫入本地歸檔日志文件中。歸檔修復(fù)會(huì)
掃描聯(lián)機(jī)日志文件,將那些已經(jīng)寫入聯(lián)機(jī)日志文件、但還沒(méi)有寫入到歸檔日志文件的REDO
日志,重新寫入到歸檔日志文件。
如果數(shù)據(jù)庫(kù)異常關(guān)閉后,并且沒(méi)有進(jìn)行歸檔修復(fù),則歸檔日志文件中的內(nèi)容比實(shí)際可恢復(fù)
的數(shù)據(jù)少一部分,將無(wú)法利用歸檔日志文件將數(shù)據(jù)恢復(fù)到最新?tīng)顟B(tài)。利用歸檔修復(fù)功能,將
歸檔日志文件內(nèi)容重新補(bǔ)齊后,利用本地歸檔日志恢復(fù)時(shí),就可以將數(shù)據(jù)庫(kù)恢復(fù)到故障時(shí)刻的
最新?tīng)顟B(tài)。
歸檔修復(fù)的流程包括:
1.收集本地歸檔日志文件;
2.截?cái)嘧詈笠粋€(gè)本地歸檔日志文件,并創(chuàng)建一個(gè)新的歸檔日志文件;
3.掃描聯(lián)機(jī)日志文件,將CKPT_LSN之后的REDO日志拷貝、寫入新創(chuàng)建的歸檔日
志文件。
2.2備份
任何一個(gè)對(duì)DM數(shù)據(jù)庫(kù)的操作,歸根結(jié)底都是對(duì)某個(gè)數(shù)據(jù)文件頁(yè)的讀寫操作。物理備份
就是把這些數(shù)據(jù)文件中的有效數(shù)據(jù)頁(yè)備份起來(lái),在出現(xiàn)故障時(shí),用于恢復(fù)數(shù)據(jù)。DM的物理
備份一般包括數(shù)據(jù)備份和日志備份兩部分,數(shù)據(jù)備份是拷貝數(shù)據(jù)頁(yè)內(nèi)容,日志備份則是拷貝備
份過(guò)程中產(chǎn)生的REDO日志。
17
備份與還原
增量備份結(jié)束
完全備份結(jié)束
CKPT_LSNSTART_LSNEND_LSN
圖2.1備份內(nèi)容
DM的聯(lián)機(jī)庫(kù)備份和表空間備份要求必須配置并開(kāi)啟本地歸檔,即在dm.ini中將
ARCH_INI置為1,在dmarch.ini中配置本地歸檔。
2.2.1數(shù)據(jù)備份
數(shù)據(jù)備份過(guò)程中,根據(jù)DM數(shù)據(jù)文件系統(tǒng)的描述信息,準(zhǔn)確判斷每一個(gè)數(shù)據(jù)頁(yè)是否被分
配、使用,將未使用的數(shù)據(jù)頁(yè)剔除,僅保留有效數(shù)據(jù)頁(yè)進(jìn)行備份,這個(gè)過(guò)程我們稱為智能抽取。
與直接文件拷貝方式相比,DM物理備份丟棄了那些沒(méi)有使用的數(shù)據(jù)頁(yè),因此可以節(jié)省對(duì)存
儲(chǔ)空間的要求,并有效減少工0數(shù)量,提升備份、還原的效率.
對(duì)處于RES_OFFLINE和CORRUPT狀態(tài)的表空間,則只記錄表空間相關(guān)信息和狀態(tài),
不會(huì)真正拷貝數(shù)據(jù)頁(yè)。數(shù)據(jù)備份過(guò)程中,會(huì)對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單校驗(yàn),如果校驗(yàn)失敗則會(huì)將相關(guān)信
息寫入到日志文件dm_BAKRES_xxx.log中,但不會(huì)終止當(dāng)前備份操作。
使用dminit建庫(kù)時(shí),通過(guò)設(shè)置,INI參數(shù)page_check,指定頁(yè)校驗(yàn)?zāi)J疆?dāng)
k——1說(shuō)明:指定值不為0時(shí),在執(zhí)行備份過(guò)程中會(huì)對(duì)數(shù)據(jù)頁(yè)執(zhí)行校驗(yàn)操作,校驗(yàn)結(jié)果會(huì)記
錄在備份集中,并在備份結(jié)束后給出警告信息,警告碼為609,告知用戶此備份集
中存在被破壞的數(shù)據(jù)頁(yè)。該警告只是提示作用,并不影響備份集的有效性。在還
原庫(kù)上,備份集中備份的被破壞數(shù)據(jù)頁(yè)在經(jīng)過(guò)還原和恢復(fù)操作后,可以正常使用。
dminit建庫(kù)時(shí),通過(guò)設(shè)置參數(shù)page_check,指定頁(yè)校驗(yàn)?zāi)J?,?dāng)指定值不為0時(shí),
在執(zhí)行備份過(guò)程中會(huì)對(duì)數(shù)據(jù)頁(yè)執(zhí)行校驗(yàn)操作,校驗(yàn)結(jié)果會(huì)記錄在備份集中,并在備份結(jié)束后
18
備份與還原
給出警告信息,警告碼為609,告知用戶此備份集中存在被破壞的數(shù)據(jù)頁(yè)。該警告只是提示
作用,并不影響備份集的有效性,備份集中備份的被破壞數(shù)據(jù)頁(yè)在經(jīng)過(guò)備份后的還原和恢復(fù)操
作后,可以正常使用。
■完全備份
執(zhí)行完全備份,備份程序會(huì)掃描數(shù)據(jù)文件,拷貝所有被分配、使用的數(shù)據(jù)頁(yè),寫入到備份
片文件中(如圖2.1中第二根橫軸所示)。庫(kù)備份會(huì)掃描整個(gè)數(shù)據(jù)庫(kù)的所有數(shù)據(jù)文件,表空
間備份則只掃描表空間內(nèi)的數(shù)據(jù)文件。
參照?qǐng)D1.2,若執(zhí)行庫(kù)備份,則備份數(shù)據(jù)文件包括除TEMP表空間以外的其他表空間內(nèi)
的所有數(shù)據(jù)文件;若執(zhí)行表空間備份,以用戶表空間TSDA為例,那么只會(huì)掃描TSDA表空
間的數(shù)據(jù)文件,包括tsda.dbf、tsda_.dbf和tsda_b.dbf(,數(shù)據(jù)文件備份結(jié)束后,
START_LSN之前修改的所有數(shù)據(jù)頁(yè)都被備份下來(lái)。
■增量備份
執(zhí)行增量備份,備份程序會(huì)掃描數(shù)據(jù)文件,拷貝所有基備份結(jié)束以后被修改的數(shù)據(jù)頁(yè),
寫入到備份片文件中。
為了簡(jiǎn)化增量備份的還原過(guò)程,避免還原過(guò)程中重做基備份集對(duì)應(yīng)的歸檔日志,DM要
求執(zhí)行增量備份時(shí),<=基備份END_LSN的所有數(shù)據(jù)頁(yè)已經(jīng)寫入磁盤。也就是說(shuō)增量備份會(huì)
拷貝LSN>基備份START_LSN的數(shù)據(jù)頁(yè)寫入備份片文件中(如圖2.1中第三根橫軸所示),
LSN<=基備份START_LSN的數(shù)據(jù)頁(yè)不需要寫入到備份片文件中。
同樣庫(kù)增量備份會(huì)掃描整個(gè)數(shù)據(jù)庫(kù)的所有數(shù)據(jù)文件,表空間增量備份只掃描表空間內(nèi)的數(shù)
據(jù)文件。
■表空間備份
表空間備份只拷貝指定表空間的數(shù)據(jù)頁(yè),因此,相對(duì)于數(shù)據(jù)庫(kù)備份而言,表空間備份的速
度會(huì)更快,生成的備份集會(huì)更小。對(duì)一些包含關(guān)鍵數(shù)據(jù)的用戶表空間,我們可以使用表空間備
份功能,進(jìn)一步保障數(shù)據(jù)安全。
表空間備份支持完全備份和增量備份,但只能在聯(lián)機(jī)狀態(tài)下執(zhí)行。不支持temp表空間
備份還原。
■表備份
19
備份與還原
表備份主要包括數(shù)據(jù)備份和元信息備份兩部分。與庫(kù)備份和表空間備份不同,表備份不是
直接掃描數(shù)據(jù)文件,而是從BUFFER中加載數(shù)據(jù)頁(yè),拷貝到備份片文件中。表備份的元信
息則包括建表語(yǔ)句、重建約束語(yǔ)句、重建索引語(yǔ)句,以及其他相關(guān)屬性信息。表備份不需要配
置歸檔就可以執(zhí)行,并且不支持增量表備份。
2.2.2日志備份
所謂日志備份,就是將備份過(guò)程中產(chǎn)生的REDO日志拷貝到備份片文件中,用來(lái)在數(shù)據(jù)
庫(kù)還原結(jié)束后,將數(shù)據(jù)庫(kù)恢復(fù)到一致性狀態(tài)。如圖2.1所示,在執(zhí)行備份過(guò)程中,用戶可
能修改數(shù)據(jù)庫(kù)中的數(shù)據(jù),并產(chǎn)生對(duì)應(yīng)的REDO日志。增量備份和完全備份的日志備份流程完
全相同。
在備份開(kāi)始時(shí),記錄一個(gè)START_LSN,在備份結(jié)束后記錄一個(gè)END_LSN,那么
[START_LSN,END_LSN]之間的REDO日志,就對(duì)應(yīng)備份過(guò)程中用戶對(duì)數(shù)據(jù)的修改。其
中START_LSN=CKPT_LSN+1,作為日志備份的起點(diǎn),END_LSN=數(shù)據(jù)備份結(jié)束時(shí)
的F1LE—LSN,作為日志備份的終點(diǎn)。
聯(lián)機(jī)庫(kù)備份默認(rèn)開(kāi)啟日志備份,將備份過(guò)程中產(chǎn)生的REDO日志單獨(dú)寫入備份片作為備
份集的一部分。也可以通過(guò)WITHOUTLOG子句取消這部分REDO日志的拷貝,這種情況下
生成的備份本身是不完整的,數(shù)據(jù)庫(kù)還原后,還要依賴備份庫(kù)的本地歸檔日志來(lái)進(jìn)行恢復(fù)操作
后,才能將數(shù)據(jù)恢復(fù)到一致性狀態(tài);否則,還原后的數(shù)據(jù)庫(kù)將無(wú)法正常啟動(dòng)。
還原后目標(biāo)庫(kù)中redo日志的數(shù)量,由目標(biāo)庫(kù)本身redo日志的數(shù)量決定。跟源庫(kù)中
redo日志的數(shù)量無(wú)關(guān)。例如,源庫(kù)中有3個(gè)redo日志,目標(biāo)庫(kù)中只有2個(gè),將源庫(kù)還原
到目標(biāo)庫(kù)后,目標(biāo)庫(kù)仍然只有2個(gè)redo日志。
2.2.3壓縮與加密
DM支持對(duì)備份數(shù)據(jù)進(jìn)行壓縮和加密處理,用戶在執(zhí)行備份時(shí),可以指定不同的壓縮級(jí)
別,以獲得不同的數(shù)據(jù)壓縮比。默認(rèn)情況下,備份是不進(jìn)行壓縮和加密處理的,詳細(xì)使用方法
參考3DM8備份與還原實(shí)戰(zhàn)中的相關(guān)介紹。
DM共支持9個(gè)級(jí)別(1~9級(jí))的壓縮處理,級(jí)別越高壓縮比越高,但相應(yīng)的壓縮速度
越慢、CPU開(kāi)銷越大。
備份加密包括加密密碼、加密類型和加密算法三個(gè)要素。加密密碼通過(guò)使用
20
備份與還原
IDENTIFIED
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 系統(tǒng)架構(gòu)設(shè)計(jì)師云技術(shù)應(yīng)用試題及答案
- 激光技術(shù)的多樣化發(fā)展考題試題及答案
- 系統(tǒng)規(guī)劃與管理師備考必讀書籍試題及答案
- 激光技術(shù)在量子計(jì)算中的前景考題試題及答案
- 行政類崗位筆試題及答案
- 系統(tǒng)規(guī)劃與管理師考試核心知識(shí)講解試題及答案
- 小城直播測(cè)試題及答案
- 科室輸液反應(yīng)試題及答案
- 育嬰師的職業(yè)道德標(biāo)準(zhǔn)與實(shí)踐考題試題及答案
- 激光技術(shù)工程師考試中常見(jiàn)題型解讀試題及答案
- 2024年鄭州商貿(mào)旅游職業(yè)學(xué)院高職單招職業(yè)技能測(cè)驗(yàn)歷年參考題庫(kù)(頻考版)含答案解析
- 高中化學(xué)選修二第二章《分子結(jié)構(gòu)與性質(zhì)》知識(shí)點(diǎn)復(fù)習(xí)
- 《新食品安全法培訓(xùn)》課件
- 易錯(cuò)點(diǎn)18 世界近現(xiàn)代史上的反殖民抗?fàn)?備戰(zhàn)2023年中考?xì)v史考試易錯(cuò)題(原卷版)
- 微通道內(nèi)納米流體傳熱流動(dòng)特性
- 初中計(jì)算機(jī)基礎(chǔ)知識(shí)
- 第一章 整式的乘除 單元測(cè)試(含答案) 2024-2025學(xué)年北師大版數(shù)學(xué)七年級(jí)下冊(cè)
- 上海市閔行區(qū)區(qū)管國(guó)企招聘筆試沖刺題2025
- 微陣列技術(shù)在腫瘤標(biāo)志物研究-洞察分析
- 2024至2030年中國(guó)氣力輸送系統(tǒng)行業(yè)投資前景及策略咨詢研究報(bào)告
- 《認(rèn)知主義》課件
評(píng)論
0/150
提交評(píng)論