達(dá)夢數(shù)據(jù)庫DM8數(shù)據(jù)守護(hù)與讀寫分離集群指南_第1頁
達(dá)夢數(shù)據(jù)庫DM8數(shù)據(jù)守護(hù)與讀寫分離集群指南_第2頁
達(dá)夢數(shù)據(jù)庫DM8數(shù)據(jù)守護(hù)與讀寫分離集群指南_第3頁
達(dá)夢數(shù)據(jù)庫DM8數(shù)據(jù)守護(hù)與讀寫分離集群指南_第4頁
達(dá)夢數(shù)據(jù)庫DM8數(shù)據(jù)守護(hù)與讀寫分離集群指南_第5頁
已閱讀5頁,還剩439頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、DM8 數(shù)據(jù)守護(hù)與讀寫分離集群IDM8 數(shù)據(jù)守護(hù)與讀寫分離集群 V3.0 PAGE * ROMAN II前言概述本文檔主要介紹 DM 數(shù)據(jù)守護(hù)的系統(tǒng)特性、基本概念、主要功能、各組成部件的詳細(xì)介紹,以及如何搭建數(shù)據(jù)守護(hù)環(huán)境并使用等。讀者對象本文檔主要適用于 DM 數(shù)據(jù)庫的:開發(fā)工程師測試工程師技術(shù)支持工程師數(shù)據(jù)庫管理員通用約定在本文檔中可能出現(xiàn)下列標(biāo)志,它們所代表的含義如下:表 0.1 標(biāo)志含義標(biāo)志說明表示可能導(dǎo)致系統(tǒng)損壞、數(shù)據(jù)丟失或不可預(yù)知的結(jié)果。表示可能導(dǎo)致性能降低、服務(wù)不可用??梢詭椭鉀Q某個(gè)問題或節(jié)省您的時(shí)間。表示正文的附加信息,是對正文的強(qiáng)調(diào)和補(bǔ)充。DM 數(shù)據(jù)守護(hù)與讀寫分離集群 V3

2、.0 PAGE * ROMAN III在本文檔中可能出現(xiàn)下列格式,它們所代表的含義如下:表 0.2 格式含義格式說明宋體表示正文。黑體標(biāo)題、警告、注意、小竅門、說明等內(nèi)容均采用黑體。Courier new表示代碼或者屏幕顯示內(nèi)容。粗體表示命令行中的關(guān)鍵字(命令中保持不變、必須照輸?shù)牟糠郑┗蛘哒闹袕?qiáng)調(diào)的內(nèi)容。語法符號(hào)中,表示一個(gè)語法對象。:=語法符號(hào)中,表示定義符,用來定義一個(gè)語法對象。定義符左邊為語法對象,右邊為相應(yīng)的語法描述。|語法符號(hào)中,表示或者符,限定的語法選項(xiàng)在實(shí)際語句中只能出現(xiàn)一個(gè)。 語法符號(hào)中,大括號(hào)內(nèi)的語法選項(xiàng)在實(shí)際的語句中可以出現(xiàn) 0N 次(N 為大于 0 的自然數(shù)),但是大

3、括號(hào)本身不能出現(xiàn)在語句中。 語法符號(hào)中,中括號(hào)內(nèi)的語法選項(xiàng)在實(shí)際的語句中可以出現(xiàn) 01 次,但是中括號(hào)本身不能出現(xiàn)在語句中。關(guān)鍵字關(guān)鍵字在 DM_SQL 語言中具有特殊意義,在 SQL 語法描述中,關(guān)鍵字以大寫形式出現(xiàn)。但在實(shí)際書寫 SQL 語句時(shí),關(guān)鍵字既可以大寫也可以小寫。DM 數(shù)據(jù)守護(hù)與讀寫分離集群 PAGE * ROMAN IX目錄 HYPERLINK l _bookmark0 引言1 HYPERLINK l _bookmark1 概述2 HYPERLINK l _bookmark2 系統(tǒng)特性4 HYPERLINK l _bookmark3 主要特性4 HYPERLINK l _boo

4、kmark4 主要改進(jìn)(V2. 0 版本)6 HYPERLINK l _bookmark5 主要改進(jìn)(V2. 1 版本)7 HYPERLINK l _bookmark6 兼容性說明(V2.1 版本)8 HYPERLINK l _bookmark7 主要改進(jìn)(V3. 0 版本)9 HYPERLINK l _bookmark8 兼容性說明(V3.0 版本)10 HYPERLINK l _bookmark9 基本概念10 HYPERLINK l _bookmark10 數(shù)據(jù)庫10 HYPERLINK l _bookmark11 DMDSC 狀態(tài)10 HYPERLINK l _bookmark12 數(shù)

5、據(jù)庫模式11 HYPERLINK l _bookmark13 數(shù)據(jù)庫狀態(tài)12 HYPERLINK l _bookmark14 LSN 介紹14 HYPERLINK l _bookmark15 Redo 日志15 HYPERLINK l _bookmark16 Redo 日志緩沖區(qū)16 HYPERLINK l _bookmark17 KEEP_BUF 介紹17 HYPERLINK l _bookmark18 聯(lián)機(jī)Redo 日志文件18 HYPERLINK l _bookmark19 歸檔介紹19 HYPERLINK l _bookmark20 MAL 系統(tǒng)24 HYPERLINK l _book

6、mark21 OGUID24 HYPERLINK l _bookmark22 守護(hù)進(jìn)程組24 HYPERLINK l _bookmark23 組分裂25 HYPERLINK l _bookmark24 2.2.15 腦裂25 HYPERLINK l _bookmark25 術(shù)語定義26 HYPERLINK l _bookmark26 實(shí)時(shí)主備27 HYPERLINK l _bookmark27 主要功能27 HYPERLINK l _bookmark28 歸檔流程28 HYPERLINK l _bookmark29 Huge 表日志29 HYPERLINK l _bookmark30 MPP

7、主備31 HYPERLINK l _bookmark31 功能擴(kuò)展32 HYPERLINK l _bookmark32 dmmpp.ctl 維護(hù)32 HYPERLINK l _bookmark33 讀寫分離集群34 HYPERLINK l _bookmark34 歸檔流程34 HYPERLINK l _bookmark35 實(shí)現(xiàn)原理36 HYPERLINK l _bookmark36 事務(wù)一致性37 HYPERLINK l _bookmark37 性能調(diào)整39 HYPERLINK l _bookmark38 實(shí)時(shí)歸檔的讀寫分離40 HYPERLINK l _bookmark39 異步備庫40

8、HYPERLINK l _bookmark40 DMDSC 數(shù)據(jù)守護(hù)41 HYPERLINK l _bookmark41 總體結(jié)構(gòu)42 HYPERLINK l _bookmark42 系統(tǒng)連接43 HYPERLINK l _bookmark43 歸檔配置44 HYPERLINK l _bookmark44 日志發(fā)送44 HYPERLINK l _bookmark45 重演實(shí)例44 HYPERLINK l _bookmark46 備庫日志重演45 HYPERLINK l _bookmark47 守護(hù)控制文件45 HYPERLINK l _bookmark48 遠(yuǎn)程歸檔修復(fù)45 HYPERLINK

