“小核心大外圍”,國有大行生產系統數據庫是怎麼運維的?

DBA SQL 財經 IT168企業級 IT168企業級 2017-09-04

1912年經孫中山先生批准中國銀行正式成立,目前是大型國有商業銀行,同時也是國內四大行之一。8月30日中國銀行發佈半年報稱,上半年淨利潤1036.90億元,同比增長11.45%。

截止到6月末中國銀行為2萬多家集團客戶提供現金管理服務,形成數千億元結算存款,並且已覆蓋包括亞太、歐非、美洲等境外區域。境內外一體化的全面佈局,再加上業務的特殊性和時區的原因,中國銀行不得不提供7*24小時的“日不落”全球服務。

如此體量的中行對其數據庫的支撐提出了巨大的挑戰,國有大行生產系統的數據庫運維到底是怎麼做的呢?今日,在充滿文藝氛圍的北京77劇場舉辦的2017首屆Oracle·歡樂頌技術大會上,中國銀行數據中心數據庫運維團隊負責人張海濱為我們揭開了中行數據庫運維的神祕面紗。

中行數據庫運維現狀:兩地三中心、小核心大外圍

中國銀行的系統部署方式主要有以下幾種:全球一體、國內、海外邏輯集中、海外分區域,海內外的數據全部集中在數據中心。容災架構採取了“兩地三中心”,分別是黑山扈生產中心、海鷹同城災備中心和張江異地災備中心。

系統架構採取了“小核心大外圍”。“小核心”主要指的是主機,主機比較昂貴,跑的系統較少,大外圍是大部分系統是跑在在開放平臺上。總體數據量張海濱沒有透露,不過,他透露中行有一套庫的有效數據量達到了1個PB。

中行在數據庫的選擇上是比較多元化的,既有商用數據庫,也有開源數據庫,更令人驚喜的是,我們還看到了國產數據庫浪潮K-DB也在其中。

“小核心大外圍”,國有大行生產系統數據庫是怎麼運維的?

發生問題時,不僅要從數據庫本身去找,更要關注其運行環境

在發生問題時,很多DBA都會執著於只尋找數據庫的問題。張海濱認為DBA的視角不應該只孤立的看到數據庫,更要將目光集中在其運行保障環境。數據庫與其環境是一個不可分割的整體,很多問題脫離環境是無法解決的,張海濱和我們分享了中行在這方面踩過的坑。

基礎設施環境中,要有完善的保障體系,尤其要關注關聯、共享和瓶頸,張海濱主要和我們分享了7大示例:

  1. 虛擬化:其它系統使用了過多存儲資源,本庫受到影響;

  2. 監控工具:查詢v$類視圖時間過長,佔用temp表空間過多;

  3. OEM:查詢ASM的SQL不釋放,佔滿share pool;

  4. 帶庫備份:RMAN或DUMP備份帶來大量IO,影響到聯機;

  5. OGG:目標表被修改,導致同步關係中斷;

  6. 網絡帶寬:私網丟包或帶寬不足;

  7. 容災鏈路:不穩定導致寫IO緩慢;

應用既有相通點,也有不一樣的地方,所以在應用環境中格外要注意規範、特例和優化。應用環境的坑主要集中在分區表維護、統計信息維護以及讀寫分離這三個方面。

  • 分區表維護:DDL導致全局索引失效;聯機時段的DDL導致硬解析,出現會話擁堵RANGE模式分區,因缺少分區維護,導致最後一個分區數據量增大;分區數量過多,可能達到百萬級別。

  • 統計信息維護:缺少配合數據變化的收集策略,僅依靠數據庫自動收集策略;自動收集窗口不一定適合該應用系統;高峰時段統計信息收集帶來系統壓力;

  • 讀寫分離:實時交易要求讀寫分離;主庫提交升級後,立即要到備庫去查詢;ADG運行在最大性能模式(sync)。

DBA實苦,但請你一定堅持

說起DBA,可能大家第一個聯想到的詞彙是“kubility”,第二個就是“到處救火”。沒錯,DBA不是一個輕鬆活兒,但是我們可以通過改變我們的運維理念讓它變得不那麼kubility。

“小核心大外圍”,國有大行生產系統數據庫是怎麼運維的?

張海濱表示除了上述管理理念的改變,還要加強“三化”建設,即標準化、規範化和自動化。只有這三化建設好,DBA才有可能擺脫四處救火、疲於奔命的處境。最後,引用一句話與廣大DBA共勉:“DBA實苦,但請你一定堅持!”

相關推薦

推薦中...