[ 收藏 ] [ 繁体中文 ]  
臺灣貨到付款、ATM、超商、信用卡PAYPAL付款,4-7個工作日送達,999元臺幣免運費   在線留言 商品價格為新臺幣 
首頁 電影 連續劇 音樂 圖書 女裝 男裝 童裝 內衣 百貨家居 包包 女鞋 男鞋 童鞋 計算機周邊

商品搜索

 类 别:
 关键字:
    

商品分类

  • 新类目

     管理
     投资理财
     经济
     社会科学
  • Oracle DBA手記 4,數據安全警示錄(修訂版)(博文視點出品)
    該商品所屬分類:圖書 -> 電子工業出版社
    【市場價】
    948-1376
    【優惠價】
    593-860
    【作者】 蓋國強 
    【所屬類別】 電子工業出版社 
    【出版社】電子工業出版社 
    【ISBN】9787121362750
    【折扣說明】一次購物滿999元台幣免運費+贈品
    一次購物滿2000元台幣95折+免運費+贈品
    一次購物滿3000元台幣92折+免運費+贈品
    一次購物滿4000元台幣88折+免運費+贈品
    【本期贈品】①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
    版本正版全新電子版PDF檔
    您已选择: 正版全新
    溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。
    *. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。
    *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。
    *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。
    內容介紹



    出版社:電子工業出版社
    ISBN:9787121362750
    版次:1

    商品編碼:12653090
    品牌:電子工業出版社
    包裝:平裝

    開本:16開
    出版時間:2019-07-01
    用紙:膠版紙

    頁數:532
    字數:800000
    正文語種:中文

    作者:蓋國強

        
        
    "

    編輯推薦

    適讀人群 :本書即適合企業自動化和智能化運維的管理者參考,也適合深入學習數據庫技術的讀者學習探索。

    雲數據庫時代的技能升級

    超復雜數據庫環境案例精粹

    走向自動化、智能化的數據服務

    安全+連續+高效+智能的解決方案實踐


    內容簡介

    《Oracle DBA手記 4,數據安全警示錄(修訂版)》源於眾多實踐案例的總結,我們將大量的數據安全事件、數據庫安全漏洞、Oracle數據庫災難恢復案例融合於一體,進行了詳細的闡述和分析,並總結形成了指導企業規範運維、強化管理、規避災難的指導原則。

    《Oracle DBA手記 4,數據安全警示錄(修訂版)》通過概括總結形成的數據庫運維原則,希望能夠給企業運維管理者以警示,通過提前預防措施和規範化管理避免遭遇到書中描述的種種情形;此外,本書還通過復雜的Oracle數據庫災難恢復案例,深入闡述了數據庫運行和工作的內部原理,希望能為讀者的深入技術探索提供幫助。

    《Oracle DBA手記 4,數據安全警示錄(修訂版)》既適合企業自動化和智能化運維的管理者參考,也適合深入學習數據庫技術的讀者學習探索。


    作者簡介

    蓋國強

    雲和恩墨創始人,Oracle ACE總監。

    蓋國強先生是中國地區首位Oracle ACE和ACE總監,曾獲評"中國首屆傑出數據庫工程師"獎,擁有近20年的數據行業咨詢和實踐經驗,著有《深入解析Oracle》、《循序漸進Oracle》等技術書籍。蓋國強先生於2011年發起創立雲和恩墨公司,致力於以『數據驅動,成就未來』為使命,為企業和用戶提供卓越的數據產品和服務。


    目錄

    第1章 知己知彼 忘戰必危 1
    1.1危機四伏,數據注定洩露 1
    1.2從羅維鄧白氏案例看數據道德 4
    1.3數據庫管理員出售新生兒信息 6
    1.4美國上千萬信用卡信息疑遭盜取 7
    1.5數據外洩主要來自內部 8
    1.6GDPR帶來的數據安全思考 9
    1.7數據庫的漏洞都會重來 12
    1.8那些運維中的疏忽導致的數據風險 16
    1.9參考資料 18
    第2章 運籌帷幄 三十六計 20
    2.1有效的備份重於一切 21
    2.2測試環境和生產環境隔離 24
    2.3禁止遠程的和業務時間的DDL操作 26
    2.4ORACLE數據庫DEVOPS的三十六計 37
    2.5參考資料 40
    第3章 合抱之木 生於毫末 41
    3.1ORACLE數據庫軟件發布序列 42
    3.2DB LINK必須升級的預警 48
    3.3SQL語句注入和CVE-2017-10282警告 71
    3.4JAVA VM的反序列化 86
    3.5從一次UPDATE的優化講起 94
    3.6一個邏輯壞塊引發的災難 104
    3.7參考資料 106
    第4章 靡不有初 鮮克有終 107
    4.1以空間之由――恢復誤刪數據文件案例 109
    4.2以拯救之因――強制恢復導致ORA-600 4000錯誤的案例 133
    4.3以優化之名――存儲優化導致表空間誤刪案例 152
    4.4以安全之期 159
    4.5以便利之機 175
    第5章 未雨綢繆 防患未然 180
    5.1 DBA四大守則 182
    5.2 DBA守則外四則 183
    5.3 各種慘痛的案例 187
    5.4 參考資料 210
    第6章 亡羊補牢 未為遲也 212
    6.1 數據篡改案例解析 213
    6.2 密碼安全與加密 244
    6.3 分析與恢復被篡改的敏感數據 266
    6.4 參考資料 271
    第7章 明察秋毫 見微知著 272
    7.1 一次小踫撞引發的災難――ASM保護式文件離線引發故障 273
    7.2 又一次小踫撞引發的災難――文件離線與歸檔日志缺失 的案例 281
    7.3 空間與文件離線――離線表空間修復 303
    7.4 對寫文件錯誤的處置改進 331
    第8章 心存目想 三思後行 339
    8.1TRUNCATE導致的災難――核心字典表誤操作TRUNCATE 340
    8.2腳本錯誤導致的災難――數據庫整體被刪除故障 353
    第9章 千丈之堤 潰於蟻穴 363
    9.1 一個字符引發的災難――大小寫字符疏忽導致的維護故障 364
    9.2一個盤符引發的災難――判斷失誤導致的誤格式化故障 385
    9.3一個BEGIN引發的災難 389
    9.4一個空格引發的事故 404
    9.5一個壞塊引發的災難 406
    9.6一個標志位的影響 422
    9.7一個磁盤添加引發的故障――通過AMDU恢復數據的 案例一則 431
    第10章 物盡其用 尺有所短 439
    10.1關庫與關機――強制關機導致的寫丟失故障 441
    10.2從小恙到災難――重建控制文件失誤導致的故障 470
    10.3尺有所短,物有不足――硬件故障導致的災難一則 480
    10.4 由性能問題而追溯的磁盤故障 483
    10.5靜默錯誤引起的數據災難 488
    10.6 ORACLE的寫丟失檢測特性 496
    10.7 ORACLE 12.2的寫丟失檢測增強 503
    10.8 參考資料 507
    附錄A:BBED的說明 509
    附錄B:函數F_GET_FROM_DUMP: 512
    數據驅動,成就未來 517

    查看全部↓

    精彩書摘

    在數據庫領域工作了十幾年,我發現國內技術人員往往一直在充當救火員的角色,企業常常也認為隻有能夠力挽狂瀾、起死回生的技術人員,纔是好的技術人員。而實際上,能夠不犯錯誤、少犯錯誤、提前預防、規避災難的技術人員纔是企業技術環境的最有力保障,能夠未雨綢繆、防患於未然纔是更好的技術實踐。

    我們每年都幫助很多企業挽救數據、拯救危機,本書寫作的契機正是因為2011年12月30日和31日,連續兩個整天,我們連續挽救了幾個用戶的數據庫災難,這些災難發生的原因之簡單,讓人不可思議,在邁入2012年這個神秘年份的一刻,深深觸動了我,我想,如果將這些案例描述出來,就可能幫助一些用戶警醒借鋻,避免再陷入這樣的困境。而從別人的挫折中學習、借鋻,進而在自我的環境中未雨綢繆,防患於未然,是每個數據庫管理人員和企業數據環境管理者應該具備的素質。

    寫作這本書還和2011年底眾多席卷而來的密碼洩露事件有關,當我注視著最常用的幾個密碼都在互聯網上被公開時,除了手忙腳亂地在各大網站修改密碼,剩下的就是深深的遺憾。幾乎所有從事IT行業的人,都深知安全的重要性,可是在實際執行中,大家又往往習慣性失明,忽視了自己本應能夠達到的力所能及之安全,很多專業人士就以這樣或者那樣的僥幸心理忽略了風險的存在,並一步一步走向安全危機。

    對於數據庫安全來說,通常我們認為缺乏的並非是技術手段,更多的是缺乏規範和安全認知,如果用戶都能夠嚴格遵循安全守則並應用現有的安全技術手段,數據庫的安全性就能夠大幅增強,我們的安全事故率也會大大降低。

    所以我決定動筆,寫下自己多年來所遭遇到的安全案例以及對於數據安全的思考,如果本書中的內容能夠幫助一些企業規避錯誤,保全數據,挽救一些技術人員的時間,那麼我將感到無比欣喜,於我們的生命中,最為寶貴的就是時間,寸金難買寸光陰。

    [信息安全]

    在傳統的信息安全領域,存在三個基本的安全要素,分別是保密性(Confidentiality)、完整性(Integrity)和可用性(Availability),縮寫為CIA。

    這三個要素的基本定義如下:

    保密性:指信息在存儲、使用和傳輸過程中的保密性,要確保信息在這些環節中不會洩露給非授權方。

    完整性:指信息在存儲、使用和傳輸過程中不會被非授權用戶篡改、變更,同時需要防止授權用戶對繫統及信息進行非授權篡改,保持信息在整個過程中的內外一致性。

    可用性:信息繫統因其服務使命,必須在用戶需要時,可以被正常訪問,授權用戶或實體對信息繫統的正常使用不應被異常拒絕或中斷,應當允許其可靠、及時地訪問和獲取信息及資源。高可用繫統要求所有時間可用,要確保繫統不因電源故障、硬件故障和繫統升級等因素影響服務的可用性。

    信息安全的三要素是對安全的概括和提煉,不同機構和組織,因為需求不同,對CIA的側重也會有所不同,隨著信息安全的發展,CIA經過細化和補充,增加了許多新的內容,包括可追溯性(Accountability)、抗抵賴性(Non-repudiation)、真實性(Authenticity)、可控性(Controllable)等。與C組相反的一個概念是D組,即洩露(Disclosure)、篡改(Alteration)和破壞(Destruction),實際上DAD就是信息安全面臨的最普遍的三類風險,是信息安全實踐活動最終應該解決的問題。

    從CIA理念出發,我們通過對信息安全範疇所有相關主題精煉整理得到了一個標準化的知識體繫,被稱為公共知識體繫——CBK(Common Body of Knowledge),CBK包括10個知識範疇(Domain),對安全進行了全面的概括,具有極強的指導意義,這10個範疇分別為:訪問控制,電信、網絡和互聯網安全,風險管理和業務連續性計劃,策略、標準和組織,計算機架構和繫統安全,法制、合規、調查和遵從,應用程序安全,密碼學,操作安全,物理環境安全。

    [數據安全]

    信息安全的核心是數據安全。

    在數據安全的範疇內,也包含信息安全的諸多方面,根據多年的服務經驗與思考,我們將安全劃分為五大方面,分別是:軟件安全、備份安全、訪問安全、防護安全和管理安全。

    這五大方面是信息安全在數據領域的引申和映射,在企業數據安全中,這五大方面相輔相成、互有交叉、共同存在,下圖是一張關於安全的思維導圖,本書中的案例涉及了這五大方面。

    在這五大安全方向中,可能出現兩種性質的安全問題,第一,由於內部管理不善而導致的數據安全問題;第二,由於外部惡意攻擊入侵所帶來的安全安問題。通常我們把安全問題狹義化為後者,這實際上是片面的,在數據安全問題上,前者造成數據損失、數據損毀的概率和影響度都遠遠超過後者。

    下面我們對數據安全的五大方面做一下簡要的分析和探討:

    1.軟件安全是指數據庫和應用軟件產品、版本是否穩定安全;廠商所能提供的補丁集和BUG修正是否及時、基礎硬件與操作繫統是否經過認證。很多用戶在部署數據庫軟件時,僅僅選擇了最容易獲得的初始發布版本(如Oracle Database 11.2.0.1或者Oracle Database 12.0.1.0等),遺漏了可能已經存在的補丁修正,並且在運行維護中並不能夠及時跟蹤軟件更新,也無法獲得BUG信息、補丁修正和安全告警,這就使得軟件本身的很多風險隱患得不到修正。除了數據庫基礎軟件,如果應用軟件中存在漏洞或者後門,被惡意或未授權利用,用戶的數據也無法獲得安全保障。如果軟件安全無法保證,數據庫安全的基礎也就喪失了。

    2.備份安全是指用戶數據能否得到及時有效的備份保全,能否在故障災難之後獲得及時的恢復和挽救。在數據庫運行期,最為重要的就是備份安全,如果沒有可靠的備份,將數據集中起來就隻能等待數據災難,所以我們將備份安全提升到核心地位,備份以及隨之衍生的備份加密、容災安全、高可用、數據脫敏等,都是企業整體數據架構應該考慮的因素。很多企業在數據災難發生之後因為缺乏有效備份而一蹶不振,根據Gartner 2007年發布的一份調查報告顯示,在經歷了數據完全丟失而導致繫統停運的企業中,有2/5再也沒能恢復運營,餘下的企業也有1/3在兩年內宣告破產,由此可見,由於備份安全問題導致的企業傷害可能遠遠大於黑客攻擊。

    3.訪問安全是指用戶數據庫的訪問來源和訪問方式是否安全可控。通常數據庫繫統處於IT繫統的核心位置,其安全架構涉及主機、繫統、存儲、網絡等諸多方面,如果沒有明確的訪問控制,缺乏足夠的訪問分析與管理,那麼數據庫的安全將是混亂和無法控制的。在應用軟件使用和訪問數據庫時,要正確設置權限,控制可靠的訪問來源,保證數據庫的訪問安全,唯有保證訪問安全纔能夠確保數據不被越權使用、不被誤操作所損害,通常最基本的訪問安全要實現程序控制、網絡隔離、來源約束等。

    4.安全防護是指通過主動的安全手段對數據庫通信、傳輸等進行增強、監控、防護、屏蔽或阻斷,諸如數據加密、審計、數據防火牆等技術都在這一範疇之內。我們必須認識到,在IT技術高度發展的今天,風險是無處不在、層出不窮的,我們從未思考過的安全問題可能每天都在不斷發生,所以在數據庫環境中采取主動式防護,可以幫助我們監控分析和屏蔽很多未知風險,已經有很多成熟的產品和技術可以用於安全防範。

    5.管理安全是指在企業數據的日常管理維護範疇內,能否充分保證數據安全以及服務的高可用連續提供。諸如DBA的維護、文件的管理、參數或數據結構的變更等都可能引入數據風險,管理安全要求我們通過規範、制度以及技術手段去確保維護管理安全;另外,基於硬件、電力等基礎平臺的故障都可能影響數據庫服務的高可用性,在管理中要通過監控手段及時預警,通過集群、備庫等切換與服務保障服務的連續性。

    這就是數據安全的五大方面。

    [Oracle數據庫安全]

    Oracle數據庫自1977年開始,就一直將安全置於首位,從強大的數據恢復機制,到不斷增強的加密以及安全防範措施。“Oracle”這個名字就是來自美國中央情報局投資的項目代碼,而美國中央情報局也正是Oracle最早期的用戶之一。

    接觸過Oracle數據庫的人都應當熟悉一個類似如下圖所示的錯誤“ORA-00942:表或視圖不存在”,這個簡單的錯誤提示,最初就是在美國中央情報局的要求下作為一項安全防範設定的,這個提示的安全意義在於:避免提供任何具體的實質性提示性信息,以預防黑客的攻擊性嘗試。由此可見,安全防範可以從每一個細節入手,安全是一項全面整體的技術實現,並非孤立的存在。

    受密碼事件影響,我們首先從Oracle數據庫的密碼機制上來深入了解一下Oracle的加密機制。雖然我們知道早在Oracle 數據庫版本8的年代,就已經提供了強大豐富的數據庫加密功能,但是直至今日,恐怕半數以上的數據庫中,仍然存放著用戶的明文密碼,並且未采用任何數據庫安全增強機制。這也是我認為最重要的安全問題:我們並不缺乏安全防範手段,但是缺乏對安全風險的認知。

    誠然,我們對安全的認識是隨著不斷出現的安全事故逐步增強的,但是希望大家都能夠有計劃地逐步增強對數據庫的安全防範,主動規劃推進數據安全與從挫折中學習提高實有天壤之別。對於2011年底的密碼洩露事件,如果各大網站能夠采取基本的技術手段對用戶密碼進行一定的加密,那麼這次密碼洩露的安全事件就不會顯得那麼初級和讓人恐慌,想一想明文密碼和MD5(Message-Digest Algorithm 5,信息摘要算法5)散列值的區別?前者基本上意味著數據庫從未從安全角度進行過任何思考和增強。

    Oracle數據庫的用戶信息及加密密碼存儲於一個名為USER$的數據表中(所有者為SYS用戶),我們可以通過基於USER$表建立的DBA_USERS視圖來查詢和獲得這些信息,包括密碼散列後的值。

    在Oracle Database 11g之前,用戶口令遵循DES標準(Data Encryption Standard),通過對稱算法進行加密,用戶名為“Salt”,密碼最長為30個字符,所有字母被強制轉換為大寫。從Oracle 7 至 Oracle 10g,加密一直使用username和password串聯之後進行HASH運算,例如sys/temp1和system/p1將會獲得相同的HASH加密輸出。

    從Oracle Database 11g開始,Oracle允許最多使用30個字符、大小寫混合方式作為密碼,同時支持DES和SHA-1算法進行加密(SHA-1算法支持大小寫混合,通過初始化參數SEC_CASE_SENSITIVE_LOGON開關),使用password||salt的方式進行HASH加密。

    下圖展示了Oracle 9i數據庫中用戶密碼的加密形式,DBA_USERS視圖的PASSWORD字段顯示了加密後的密碼(Encrypted Password):

    在Oracle 11g中,密碼從DBA_USERS視圖中隱藏起來,這進一步增強了安全性,即便具有訪問視圖權限的用戶,也無法獲得口令的散列值如下圖所示,由此我們也可以看出Oracle數據庫軟件的安全增強歷程:

    密碼的加密內容存儲在底層的核心表(USER$是Oracle數數據表之一)中,以下PASSWORD字段存儲的是DES標準加密值,SPARE4存儲的是SHA-1加密輸出:

    關於口令的維護,Oracle支持各種約束性限制(通過utlpwdmg.sql 腳本啟用),諸如復雜程度、長度、有效期、失敗登錄次數等,通過這些增強,Oracle的口令限制可以定制出非常穩固的安全解決方案,如果你從未接觸和研究過這些手段,那麼可能說明你的數據庫還缺乏足夠的第一層安全防守。

    如果我們能夠從Oracle的安全策略入手,學習一下Oracle的密碼安全解決方案,就能構建一套較為完善的基本安全解決方案。從Oracle的第一個Internet版本 Oracle 8i(1998年發布)開始,Oracle就提供了一個加密包DBMS_OBFUSCATION_TOOLKIT 用於數據安全防護,這個加密包支持DES、3DES 和 MD5散列算法。

    通過非常簡單的封裝調用,DBMS_OBFUSCATION_TOOLKIT 包就能夠實現數據加密,下圖展示了一個簡單的示例輸出,對於給定字符串進行MD5散列,會以RAW方式返回結果(通過創建穩固的函數,可以實現用戶登錄時的即時散列、比較和認證):

    從Oracle Database 10g開始,DBMS_CRYPTO包被引入到數據庫中,該程序包支持更廣泛的加密算法,並用於替代DBMS_OBFUSCATION_TOOLKIT包,在新的版本中,諸如DES、3DES、AES、RC4、MD5、SHA-1、MD4、HMAC_MD5、HMAC_SH1等算法和加密方式都被支持。

    通過選定的加密算法和加密方式,可以對重要數據進行加密和解密,我們不僅可以實現對密碼或數值、字符數據的加密,還可以對類似LOB等非結構化數據進行加密。下圖展示了使用DES算法的CBC模式和PKCS5補碼規則進行加密解密的實現,示例模擬了對信用卡卡號的處理過程,金融類企業數據的安全性更為突出,需要進行安全加密的類型更為豐富。

    我想重申的是,對於不同的數據庫產品,都存在足夠成熟的安全實現手段,應用這些安全手段就能夠實現對於數據的基本保護,對於我們技術人而言,最重要的是認識和重視數據安全問題,並逐步推動企業或組織應用安全手段進行數據安全增強。重視數據、保護數據,這是每一位技術人的共同使命!

    [本書使命]

    本書所描述的所有恢復以及安全案例全部確有其事,但是基於用戶隱私的考慮,我們隱去了所有和客戶相關的信息,對於摘錄的內容涉及用戶判斷的,全部進行了處理,但是時間、故障內容一切屬實。多年來的災難挽救讓我積累了很多素材,所以寫作這本書是一次回顧的旅程,以一條主線,將眾多的災難挽救過程串聯起來。這本書中的很多案例,尚屬首次曝光,而你也許還會注意到,書中的某些技術細節和恢復方法你從未在其他地方看到。

    本書中的很多案例的恢復過程非常艱難,拯救過程也花費了大量的人力、物力和時間,我們也因此贏得了價值不菲的商業合同,但是從內心上來說,我們永遠不希望用戶陷入這樣的境地,所以我寫了本書,使得這些曾經慘痛的教訓可以具備更廣泛的借鋻意義。

    基於這些想法,我對每個案例的發生過程進行了描述,並且提出了供大家警示的規避法則。所以,我希望這是一本寫給大家看的數據安全之書,不僅僅是給技術人員,更重要的是給企業數據管理者,如果不了解這些案例,你也許永遠不會理解數據庫為何會遭遇滅頂之災,你也許永遠無法理解為何千裡之堤一朝潰於蟻穴。

    當然,這仍然是一本相當深入的技術書,我將很多案例的詳細拯救過程記錄下來,包括一些相當深入的技術探討,這些技術探討一方面可以幫助讀者加深對Oracle數據庫技術的認知,另一方面又可以在你遇到類似案例時,做出同樣的營救工作。

    對於我自身來說,年紀越長,就越是認識到這個世界上最為寶貴的就是時間,如果我的分享,從警示到技術,能夠幫助大家規避錯誤,少犯錯誤,在恢復時不走彎路,快速拯救數據,工程師們和用戶的時間,那麼這就是我最強烈的願望,拯救時間,即為功德,這世界上,寸金買不到寸光陰。

    這本書是用他人的災難,為大家警示,但願我們都能夠從中吸取教訓,永遠不要遇到本書所描述的種種災難。

    [致謝]

    感謝我的朋友們,他們對我的幫助和支持使得本書的很多內容得以成型,劉磊在ACOUG上的演講《猜測的力量》幫助我豐富了關於REDO分析的案例;本書還引用了楊廷琨分析解決的一個ASM故障案例,此外,附錄中老楊提供的函數非常有用;感謝用戶,是他們的信賴使得我們能夠接觸種種艱難的案例,並幫助他們挽回數據;感謝支持幫助過我的朋友們以及一貫支持我的讀者們,書中真摯的內容就是我最好的回報。

    感謝我的好友丁曉強,他在支付寶公司進行了多年的安全與運維體繫的建設與管理工作,他基於實踐而來的對於安全和運維的真知灼見給予了本書很多肯綮的建議,這些建議讓我對安全有了更加繫統全面的理解,從而也對本書的架構做出了調整,雖然有很多想法沒能在本書中體現,但是我相信,我仍然有機會在未來和大家繼續分享我從他那裡學來的寶貴經驗。

    再次感謝楊廷琨,他在本書出版之前,通讀了全書書稿,細致到幫我修改敲錯的字母和寫錯的漢字,認真的態度讓我欽佩得無以復加;他還幫助我增加了兩個警示條目,內容來自他感觸最為深刻的技術經歷。老楊的工位和我相鄰,在工作中我無論何時請教都可以即刻得到他絕妙的提示,讓我了大量的工作時間,這是達成本書的另外一個重要助力。

    我還要感謝我的太太、兒子及其他家人,因為寫這本書,我犧牲了很多陪伴他們的時間,也正因為有他們的支持,我纔能夠不斷地寫下去。

    最後,但願書中這些看起來似乎遙遠的故事,能夠警醒你似曾相識的某些操作,並且永遠不要面對這樣的災難。

    蓋國強(Eygle)

    2012年1月20日 初稿

    2012年3月1日 定稿於北京

    查看全部↓

    前言/序言

    本書第一版最初寫於2012年,轉眼已經有8個年頭,當時還是Oracle 10g的天下,而現在19c已經發布。感謝電子工業出版社的支持,讓我有機會將這本書更新補充再次出版,有一些感觸在這裡記錄下來,奉獻給支持我們的讀者們。


    本書主旨

    這本書是我所有作品中自己最喜歡的一本,也應該是對讀者和企業而言最有價值的經驗分享,所以這些年來我一直念念不忘,不斷記錄、不斷完善,希望能夠在新時代讓這本書再次發揮一些光和熱。

    借助我在職業生涯中的所見所聞,本書將那些有關數據的風險和災難如實地刻畫下來,給讀者警示,引發思考,進而采取行動,制定原則,以規避和防範問題。

    以我自己的職業生涯為例,我越是學習,就越是發現自己所知甚少,而所缺甚多,在飛速發展的信息技術領域,這種感覺往往使人焦慮。作為數據庫或者數據環境的管理者,崗位職責非常重大,在網絡上流傳著很多“從刪庫到跑路”的故事,往往在工作中的一個不慎,就會導致不可挽回的災難性局面,讓企業遭受滅頂之災。那麼如何在這樣的環境下生存,並且不負企業或者客戶所托呢?

    我想沒有什麼比在工作中不斷建立指導自己工作的原則,並且堅持執行更加重要的事了。每年我們都會目睹很多因為疏忽造成的低級錯誤,比如誤刪數據文件、誤刪對Oracle生死攸關的Redo日志文件,這些問題和技能無關,但是事關工作原則。我曾經在一篇文章中寫到,知道如何繞過問題,往往比知道如何解決問題更重要。作為DBA的職業素養,應該包含一種稱為“預感”的能力,當我們需要執行某些任務的時候,應該敏銳地感知其中可能存在的風險點,然後設計方案進行防範或者迂回過去,而不是赴湯蹈火然後力挽狂瀾。

    每個人都可以承認自己的知識有限,但是不能接受缺失行動準則。風險和災難千變萬化,而規則可以以不變應對萬變。

    我在自己的工作歷程中,不斷總結提煉,形成了一繫列指導自己工作的指導原則,通過這些原則的指引,我從未陷入不可控制的困境之中,也從未讓自己有失所托。過去我曾經在自己的網站和一些書籍中介紹過這些原則,其中包括“DBA的四大守則”、“Oracle數據庫DevOps的三十六計”等。

    本書就是我的思考和總結,這些內容不一定適合你,但我希望,通過閱讀本書,讀者朋友們能夠思考和總結適合自己的行動原則,如果本書中記錄的案例、描述的法則能夠有一條讓大家有感,進而發揮作用防患於未然,那就是對作者最大的回饋。

    本書的第一版在內容上走了兩個極端,一是通過極復雜的具體的災難處理過程,讓讀者能夠學習和掌握這些復雜案例的處理技能;二是通過極簡的案例描述和分析,提煉可以規避問題的法則,期望以原則來防範問題。

    這兩個層面,也正是雲和恩墨這些年走過的歷程。在創業之前,雲和恩墨的技術團隊,以強大的單兵能力著稱,屢屢臨危受命力挽狂瀾並且久經考驗,幫助很多用戶挽救了大量的數據災難,本書中的很多案例就是這樣的。然而隨著服務體繫的建立和完善,今天我們更加關注的是通過制定標準的服務流程和規範,通過內嵌服務理念的產品,幫助用戶防患於未然,不必再陷入這樣的境地。

    前者治標,後者治本,顯然後者纔是用戶真正期待的,而這些微小的技能和技巧,不過隻是小道,又隻有極少數的讀者能夠借鋻掌握並付諸實踐。

    所以在本書的修訂過程中,我主要加強了對於後者的補充,期望在數據服務走向自動化和智能化的過程中,讓這些來自實踐的法則能給予讀者一些幫助和助力。而本書的第2章正是根據這樣的原則和思想高度提煉的,並早已在其他書籍中結集出版。

    雲數據庫時代

    在本書第一版出版後的8年時間,數據庫領域已經發生了翻天覆地的變革,我以為,近代數據庫技術的發展可以劃分為三個階段,分別是:

    ? 商業數據庫時代:以Oracle、DB2、Sybase、SQL Server 等產品為代表,開創了一個企業級軟件時代。

    ? 開源數據庫時代:以MySQL、PostgreSQL、MongoDB、Redis 等產品為代表,推動和成就了互聯網時代。

    ? 雲數據庫時代:以Oracle的自治數據庫、AWS 的 Aurora、阿裡雲的PolarDB等產品為代表,開創了雲時代。

    在商業數據庫時代,發展出一批偉大的產品和公司,Oracle 是其中的代表,至今仍以近200的市值屹立,這個時代的商業數據庫成就了一繫列龐大的企業級軟件,ERP、CRM 等領域都有相當體量的企業存在,這個時代也是企業級軟件的時代,微軟 和 IBM 都有卓越的數據庫產品,曾經三足鼎立的數據庫時代漸漸發展成Oracle一枝獨秀的態勢。

    在開源數據庫時代,呈現出百花齊放的生態,支撐和成就了互聯網行業,然而這些開源數據庫產品本身並未獲得應有的價值回報,近期很多開源數據庫都在調整其開源協議,尤其是面對雲的時代變革。歷數開源時代的代表,MySQL 以1賣身SUN公司,輾轉落入Oracle囊中,大數據的標志 Cloudera 和 Hortonworks 合並也僅僅 50億左右的市值,MongoDB 市值4左右,Elastic 市值 25億左右,這些數據庫產品的總市值還不及微軟以262全現金收購的LinkedIn,這是互聯網的時代。

    在雲數據庫時代,數據庫則成了雲內核的一部分或一個組件,甚至不復單獨存在,Amazon 提供 Redshift 和 Aurora 等多種數據庫產品,阿裡雲有 PolarDB 等多種數據庫,在這個時代,雲纔是永恆的主角,數據庫漸漸沉澱在底層,依托雲的價值而存在,AWS、微軟、Google、阿裡巴巴成了雲時代的主角。

    數據庫領域經歷了分分合合,再次呈現出百花齊放的局面,這讓我想起《易經》的一句:見群龍無首,吉。唯有百花齊放,纔見活力,企業也纔有選擇的自由。

    誠然,大時代風起雲湧,但是如果落地到企業級,我們認為用戶的核心訴求仍然是不變的,雲和恩墨從創業開始,就在企業手冊中描述了這樣一個認知,無論對於數據庫還是IT架構,用戶的核心訴求安全、連續、高效和智能不曾改變。所以我曾經的主題演講用了8個字:穩築基石,雲帆萬裡。隻有打好基礎,纔能雲途高遠,否則一切都隻是空中樓閣,遇到真正的危機就可能轟然倒塌。

    就企業的核心數據而言:

    ? 安全:安全是基石,尤其是雲時代的數據安全,沒有數據安全,甚至就沒有企業生存,歐盟在2018年5月25日生效了 GDPR 法案,對安全做出了嚴格的要求,對違反者可以做出200或企業全球年營業額4%的重量級處罰。

    ? 連續:連續運行是雲時代和互聯網時代的核心訴求,無連續就無發展,傳統企業也漸漸走上了24×7不間斷服務的道路上來,數據庫的連續運行隻是其中的一環。

    ? 高效:性能是支持業務高速增長、獲得競爭力的關鍵,是成本和效率的核心。

    ? 智能:智慧智能是未來科技的必然發展方向,是企業競爭的制高點,是產品和技術演進的終極目標,信息技術的各個環節都在走向智能化。

    如前所訴,今天數據庫的競爭已經轉移到了雲,而雲時代的數據庫更多的是依托前兩個時代的技術積累,繼承其一致性、可用性,增強了在分布式、彈性伸縮、安全方面的能力,應雲而生、為雲而生,誰能夠在雲上掌握話語權,誰纔能夠在未來的雲時代掌握數據先機。

    然而無論在什麼時代,雲上還是雲下,數據安全都是企業最重要的核心訴求,雲時代安全問題更加突出,這樣看來,本書在今天的意義遠遠超越了本書第一版。

    產品理念

    隨著百花齊放的雲數據時代的到來,我們發現企業面臨的數據應用和運維形態正在變得更加復雜,下圖中的數據庫產品往往大量存在於企業生產環境中,企業的數據庫品類往往從以前的兩三種,增加到今天包含商業數據庫和開源數據庫在內的七八種,這對企業的技術管理能力帶來了巨大的挑戰。

    所以我認為今天的企業數據平臺建設,應當改變思想,從自底向上轉變為自頂向下。所謂自底向上是指,先根據業務繫統的需要引入各種數據庫,再向上謀求統一和簡化的管理;而自頂向下則是指,先構建平臺化的數據管理能力,再引入能夠統一管理收縮自如的數據庫產品。

    遵循數據管理平臺化、統一化的思想,以及數據庫運維自動化和智能化的思路,雲和恩墨研發了融合多數據庫管理於一體的zCloud雲平臺,隻有真正具備了統一和自動化的管理能力,纔能夠應對雲數據庫時代復雜多樣化的數據庫環境。

    談到數據庫運維就離不開性能,而性能的核心要素是應用。在應用層業務總是通SQL來訪問數據,控制住SQL 也就控制住了繫統的性能和穩定性,我們可以回想,以前DBA面對一個數據庫時就曾經四處救火、焦頭爛額,如果在雲時代面臨 5~10 種數據庫將會是什麼局面?

    我們必須改變線上優化排障的局面,防患勝於救災。

    雲和恩墨的 SQM (SQL 質量審核和性能管理)平臺致力於在開發測試環節發現和解決SQL性能問題,通過自動化和智能化實現性能管控也就規避了線上救火。SQM的審核功能,正是總結了來自實踐中的優化原則並內置到開發測試過程中的,以DevOps理念實現了預防性優化。

    當然,本書反復強調對於企業數據環境而言,備份重於一切,有備方能無患,所以雲和恩墨獨立研發了ZDBM——數據庫備份一體機產品,可以通過實時的在線Redo備份實現近零數據丟失的數據保護,幫助用戶防範意外的數據損失。

    雲和恩墨的產品歷程,就是我們團隊用過去職業生涯的知識積累、用戶實踐不斷思考的成果輸出,這些產品中涵蓋了本書所陳列的各種運維安全原則,我們期望通過思考輸出的作品和產品化的能力,能夠幫助更多的讀者和企業規避數據運維和管理風險。而這些產品中有很多都已經通過SaaS或其他形式免費提供給用戶,包括智能巡檢平臺Bethune,在線SQL審核和技術問答墨天輪,MySQL數據庫一體機MyData 等等。

    致謝

    首先,我要感謝楊廷琨老師,在本書修訂的過程中,他再次給予我很多真知灼見,並且提供了幾個有趣的案例。他在技術方面的不斷探究、沉穩敏銳,永遠是我學習的榜樣。

    其次,我要感謝雲和恩墨的技術團隊,他們在面臨壓力、迎接挑戰、排憂解難的過程中,踐行了我們的理想和原則,不斷為雲和恩墨“數據驅動,成就未來”的企業理念添磚加瓦。

    最後,我要感謝我的家人,雖然他們並不懂得這些技術內容的真實含義,但是他們與我共度了很多處理問題的艱難時光,給予我堅定不移的支持,並且永遠是我奮鬥的動力源泉。

    最後的最後,我要感謝一直支持我的讀者和客戶們,正是你們的支持纔讓我繼續保有分享開放的機緣,不揣淺薄,不斷訴說。

    但願書中這些看起來似乎遙遠的故事,能夠警醒讀者某些似曾相識的場景,並且永遠不要面對這樣的災難。


    蓋國強(Eygle)

    2019年3月3日於北京

    2012-01-20 初稿

    2012-03-01 定稿於北京





    查看全部↓



    "
     
    網友評論  我們期待著您對此商品發表評論
     
    相關商品
    在線留言 商品價格為新臺幣
    關於我們 送貨時間 安全付款 會員登入 加入會員 我的帳戶 網站聯盟
    DVD 連續劇 Copyright © 2024, Digital 了得網 Co., Ltd.
    返回頂部