9、 l _bookmark49 主備日志校驗(yàn)47 HYPERLINK l _bookmark50 備份還原流程48 HYPERLINK l _bookmark51 DMDSC 集群的管理規(guī)則49 HYPERLINK l _bookmark53 場景說明54 HYPERLINK l _bookmark55 守護(hù)進(jìn)程63 HYPERLINK l _bookmark56 主要功能63 HYPERLINK l _bookmark57 監(jiān)控?cái)?shù)據(jù)庫實(shí)例63 HYPERLINK l _bookmark58 發(fā)送狀態(tài)信息64 HYPERLINK l _bookmark59 監(jiān)控其他守護(hù)進(jìn)程64 HYPERLIN

10、K l _bookmark60 接收監(jiān)視器消息64 HYPERLINK l _bookmark61 主備庫啟動(dòng)運(yùn)行65 HYPERLINK l _bookmark62 備庫故障處理65 HYPERLINK l _bookmark63 備庫異常處理66 HYPERLINK l _bookmark64 主庫故障處理67 HYPERLINK l _bookmark65 故障恢復(fù)處理67 HYPERLINK l _bookmark66 守護(hù)類型71 HYPERLINK l _bookmark67 守護(hù)模式72 HYPERLINK l _bookmark68 守護(hù)狀態(tài)73 HYPERLINK l _bo

11、okmark69 控制文件75 HYPERLINK l _bookmark70 3.5.1 概述75 HYPERLINK l _bookmark71 3.5.2 作用76 HYPERLINK l _bookmark72 3.5.3 內(nèi)容76 HYPERLINK l _bookmark73 3.5.4 狀態(tài)78 HYPERLINK l _bookmark74 判斷備庫可加入規(guī)則78 HYPERLINK l _bookmark75 判斷故障主庫可加入規(guī)則79 HYPERLINK l _bookmark76 強(qiáng)制接管規(guī)則81 HYPERLINK l _bookmark77 守護(hù)進(jìn)程命令82 HYPE

12、RLINK l _bookmark78 監(jiān)視器85 HYPERLINK l _bookmark79 監(jiān)視器類型86 HYPERLINK l _bookmark80 狀態(tài)確認(rèn)86 HYPERLINK l _bookmark81 自動(dòng)接管87 HYPERLINK l _bookmark82 不同版本監(jiān)視器命令調(diào)整89 HYPERLINK l _bookmark83 監(jiān)視器命令89 HYPERLINK l _bookmark84 監(jiān)視器LOG 日志116 HYPERLINK l _bookmark85 配置文件說明117 HYPERLINK l _bookmark86 dm.ini117 HYPER

13、LINK l _bookmark87 dmmal.ini120 HYPERLINK l _bookmark88 dmarch.ini121 HYPERLINK l _bookmark89 dmwatcher.ini122 HYPERLINK l _bookmark90 dmwatcher.ctl125 HYPERLINK l _bookmark91 dmmonitor.ini126 HYPERLINK l _bookmark92 dmtimer.ini128 HYPERLINK l _bookmark93 端口配置關(guān)系說明130 HYPERLINK l _bookmark94 服務(wù)名配置133

14、 HYPERLINK l _bookmark95 數(shù)據(jù)守護(hù)使用說明135 HYPERLINK l _bookmark96 正常運(yùn)行狀態(tài)135 HYPERLINK l _bookmark97 數(shù)據(jù)守護(hù)的啟動(dòng)135 HYPERLINK l _bookmark98 強(qiáng)制Open 實(shí)例136 HYPERLINK l _bookmark99 關(guān)閉數(shù)據(jù)守護(hù)系統(tǒng)138 HYPERLINK l _bookmark100 主備庫切換139 HYPERLINK l _bookmark101 主庫故障、備庫接管141 HYPERLINK l _bookmark102 備庫強(qiáng)制接管142 HYPERLINK l _b

15、ookmark103 主庫故障重啟(備庫接管前重啟)143 HYPERLINK l _bookmark104 備庫故障處理143 HYPERLINK l _bookmark105 公共網(wǎng)絡(luò)故障145 HYPERLINK l _bookmark106 內(nèi)部網(wǎng)絡(luò)故障145 HYPERLINK l _bookmark107 備庫異常處理147 HYPERLINK l _bookmark108 故障庫數(shù)據(jù)同步147 HYPERLINK l _bookmark109 備庫重建147 HYPERLINK l _bookmark110 守護(hù)進(jìn)程組分裂150 HYPERLINK l _bookmark111

16、dmmpp.ctl 不一致150 HYPERLINK l _bookmark112 確認(rèn)監(jiān)視器未啟動(dòng)151 HYPERLINK l _bookmark113 備庫維護(hù)152 HYPERLINK l _bookmark114 滾動(dòng)升級(jí)153 HYPERLINK l _bookmark115 備庫文件損壞154 HYPERLINK l _bookmark116 實(shí)時(shí)/讀寫分離/MPP 備庫數(shù)據(jù)同步情況分析159 HYPERLINK l _bookmark117 異步備庫數(shù)據(jù)同步情況分析161 HYPERLINK l _bookmark118 6.23 MPP 主備版本升級(jí)(V2.0 升級(jí)為V2.1

17、/V3.0)162 HYPERLINK l _bookmark119 6.24 注意事項(xiàng)162 HYPERLINK l _bookmark120 數(shù)據(jù)守護(hù)搭建165 HYPERLINK l _bookmark121 數(shù)據(jù)準(zhǔn)備165 HYPERLINK l _bookmark122 數(shù)據(jù)文件拷貝165 HYPERLINK l _bookmark123 備份還原方式166 HYPERLINK l _bookmark124 檢查數(shù)據(jù)一致性167 HYPERLINK l _bookmark125 守護(hù)進(jìn)程控制文件167 HYPERLINK l _bookmark126 配置實(shí)時(shí)主備167 HYPERL

18、INK l _bookmark127 環(huán)境說明168 HYPERLINK l _bookmark128 數(shù)據(jù)準(zhǔn)備169 HYPERLINK l _bookmark129 配置主庫GRP1_RT_01169 HYPERLINK l _bookmark133 配置備庫GRP1_RT_02173 HYPERLINK l _bookmark135 配置監(jiān)視器176 HYPERLINK l _bookmark136 啟動(dòng)守護(hù)進(jìn)程177 HYPERLINK l _bookmark137 啟動(dòng)監(jiān)視器177 HYPERLINK l _bookmark138 配置讀寫分離集群177 HYPERLINK l _b

19、ookmark139 環(huán)境說明178 HYPERLINK l _bookmark140 數(shù)據(jù)準(zhǔn)備179 HYPERLINK l _bookmark141 配置主庫GRP1_RWW_01180 HYPERLINK l _bookmark142 配置備庫GRP1_RWW_02183 HYPERLINK l _bookmark143 配置備庫GRP1_RWW_03187 HYPERLINK l _bookmark144 配置監(jiān)視器191 HYPERLINK l _bookmark145 啟動(dòng)守護(hù)進(jìn)程192 HYPERLINK l _bookmark146 啟動(dòng)監(jiān)視器192 HYPERLINK l _

20、bookmark147 接口說明192 HYPERLINK l _bookmark148 配置MPP 主備195 HYPERLINK l _bookmark149 環(huán)境說明195 HYPERLINK l _bookmark150 數(shù)據(jù)準(zhǔn)備197 HYPERLINK l _bookmark151 配置主庫GRP1_MPP_EP01197 HYPERLINK l _bookmark153 配置主庫GRP2_MPP_EP02201 HYPERLINK l _bookmark154 配置備庫GRP1_MPP_EP11203 HYPERLINK l _bookmark155 配置備庫GRP2_MPP_E

21、P22206 HYPERLINK l _bookmark156 配置dmwatcher.ini208 HYPERLINK l _bookmark157 生成dmwatcher.ctl210 HYPERLINK l _bookmark158 配置監(jiān)視器210 HYPERLINK l _bookmark159 啟動(dòng)守護(hù)進(jìn)程211 HYPERLINK l _bookmark160 啟動(dòng)監(jiān)視器211 HYPERLINK l _bookmark161 配置異步備庫212 HYPERLINK l _bookmark162 環(huán)境說明212 HYPERLINK l _bookmark163 數(shù)據(jù)準(zhǔn)備213 H

22、YPERLINK l _bookmark164 配置主庫GRP1_RT_01213 HYPERLINK l _bookmark166 配置備庫GRP1_RT_02215 HYPERLINK l _bookmark167 配置異步備庫GRP1_LOCAL_01215 HYPERLINK l _bookmark168 配置監(jiān)視器217 HYPERLINK l _bookmark169 啟動(dòng)守護(hù)進(jìn)程218 HYPERLINK l _bookmark170 啟動(dòng)監(jiān)視器218 HYPERLINK l _bookmark171 注冊服務(wù)219 HYPERLINK l _bookmark172 動(dòng)態(tài)增加讀寫

23、分離集群節(jié)點(diǎn)219 HYPERLINK l _bookmark173 數(shù)據(jù)準(zhǔn)備219 HYPERLINK l _bookmark174 配置新備庫220 HYPERLINK l _bookmark175 動(dòng)態(tài)添加MAL 配置224 HYPERLINK l _bookmark176 動(dòng)態(tài)添加歸檔配置224 HYPERLINK l _bookmark177 修改監(jiān)視器dmmonitor.ini224 HYPERLINK l _bookmark178 啟動(dòng)所有守護(hù)進(jìn)程以及監(jiān)視器225 HYPERLINK l _bookmark179 配置DMDSC 主備環(huán)境225 HYPERLINK l _book

24、mark180 配置說明225 HYPERLINK l _bookmark181 環(huán)境說明225 HYPERLINK l _bookmark182 配置DMDSC 主庫環(huán)境227 HYPERLINK l _bookmark183 配置單節(jié)點(diǎn)備庫228 HYPERLINK l _bookmark184 配置dm.ini229 HYPERLINK l _bookmark185 配置dmmal.ini230 HYPERLINK l _bookmark186 配置dmarch.ini231 HYPERLINK l _bookmark187 配置dmwatcher.ini232 HYPERLINK l

25、_bookmark188 生成dmwatcher.ctl234 HYPERLINK l _bookmark189 拷貝dmwatcher.ctl234 HYPERLINK l _bookmark190 配置dmmonitor.ini234 HYPERLINK l _bookmark191 配置dmdcr.ini234 HYPERLINK l _bookmark192 啟動(dòng)主備庫236 HYPERLINK l _bookmark193 修改主備庫模式236 HYPERLINK l _bookmark194 設(shè)置OGUID236 HYPERLINK l _bookmark195 啟動(dòng)守護(hù)進(jìn)程236

26、 HYPERLINK l _bookmark196 啟動(dòng)監(jiān)視器237 HYPERLINK l _bookmark197 利用 DEM 工具搭建數(shù)據(jù)守護(hù)238 HYPERLINK l _bookmark198 實(shí)時(shí)主備管理238 HYPERLINK l _bookmark199 8.1.1 部署239 HYPERLINK l _bookmark200 8.1.2 監(jiān)控247 HYPERLINK l _bookmark201 9 附錄249 HYPERLINK l _bookmark202 系統(tǒng)視圖249 HYPERLINK l _bookmark204 監(jiān)視器接口260 HYPERLINK l

27、_bookmark205 DLL 依賴260 HYPERLINK l _bookmark206 返回值說明260 HYPERLINK l _bookmark207 9.2.3 接口調(diào)整說明(V3.0)261 HYPERLINK l _bookmark208 C 接口說明263 HYPERLINK l _bookmark209 JNI 接口說明343 HYPERLINK l _bookmark210 C 編程示例395 HYPERLINK l _bookmark211 Java 編程示例412 HYPERLINK l _bookmark212 錯(cuò)誤碼匯編416DM 數(shù)據(jù)守護(hù)與讀寫分離集群 V3.

28、0 PAGE 14引言DM 數(shù)據(jù)守護(hù)(Data Watch)是一種集成化的高可用、高性能數(shù)據(jù)庫解決方案,是數(shù)據(jù)庫異地容災(zāi)的首選方案。通過部署 DM 數(shù)據(jù)守護(hù),可以在硬件故障(如磁盤損壞)、自然災(zāi)害(地震、火災(zāi))等極端情況下,避免數(shù)據(jù)損壞、丟失,保障數(shù)據(jù)安全,并且可以快速恢復(fù)數(shù)據(jù)庫服務(wù),滿足用戶不間斷提供數(shù)據(jù)庫服務(wù)的要求。與常規(guī)的數(shù)據(jù)庫備份(Backup)、還原(Restore)技術(shù)相比,數(shù)據(jù)守護(hù)可以更快地恢復(fù)數(shù)據(jù)庫服務(wù)。隨著數(shù)據(jù)規(guī)模不斷增長,通過還原手段恢復(fù)數(shù)據(jù),往往需要數(shù)個(gè)小時(shí)、甚至更長時(shí)間,而數(shù)據(jù)守護(hù)基本不受數(shù)據(jù)規(guī)模的影響,只需數(shù)秒時(shí)間就可以將備庫切換為主庫對外提供數(shù)據(jù)庫服務(wù)。DM數(shù)據(jù)守護(hù)

29、提供多種解決方案,可以配置成實(shí)時(shí)主備、MPP主備、或讀寫分離集群,滿足用戶關(guān)于系統(tǒng)可用性、數(shù)據(jù)安全性、性能等方面的綜合需求,有效降低總體投入,獲得超值的投資回報(bào)。實(shí)時(shí)主備由一個(gè)主庫以及一個(gè)或者多個(gè)配置了實(shí)時(shí)(Realtime)歸檔的備庫組成,其主要目的是保障數(shù)據(jù)庫可用性,提高數(shù)據(jù)安全性。實(shí)時(shí)主備系統(tǒng)中,主庫提供完整的數(shù)據(jù)庫功能,備庫提供只讀服務(wù)。主庫修改數(shù)據(jù)產(chǎn)生的Redo日志,通過實(shí)時(shí)歸檔機(jī)制,在寫入聯(lián)機(jī)Redo日志文件之前發(fā)送到備庫,實(shí)時(shí)備庫通過重演Redo日志與主庫保持?jǐn)?shù)據(jù)同步。當(dāng)主庫出現(xiàn)故障時(shí),備庫在將所有Redo日志重演結(jié)束后,就可以切換為主庫對外提供數(shù)據(jù)庫服務(wù)。MPP主備就是在MPP

30、集群的基礎(chǔ)上,為每一個(gè)MPP節(jié)點(diǎn)配置一套實(shí)時(shí)主備系統(tǒng),這些實(shí)時(shí)主備系統(tǒng)一起構(gòu)成了MPP主備系統(tǒng)。我們將一個(gè)MPP節(jié)點(diǎn)對應(yīng)的主備系統(tǒng)稱為一個(gè)數(shù)據(jù)守護(hù)組(Group),MPP主備系統(tǒng)中各個(gè)數(shù)據(jù)守護(hù)組保持相對獨(dú)立,當(dāng)某個(gè)MPP主節(jié)點(diǎn)出現(xiàn)故障時(shí),在其對應(yīng)的數(shù)據(jù)守護(hù)組內(nèi)挑選一個(gè)備庫切換為主庫后,就可以確保整個(gè)MPP集群的正常使用。讀寫分離集群由一個(gè)主庫以及一個(gè)或者多個(gè)配置了即時(shí)(Timely)歸檔的備庫組成, 其主要目標(biāo)是在保障數(shù)據(jù)庫可用性基礎(chǔ)上,實(shí)現(xiàn)讀、寫操作的自動(dòng)分離,進(jìn)一步提升數(shù)據(jù)庫的業(yè)務(wù)支撐能力。讀寫分離集群通過即時(shí)歸檔機(jī)制保證主、備庫數(shù)據(jù)一致性,并配合達(dá)夢數(shù)據(jù)庫管理系統(tǒng)的各種接口(JDBC、D

31、PI等),將只讀操作自動(dòng)分流到備庫,有效降低主庫的負(fù)載,提升系統(tǒng)吞吐量。概述DM 數(shù)據(jù)守護(hù)(Data Watch)的實(shí)現(xiàn)原理非常簡單:將主庫(生產(chǎn)庫)產(chǎn)生的 Redo 日志傳輸?shù)絺鋷欤瑐鋷旖邮詹⒅匦聭?yīng)用 Redo 日志,從而實(shí)現(xiàn)備庫與主庫的數(shù)據(jù)同步。DM 數(shù)據(jù)守護(hù)的核心思想是監(jiān)控?cái)?shù)據(jù)庫狀態(tài),獲取主、備庫數(shù)據(jù)同步情況,為 Redo 日志傳輸與重演過程中出現(xiàn)的各種異常情況提供一系列的解決方案。DM 數(shù)據(jù)守護(hù)系統(tǒng)結(jié)構(gòu)參考圖 2.1。主要由主庫、備庫、Redo 日志、Redo 日志傳輸、Redo 日志重演、守護(hù)進(jìn)程(dmwatcher)、監(jiān)視器(dmmonitor)組成。圖 2.1 數(shù)據(jù)守護(hù)系統(tǒng)結(jié)構(gòu)圖

32、數(shù)據(jù)庫與數(shù)據(jù)庫實(shí)例數(shù)據(jù)庫(Database)是一個(gè)文件集合(包括數(shù)據(jù)文件、臨時(shí)文件、重做日志文件和控制文件),保存在物理磁盤或文件系統(tǒng)中。數(shù)據(jù)庫實(shí)例(Instance)就是一組操作系統(tǒng)進(jìn)程(或者是一個(gè)多線程的進(jìn)程)以及一些內(nèi)存。通過數(shù)據(jù)庫實(shí)例,可以操作數(shù)據(jù)庫,一般情況下,我們訪問、修改數(shù)據(jù)庫都是通過數(shù)據(jù)庫實(shí)例來完成的。本文檔將不再嚴(yán)格區(qū)分?jǐn)?shù)據(jù)庫和數(shù)據(jù)庫實(shí)例的概念,很多地方會(huì)籠統(tǒng)的以庫來代替??紤]到數(shù)據(jù)守護(hù)系統(tǒng)中,數(shù)據(jù)庫實(shí)例名是唯一的,為了更準(zhǔn)確的進(jìn)行描述,很多情況下我們會(huì)以實(shí)例 xxx 來標(biāo)記某一個(gè)主庫或者備庫。主庫Primary 模式,提供完整數(shù)據(jù)庫服務(wù)的實(shí)例,一般來說主庫是用來直接支撐應(yīng)用

33、系統(tǒng)的生產(chǎn)庫。備庫Standby 模式,提供只讀數(shù)據(jù)庫服務(wù)的實(shí)例。備庫除了用于容災(zāi),還可以提供備份、查詢等只讀功能,并且備庫還支持臨時(shí)表的 Insert/Delete/Update 操作。備庫支持臨時(shí)表修改主要基于兩個(gè)因素:1.臨時(shí)表數(shù)據(jù)的修改不會(huì)產(chǎn)生 Redo 日志, 主庫對臨時(shí)表的修改無法同步到備庫;2.可以提供更大靈活性,適應(yīng)更多應(yīng)用場景。根據(jù)數(shù)據(jù)同步情況,備庫又可以分為可切換備庫和不可切換備庫??汕袚Q備庫是指,主備庫之間數(shù)據(jù)完全同步,主庫發(fā)生故障、備庫切換為主庫后,不會(huì)造成任何數(shù)據(jù)丟失的備庫。Redo 日志Redo 日志記錄物理數(shù)據(jù)頁內(nèi)容變動(dòng)情況,是數(shù)據(jù)庫十分重要的一個(gè)功能,在數(shù)據(jù)庫系

34、統(tǒng)故障(比如服務(wù)器掉電)重啟時(shí),利用 Redo HYPERLINK /view/1704357.htm 日志可以把數(shù)據(jù)恢復(fù)到故障前的狀態(tài)。Redo 日志也是數(shù)據(jù)守護(hù)的實(shí)現(xiàn)基礎(chǔ),數(shù)據(jù)庫中 Insert、Delete、Update 等 DML 操作以及 Create TABLE 等 DDL 操作最終都會(huì)體現(xiàn)為對某一個(gè)或者多個(gè)物理數(shù)據(jù)頁的修改,因此備庫通過重做 Redo 日志可以與主庫數(shù)據(jù)保持一致。Redo 日志傳輸主備庫之間的 Redo 日志傳輸,以日志緩沖區(qū) RLOG_BUF 為單位,主庫通過 MAL 系統(tǒng)發(fā)送 Redo 日志到備庫。各種不同數(shù)據(jù)守護(hù)類型的區(qū)別,就在于主庫日志緩沖區(qū) RLOG_B

35、UF 的發(fā)送時(shí)機(jī),以及備庫收到 Redo 日志后的處理策略。Redo 日志重演Redo 日志重演的過程,就是備庫收到主庫發(fā)送的 Redo 日志后,在物理數(shù)據(jù)頁上,重新修改數(shù)據(jù)的過程。Redo 日志重演由專門的 Redo 日志重演服務(wù)完成,重演服務(wù)嚴(yán)格按照Redo 日志產(chǎn)生的先后順序,解析 Redo 日志、修改相應(yīng)的物理數(shù)據(jù)頁,并且重演過程中備庫會(huì)生成自身的 Redo 日志寫入聯(lián)機(jī)日志文件。守護(hù)進(jìn)程守護(hù)進(jìn)程(dmwatcher)是數(shù)據(jù)守護(hù)系統(tǒng)的核心工具,監(jiān)控?cái)?shù)據(jù)庫實(shí)例的運(yùn)行狀態(tài)和主備庫數(shù)據(jù)同步情況,在出現(xiàn)故障時(shí)啟動(dòng)各種處理預(yù)案。守護(hù)進(jìn)程是各種消息的中轉(zhuǎn)站,接收數(shù)據(jù)庫實(shí)例、其他守護(hù)進(jìn)程、以及監(jiān)視器

36、發(fā)送的各種消息;同時(shí),守護(hù)進(jìn)程也會(huì)將收到的數(shù)據(jù)庫實(shí)例消息轉(zhuǎn)發(fā)給其他守護(hù)進(jìn)程和監(jiān)視器。守護(hù)進(jìn)程必須和被守護(hù)的數(shù)據(jù)庫實(shí)例部署在同一臺(tái)機(jī)器上。監(jiān)視器監(jiān)視器(dmmonitor)用來監(jiān)控守護(hù)系統(tǒng)內(nèi)守護(hù)進(jìn)程、數(shù)據(jù)庫實(shí)例信息,執(zhí)行用戶輸入命令、監(jiān)控實(shí)例故障、實(shí)現(xiàn)自動(dòng)切換等。監(jiān)視器一般配置在數(shù)據(jù)庫實(shí)例和守護(hù)進(jìn)程以外的機(jī)器上。系統(tǒng)特性主要特性DM 數(shù)據(jù)守護(hù)的主要特性包括: 完整功能的主庫主庫提供完整的數(shù)據(jù)庫服務(wù),與普通單節(jié)點(diǎn)數(shù)據(jù)庫相比,主要的功能限制包括:不支持修改表空間文件名、不支持修改 arch_ini 參數(shù)?;顒?dòng)的備庫基于獨(dú)特的字典緩存技術(shù)和日志重演技術(shù),備庫在 Open 狀態(tài)下執(zhí)行數(shù)據(jù)同步,是真正意義

37、上的熱備庫;在實(shí)現(xiàn)異地容災(zāi)的同時(shí),用戶可以只讀訪問備庫,執(zhí)行報(bào)表生成、數(shù)據(jù)備份等功能,減輕主庫的系統(tǒng)負(fù)載,提高資源利用率。多重?cái)?shù)據(jù)保護(hù)每個(gè)備庫都是一個(gè)完整的數(shù)據(jù)庫備份,可以同時(shí)配置多個(gè)備庫,為數(shù)據(jù)安全提供全方位的保護(hù)。高可用性主庫出現(xiàn)故障時(shí),可以快速將備庫切換為主庫,繼續(xù)提供數(shù)據(jù)庫服務(wù),確保數(shù)據(jù)庫服務(wù)不中斷。切換過程一般在數(shù)秒鐘之內(nèi)完成。多種守護(hù)模式提供自動(dòng)切換和手動(dòng)切換兩種守護(hù)模式,滿足用戶不同需求。其中,配置自動(dòng)切換的前提是已經(jīng)部署確認(rèn)監(jiān)視器。在提供第三方機(jī)器部署確認(rèn)監(jiān)視器情況下,可以配置為故障自動(dòng)切換模式,主庫出現(xiàn)故障時(shí),系統(tǒng)自動(dòng)將備庫切換為主庫對外提供數(shù)據(jù)庫服務(wù)。多種守護(hù)類型守護(hù)進(jìn)程可

38、以配置為全局守護(hù)(提供實(shí)時(shí)主備、MPP 主備、讀寫分離集群功能)或者本地守護(hù),適應(yīng)各種應(yīng)用需求。故障自動(dòng)重連配置、使用連接服務(wù)名訪問數(shù)據(jù)庫,在發(fā)生主備庫切換后,接口會(huì)自動(dòng)將連接遷移到新的主庫上。故障庫自動(dòng)重加入主庫故障,發(fā)生主備庫切換。故障主庫重啟后,可以自動(dòng)切換為 Standby 模式,作為備庫重新加入數(shù)據(jù)守護(hù)系統(tǒng)。歷史數(shù)據(jù)自動(dòng)同步故障備庫恢復(fù)后,可以自動(dòng)同步歷史數(shù)據(jù),無需用戶干預(yù),并在同步完成以后,自動(dòng)恢復(fù)為可切換備庫。自動(dòng)負(fù)載均衡配置讀寫分離集群,可以將只讀操作分流到備庫上執(zhí)行,減輕主庫訪問壓力,提高數(shù)據(jù)庫系統(tǒng)的吞吐量。讀寫分離的過程由 JDBC 等接口配合服務(wù)器自動(dòng)完成,無需用戶干預(yù),

39、也不需要修改應(yīng)用程序。滾動(dòng)升級(jí)可以在不中斷數(shù)據(jù)庫服務(wù)的情況下,滾動(dòng)地對數(shù)據(jù)守護(hù)系統(tǒng)中的主備庫進(jìn)行數(shù)據(jù)庫軟件版本升級(jí)。靈活的搭建方式可以在不中斷數(shù)據(jù)庫服務(wù)的情況下,將單節(jié)點(diǎn)數(shù)據(jù)庫升級(jí)為主備系統(tǒng)。DM 提供多種工具來完成數(shù)據(jù)守護(hù)搭建,如 SHELL 腳本或 DEM 工具,均能方便地完成數(shù)據(jù)守護(hù)搭建。完備的監(jiān)控工具通過命令行監(jiān)控工具 dmmonitor、DEM 工具可以實(shí)時(shí)更新、監(jiān)控主備庫的狀態(tài)和數(shù)據(jù)同步情況。完善的監(jiān)控接口提供完善的數(shù)據(jù)守護(hù)監(jiān)控接口,可以定制監(jiān)控項(xiàng),并方便地集成到應(yīng)用系統(tǒng)中。豐富的守護(hù)命令提供主備庫切換、強(qiáng)制接管等功能,通過簡單的命令,就可以實(shí)現(xiàn)主備庫角色互換、故障接管等功能。支持

40、 DMDSC 守護(hù)支持 DMDSC 和 DMDSC、DMDSC 和單節(jié)點(diǎn)、單節(jié)點(diǎn)和 DMDSC 之間互為主備的數(shù)據(jù)守護(hù)環(huán)境。DM 的單節(jié)點(diǎn)和主庫提供讀未提交(Read Uncommitted)、讀提交(ReadCommitted) 和串行化( Seriablizable) 三種事務(wù)隔離級(jí),可重復(fù)讀(Repeatable Read)升級(jí)為更嚴(yán)格的串行化事務(wù)隔離級(jí)。但是,備庫只支持讀提交(Read Committed)事務(wù)隔離級(jí)別:不能訪問所有未提交事務(wù)的修改可以訪問所有已提交事務(wù)的修改主要改進(jìn)(V2.0 版本)與 DM 數(shù)據(jù)守護(hù) V1.0 版本相比,DM 數(shù)據(jù)守護(hù) V2.0 版本的主要改進(jìn)包括:

41、檢測并處理組分裂檢測并處理組分裂場景,是 DM 數(shù)據(jù)守護(hù) V2.0 的一個(gè)重大改進(jìn)。在 V1.0 版本中,主備庫之間的數(shù)據(jù)一致性完全由用戶保證,備庫強(qiáng)制接管后,沒有辦法檢查重新恢復(fù)的主庫是否可以作為備庫重新加入主備系統(tǒng)。V2.0 版本引入控制文件 dmwatcher.ctl,將備庫接管時(shí)的相關(guān)信息記錄在守護(hù)進(jìn)程控制文件 dmwatcher.ctl 中,故障主庫恢復(fù)后,根據(jù)dmwatcher.ctl 控制文件中信息來判斷是否滿足故障重加入條件。支持 TCP 協(xié)議,取消 UDP 協(xié)議數(shù)據(jù)庫實(shí)例與守護(hù)進(jìn)程、守護(hù)進(jìn)程與守護(hù)進(jìn)程、以及守護(hù)進(jìn)程與監(jiān)視器之間的信息傳遞, 都是基于 TCP 協(xié)議完成的。相比于

42、采用 UDP 協(xié)議的 DM 數(shù)據(jù)守護(hù)系統(tǒng) V1.0 版本,使用 TCP 協(xié)議的 V2.0 版本,具有以下優(yōu)勢:支持跨網(wǎng)段部署數(shù)據(jù)守護(hù)系統(tǒng),降低部署的硬件要求;支持在一臺(tái)物理機(jī)器上搭建數(shù)據(jù)守護(hù)系統(tǒng),方便測試環(huán)境搭建;更加簡化、統(tǒng)一的配置文件和配置參數(shù)。實(shí)時(shí)主備/MPP 主備/讀寫分離集群均支持故障自動(dòng)切換數(shù)據(jù)守護(hù)系統(tǒng)配置為自動(dòng)切換模式,主庫故障時(shí),備庫可以自動(dòng)切換為主庫,這個(gè)過程叫作故障自動(dòng)切換。在 V1.0 版本中,只有實(shí)時(shí)主備支持故障自動(dòng)切換,在 V2.0 版本中, MPP 主備和讀寫分離集群也支持故障自動(dòng)切換。可配置、可中斷的備庫恢復(fù)流程缺省情況下,備庫故障重啟后,系統(tǒng)會(huì)自動(dòng)進(jìn)行檢測、并啟

43、動(dòng)恢復(fù)流程(同步歷史數(shù)據(jù))。某些情況下,用戶可能需要對備庫進(jìn)行一些系統(tǒng)維護(hù),并不希望備庫啟動(dòng)后馬上進(jìn)行數(shù)據(jù)同步。V2.0 版本提供了備庫維護(hù)功能,可以通過監(jiān)視器命令將備庫恢復(fù)功能暫時(shí)屏蔽。當(dāng)備庫長時(shí)間中斷后恢復(fù),主備庫之間數(shù)據(jù)差異很大情況下,同步歷史數(shù)據(jù)可能需要很長一段時(shí)間。在這個(gè)過程中,如果出現(xiàn)新的故障場景需要處理,或者在監(jiān)視器上執(zhí)行其他命令,則允許中斷當(dāng)前的恢復(fù)流程,待故障處理(用戶命令)執(zhí)行完成后,再次啟動(dòng)恢復(fù)流程。5.完善異步備庫配置異步備庫一般用于歷史數(shù)據(jù)統(tǒng)計(jì)、周期報(bào)表等對數(shù)據(jù)實(shí)時(shí)性要求不高的業(yè)務(wù)場合。異步歸檔時(shí)機(jī)一般選擇在源庫相對空閑的時(shí)候,以避免影響源庫的性能。V1.0 版本只支

44、持在主庫上配置異步備庫,而 V2.0 版本則可以在主庫或備庫上配置各自的異步備庫,提供了更大的靈活性,可以適應(yīng)更廣泛的應(yīng)用場景。任意場景支持強(qiáng)制接管,避免繁瑣的手工 SQL 干預(yù)實(shí)時(shí)主備/MPP 主備/讀寫分離三種類型全部實(shí)現(xiàn)了強(qiáng)制接管命令。在 V1.0 版本中,實(shí)時(shí)守護(hù)沒有監(jiān)視器命令,需要手工執(zhí)行一系列 SQL 語句完成強(qiáng)制接管,比較繁瑣;讀寫分離集群和 MPP 主備提供了強(qiáng)制接管命令,但使用場景受限,比如待接管備庫處于 MOUNT 狀態(tài)的情況下,無法通過強(qiáng)制接管命令將備庫切換為主庫。并且強(qiáng)制接管后,用戶無法判斷主備庫數(shù)據(jù)是否一致,存在較大的數(shù)據(jù)安全隱患。在 V2.0 版本中,實(shí)時(shí)主備/MP

45、P 主備/讀寫分離集群都支持強(qiáng)制接管命令,并且根據(jù)守護(hù)進(jìn)程控制文件信息,可以判斷強(qiáng)制接管后,是否產(chǎn)生組分裂,主備庫數(shù)據(jù)是否可以恢復(fù)到一致狀態(tài)。配置參數(shù)調(diào)整,風(fēng)格統(tǒng)一、步驟簡化。提供多種搭建數(shù)據(jù)守護(hù)的自動(dòng)化工具在 V1.0 版本中,實(shí)時(shí)主備、MPP 主備和讀寫分離集群,各自有一套配置參數(shù)。在 V2.0 版本中,將三類守護(hù)系統(tǒng)統(tǒng)一為一套配置參數(shù),并且簡化掉一部分配置,大大提高了數(shù)據(jù)守護(hù)系統(tǒng)的搭建效率。在 V2.0 版本中,除了支持手動(dòng)搭建數(shù)據(jù)守護(hù)系統(tǒng), DM 還提供多種自動(dòng)化工具來完成數(shù)據(jù)守護(hù)搭建過程,如 SHELL 腳本、DEM 工具均能簡便靈活地完成數(shù)據(jù)守護(hù)系統(tǒng)的搭建。主要改進(jìn)(V2.1 版本

46、)DM 數(shù)據(jù)守護(hù) V2.1 版本在 V2.0 的基礎(chǔ)上,主要改進(jìn)包括:統(tǒng)一 MARCH 和 REALTIME 歸檔實(shí)現(xiàn)邏輯取消 MARCH 歸檔類型,保留 REALTIME 實(shí)時(shí)歸檔類型,MPP 主備和實(shí)時(shí)主備統(tǒng)一配置REALTIME 歸檔。實(shí)時(shí)主備功能擴(kuò)展擴(kuò)展實(shí)時(shí)主備的備庫數(shù)量,允許最多配置 8 個(gè)實(shí)時(shí)備庫(V2.0 只支持配置一個(gè)實(shí)時(shí)備庫);實(shí)時(shí)主備增加 HUGE 表數(shù)據(jù)同步支持。優(yōu)化 Redo 日志重演性能采用全新的預(yù)解析、預(yù)加載技術(shù),大幅優(yōu)化備庫 Redo 日志重演性能,解決了高并發(fā)、高壓力情況下,備庫 Redo 日志堆積問題。提高了極端情況下集群的整體性能,縮短了極端情況下的故障切換

47、時(shí)間。讀寫分離集群在事務(wù)一致性模式下,主庫需要等待備庫 Redo 日志重演完成再響應(yīng)用戶,優(yōu)化以后有效降低了主庫延遲,提升了讀寫分離集群系統(tǒng)的吞吐量。對備庫進(jìn)行實(shí)時(shí)的異常監(jiān)控和異常恢復(fù)主庫守護(hù)進(jìn)程可以實(shí)時(shí)監(jiān)控主備之間的數(shù)據(jù)同步和備庫的日志重演情況,一旦出現(xiàn)網(wǎng)絡(luò)異?;騻鋷熳陨碥浻布惓#ū热鐐鋷齑疟P讀寫速度異常降低)等原因造成備庫無法及時(shí)響應(yīng)主庫的情況時(shí),主庫守護(hù)進(jìn)程可通知主庫將此備庫歸檔失效,暫停到此備庫的數(shù)據(jù)同步, 避免拖慢主庫性能。主庫會(huì)根據(jù)配置的恢復(fù)間隔定時(shí)向異常備庫同步數(shù)據(jù),如果檢測到歸檔發(fā)送速度和備庫的重演速度恢復(fù)正常,則將其歸檔重新恢復(fù)有效,恢復(fù)正常的數(shù)據(jù)同步。簡化、統(tǒng)一守護(hù)進(jìn)程配

48、置參數(shù)取消 dmwatcher.ini 中的 MARCH/REALTIME/TIMELY 類型配置,數(shù)據(jù)守護(hù)類型由服務(wù)器的類型(比如:是否 MPP 集群)、以及其配置的歸檔類型來決定。守護(hù)進(jìn)程可以配置為 GLOBAL、LOCAL 兩種類型,表示是否需要進(jìn)行全局信息同步、以及是否參與集群管理。兼容性說明(V2.1 版本)升級(jí)到 V2.1 版本后,數(shù)據(jù)守護(hù)可以繼續(xù)使用 V2.0 的配置文件,不需要任何修改。守護(hù)進(jìn)程 dmwatcher 可以讀寫、并正確解析 V2.0 版本的 dmwatcher.ini 配置文件。但V2.0 版本無法解析 V2.1 版本的配置文件。數(shù)據(jù)庫服務(wù)器 dmserver 可

49、以正確解析以前版本的歸檔配置,自動(dòng)將 MARCH 歸檔轉(zhuǎn)換成 REALTIME 歸檔進(jìn)行處理。但是,V2.1 版本與 V2.0 版本的 MPP 主備配置存在一定差異,從 V2.0 升級(jí)到 V2.1版本后,需要修改備庫的 dm.ini 配置文件,將 MPP_INI 配置項(xiàng)設(shè)置為 1,并從主庫拷貝MPP 控制文件 dmmpp.ctl 保存到 ctl_path 目錄。否則,數(shù)據(jù)守護(hù)升級(jí)到 V2.1 版本后, MPP 主備系統(tǒng)將無法正常運(yùn)行。主要改進(jìn)(V3.0 版本)DM 數(shù)據(jù)守護(hù) V3.0 版本在 V2.1 的基礎(chǔ)上,主要改進(jìn)包括:支持?jǐn)?shù)據(jù)共享集群的守護(hù)系統(tǒng)支持?jǐn)?shù)據(jù)共享集群(DMDSC)的守護(hù)系統(tǒng),

50、DMDSC(主)和 DMDSC(備)、DMDSC(主) 和單節(jié)點(diǎn)(備)、單節(jié)點(diǎn)(主)和 DMDSC(備)之間都可以組成互為主備的數(shù)據(jù)守護(hù)系統(tǒng)。DMDSC 集群守護(hù)增加 REMOTE 遠(yuǎn)程歸檔用于 DMDSC 庫的恢復(fù)以及主備庫的異步恢復(fù),發(fā)送日志時(shí)能夠直接在本地訪問到其他節(jié)點(diǎn)的歸檔日志。完善日志校驗(yàn)方式主備庫日志連續(xù)性校驗(yàn)方式,單節(jié)點(diǎn)日志的 LSN 值是連續(xù)遞增的,日志 LSN 值都是唯一的(PWR 日志除外),如果把 DMDSC 集群作為一個(gè)整體看待,日志的 LSN 值也是連續(xù)遞增的,但各個(gè)節(jié)點(diǎn)日志的 LSN 可能存在重復(fù),每個(gè)節(jié)點(diǎn)的日志 LSN 是遞增的但不一定是連續(xù)的。因此,DMDSC

51、主備庫之間的日志校驗(yàn)更加復(fù)雜,新版本結(jié)合物理日志進(jìn)行校驗(yàn)。引入適用于 DMDSC 主庫的重演 APPLY_LSN 機(jī)制如果主庫是 DMDSC 集群,則需要發(fā)送所有節(jié)點(diǎn)的日志到備庫的重演節(jié)點(diǎn)進(jìn)行重演(如果備庫是 DMDSC 集群,則重演節(jié)點(diǎn)是指備庫的主節(jié)點(diǎn)),在主備庫需要同步歷史數(shù)據(jù)時(shí)(比如備庫故障重啟),主庫需要知道自己的每個(gè)節(jié)點(diǎn)在備庫上的重演情況,以決定每個(gè)節(jié)點(diǎn)分別從哪里開始同步數(shù)據(jù)。備庫記錄 DMDSC 主庫各個(gè)節(jié)點(diǎn)日志重做情況的 LSN,稱為APPLY_LSN。主庫是單節(jié)點(diǎn)時(shí),備庫的 APPLY_LSN 等同于 CUR_LSN。守護(hù)進(jìn)程以庫為單位管理 DMDSC 集群守護(hù)進(jìn)程以庫為單位進(jìn)

52、行管理,對 DMDSC 集群是指包含有多個(gè)節(jié)點(diǎn)的庫,對單節(jié)點(diǎn)則是只有一個(gè)節(jié)點(diǎn)的庫,并新增若干狀態(tài)進(jìn)行 DMDSC 集群的管理。守護(hù)進(jìn)程可以處理 DMDSC 主庫或備庫的重加入控制文件 dmwatcher.ctl 改造,結(jié)合備庫的重演 LSN 概念,將之前的 SLSN 字段變成重演 APPLY_LSN 數(shù)組,同時(shí)調(diào)整判斷主備庫是否可加入的邏輯。監(jiān)視器支持對 DMDSC 集群的監(jiān)控和管理監(jiān)視器調(diào)整及擴(kuò)展一批命令及接口,以適應(yīng) DMDSC 集群的監(jiān)控及管理。兼容性說明(V3.0 版本)從 V2.0 或者 V2.1 升級(jí)到 V3.0 版本后,如果守護(hù)系統(tǒng)中不擴(kuò)展新增 DMDSC 庫,仍然是只包含單節(jié)點(diǎn)

53、的數(shù)據(jù)守護(hù)環(huán)境, 則可以繼續(xù)使用原來的配置文件,不需要任何修改。守護(hù)進(jìn)程可以正確讀寫 dmwatcher.ctl 文件及其配置文件,數(shù)據(jù)庫服務(wù)器和監(jiān)視器也都可以正確讀取版本升級(jí)前的配置文件,但是 V2.0 或 V2.1 無法正確解析 V3.0 的配置文件。升級(jí)成 V3.0 版本后,為保持格式兼容,守護(hù)進(jìn)程仍然是按照老的版本格式讀寫 dmwatcher.ctl 文件的,如果在升級(jí)后的守護(hù)系統(tǒng)中要擴(kuò)展新增 DMDSC 庫,則要按照 V3.0 版本的配置要求重新修改相關(guān)的 ini 配置文件,并且要重新生成新版本的dmwatcher.ctl 文件。另外如果是從 V2.0 直接升級(jí)到 V3.0,在 MP

54、P 主備的配置上存在一定差異,從 V2.0 升級(jí)到 V3.0 版本后,需要修改備庫的 dm.ini 配置文件,將 MPP_INI 配置項(xiàng)設(shè)置為 1, 并從主庫拷貝 MPP 控制文件 dmmpp.ctl 保存到 ctl_path 目錄。否則,數(shù)據(jù)守護(hù)升級(jí)到V3.0 版本后,MPP 主備系統(tǒng)將無法正常運(yùn)行?;靖拍钤诮榻B數(shù)據(jù)守護(hù)主要功能之前,我們先熟悉幾個(gè)基本概念,只有充分理解這些概念,才能更加深入地理解數(shù)據(jù)守護(hù)。數(shù)據(jù)庫數(shù)據(jù)守護(hù)以庫為單位進(jìn)行管理,一個(gè) DMDSC 集群的所有實(shí)例作為一個(gè)整體庫來考慮。DMDSC 集群的庫信息,例如庫的狀態(tài)、模式等需要綜合考慮集群內(nèi)所有實(shí)例,同時(shí)需要結(jié)合 DMDSC

55、 本身的狀態(tài)。DMDSC 狀態(tài)DMDSC 狀態(tài)標(biāo)識(shí) DMDSC 集群節(jié)點(diǎn)狀態(tài),和數(shù)據(jù)庫的狀態(tài)不同。包括以下幾種:Startup節(jié)點(diǎn)啟動(dòng)狀態(tài),需要通過 DMCSS 工具交互,確定主從節(jié)點(diǎn),執(zhí)行日志重做等相關(guān)步驟,進(jìn)入到 OPEN 狀態(tài)。Open實(shí)例正常工作狀態(tài),當(dāng)集群內(nèi)發(fā)生節(jié)點(diǎn)故障或啟動(dòng)節(jié)點(diǎn)重加入步驟時(shí),可以進(jìn)入 crash_recv 或者 err_ep_add 狀態(tài),處理完成后會(huì)再回到 Open 狀態(tài)。Crash_recv節(jié)點(diǎn)故障處理狀態(tài)。Err_ep_add故障節(jié)點(diǎn)重加入狀態(tài)。數(shù)據(jù)庫模式DM 支持 3 種數(shù)據(jù)庫模式:Normal 模式、Primary 模式和 Standby 模式。Norma

56、l 模式提供正常的數(shù)據(jù)庫服務(wù),操作沒有限制。正常生成本地歸檔,但不發(fā)送實(shí)時(shí)歸檔(Realtime)、即時(shí)歸檔(Timely)和異步歸檔(Async)。Primary 模式提供正常的數(shù)據(jù)庫服務(wù),操作有極少限制。該模式下部分功能受限,包括:不支持修改表空間文件名、不支持修改 arch_ini 參數(shù)。正常生成本地歸檔,支持實(shí)時(shí)歸檔(Realtime)、即時(shí)歸檔(Timely)和異步歸檔(Async)。Primary 模式下,對臨時(shí)表空間以外的所有的數(shù)據(jù)庫對象的修改操作都強(qiáng)制生成 Redo 日志。Standby 模式可以執(zhí)行數(shù)據(jù)庫備份、查詢等只讀數(shù)據(jù)庫操作。正常生成本地歸檔,正常發(fā)送異步歸檔Redo

57、日志;但實(shí)時(shí)歸檔(Realtime)、即時(shí)歸檔(Timely)均強(qiáng)制失效。該模式下時(shí)間觸發(fā)器、事件觸發(fā)器等都失效??梢酝ㄟ^ SQL 語句切換數(shù)據(jù)庫模式,模式切換必須在 Mount 狀態(tài)下執(zhí)行。切換模式SQL 語句如下:alter database primary;將數(shù)據(jù)庫切換為 Primary 模式:將數(shù)據(jù)庫切換為 Standby 模式:alter database standby;alter database normal;將數(shù)據(jù)庫切換為 Normal 模式:修改 DMDSC 庫的模式必須在 DMDSC 庫所有實(shí)例都處于 MOUNT 狀態(tài)下才能進(jìn)行,只需要在一個(gè)節(jié)點(diǎn)上執(zhí)行以上語句即可。數(shù)據(jù)庫

58、狀態(tài)DM 的數(shù)據(jù)庫狀態(tài)包括:Startup 狀態(tài)系統(tǒng)剛啟動(dòng)時(shí)設(shè)置為 Startup 狀態(tài)。After Redo 狀態(tài)系統(tǒng)啟動(dòng)過程中聯(lián)機(jī)日志重做完成后,回滾活動(dòng)事務(wù)前設(shè)置為 After Redo 狀態(tài)。非Standby 模式的實(shí)例在執(zhí)行 alter database open 操作前,也會(huì)將系統(tǒng)設(shè)置為 After Redo 狀態(tài)。Open 狀態(tài)數(shù)據(jù)庫處于正常提供服務(wù)的狀態(tài),但不能進(jìn)行歸檔配置等操作。Mount 狀態(tài)數(shù)據(jù)庫在 Mount 狀態(tài)下,限制 Redo 日志刷盤,不能修改數(shù)據(jù),不能訪問表、視圖等數(shù)據(jù)庫對象,但可以執(zhí)行修改歸檔配置、控制文件和修改數(shù)據(jù)庫模式等操作,也可以執(zhí)行一些不修改數(shù)據(jù)庫內(nèi)

59、容的操作,比如查詢動(dòng)態(tài)視圖或者一些只讀的系統(tǒng)過程。系統(tǒng)從 Open 狀態(tài)切換為 Mount 狀態(tài)時(shí),需要回滾所有活動(dòng)事務(wù),但不會(huì)斷開用戶連接,也不會(huì)強(qiáng)制 Buffer 中的臟頁刷盤。Suspend 狀態(tài)數(shù)據(jù)庫在 Suspend 狀態(tài)下,限制 Redo 日志刷盤,可以訪問數(shù)據(jù)庫對象,甚至可以修改數(shù)據(jù),但是一旦執(zhí)行 COMMIT 等操作觸發(fā) Redo 日志寫盤時(shí),當(dāng)前操作將被掛起。相比 Open 到 Mount 的狀態(tài)切換,Open 到 Suspend 的狀態(tài)切換更加簡單、高效,不會(huì)回滾任何活動(dòng)事務(wù),在狀態(tài)切換完成后,所有事務(wù)可以繼續(xù)執(zhí)行。一般在修改歸檔狀態(tài)之前將系統(tǒng)切換為 Suspend 狀態(tài),

60、比如備庫故障恢復(fù)后,在歷史數(shù)據(jù)(歸檔日志)同步完成后,需要重新啟用實(shí)時(shí)歸檔功能時(shí):將系統(tǒng)切換為 Suspend 狀態(tài),限制 Redo 日志寫入聯(lián)機(jī) Redo 日志文件。修改歸檔狀態(tài)為 Valid。DM 數(shù)據(jù)守護(hù)與讀寫分離集群 V3.0重新將數(shù)據(jù)庫切換為 Open 狀態(tài),恢復(fù) Redo 日志寫入功能。備庫與主庫重新進(jìn)入實(shí)時(shí)同步狀態(tài)。另外,實(shí)時(shí)歸檔失敗時(shí)(比如網(wǎng)絡(luò)故障導(dǎo)致),Primary 實(shí)例將試圖切換成 Suspend狀態(tài),防止后續(xù)的日志寫入。因?yàn)橐坏懭?,主備切換時(shí),有可能備庫沒有收到最后那次的RLOG_BUF,導(dǎo)致主庫上多一段日志,很容易造成主備數(shù)據(jù)不一致。當(dāng)實(shí)例成功切換為SUSPEND

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論