 |
-- 會員 / 註冊 --
|
|
|
|
深入理解Oracle Exadata ( 簡體 字) |
作者:黃凱耀,張樂奕,張瑞 | 類別:1. -> 資料庫 -> Oracle |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 33144 詢問書籍請說出此書號!【缺書】 【不接受訂購】 |
出版日:7/1/2012 |
頁數:600 |
光碟數:0 |
|
站長推薦:  |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
【不接受訂購】 | ISBN:9787121174896 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:第5章
首先我們要向這本書的中國讀者問好。在一年前的Oracle Open World 2011上,我們被問及是否愿意幫助中國的翻譯小組將這本書翻譯成中文,而今天,我們非常興奮地看到中文譯本即將出版。在這個過程中,我們的意外收獲是這次翻譯又再次為本書的內容做了一次技術審校,就本書的內容及復雜度而言,在寫作過程中出現一些錯漏在所難免,而中文翻譯小組的出色反饋幫助我們糾正和澄清了這些錯誤。 至今,這本書的英文版出版已有一年,而離Oracle發布Exadata V2也已超過兩年。我們被Exadata在全球走紅的速度所震驚(但是并不太驚訝)。寫作一本如此嶄新技術的書籍的一大挑戰就是要面對產品本身的快速變化。幸運的是,它并沒有太多令人耳目一新的新增特性,時至今日,本書仍然是學習Exadata的權威資料。書中展示的例子和實驗仍然有效,并為讀者帶來了寶貴的見解。我們希望你能從本書中獲益,希望本書可以幫助你了解智能存儲的內部工作機理,也可以幫助你理解為什么稱其為數據庫技術的一個飛躍。 ——Kerry,Randy,Tanel
第5章 本書序
2008年9月,Oracle CEO Larry Ellison在甲骨文全球用戶大會(OOW)上宣布了軟件及硬件集成一體化的數據庫機——Oracle Exadata Database Machine(以下簡稱Exadata)。Exadata的推出不但震撼了業界、吸引了全球數據庫專家的關注,也引起了Oracle數據庫“粉絲”們對其技術的探究和追逐,而且也使得Exadata成為了網絡搜索的熱點IT詞匯。 也正是由于Exadata在技術架構上的自我創新、功能上的豐富增強和性能上的極大優化,使得Exadata在市場推出3年多的時間里,得到了全球用戶的廣泛認可。目前,Exadata的全球部署已經超過了1000臺、用戶遍及67個國家的23個行業。Exadata數據庫機已成為甲骨文30多年發展史中最成功的新產品。在甲骨文公司的云計算解決方案中,Exadata作為數據庫云服務器是Oracle PaaS(Platform-as-a-Service,平臺即服務)平臺的基礎構件,成為企業搭建云環境、構建云支撐平臺的基石。 隨著Exadata 產品和技術的不斷更新和廣泛使用,無論是Exadata技術愛好者還是我們的廣大用戶,都非常希望有一本深入介紹Exadata的技術書籍,讓讀者不僅能從理論概念上更能從實際應用上來更好地理解和把握Exadata的技術機理,循序漸進地探索其內部的技術細節。 而Expert Oracle Exadata(written by Kerry Osborne, Randy Johnson and Tanel Põder)一書的問世無疑是“雪中送炭”,本書的三位作者Kerry、Randy和Tanel都是大家熟知的Oracle技術領域內的大師,他們不但有自己的Oracle技術博客,還為全球客戶實施和部署Oracle Exadata產品,積累了豐厚的實戰經驗,對Exadata技術的精髓有切身的體驗和理解。本書一經出版便成為Amazon網站上受人關注的書籍。 我相信作為國內讀者,更希望看到本書的中文版譯著。機緣巧合的是,我們國內的三位譯者,也是國內Oracle數據庫“粉絲”們熟知的技術專家——甲骨文公司的黃凱耀(Kaya)、阿里巴巴的張瑞(Jacky)、云和恩墨的張樂奕(Kamus)。 三位譯者出于對Exadata技術的熱愛和把控,以及對讀者的尊重,在翻譯的過程中,不是簡單地對照原文完成語句的翻譯,而是在譯文中仔細斟酌每一句話的含義,按照中文閱讀習慣加以解釋,增加了閱讀的流暢性、可理解性,避免了生澀的直譯。特別值得一提的是,對于一些原文較為晦澀的地方,三位譯者根據自己的理解增加了“譯者注”,我相信這在目前大多數技術書籍的譯文中并不常見。 也正如三位譯者在各自的譯者序中所寫,從2011年8月份開始著手翻譯起,三位譯者之間及與原著作者之間關于本書翻譯的郵件溝通,來來回回將近500封,同時三位譯者對原文中的一些錯誤之處也進行了一并糾正,真可謂為本譯作“錦上添花”。 我相信這本匯集了原作者、譯者及其他多位大師的技術、經驗和點評的專業書籍,一定能讓國內有此技術愛好的讀者沉浸于書中、感同身受,有所收獲。我也相信讀完本書,能讓你感受到“欲窮千里目,更上一層樓”的境界。
Oracle全球副總裁 喻思成
第5章 譯者序1
2011年7月,我曾給中國Oracle用戶組(ACOUG)做過一次有關Exadata的演講,Exadata的高性能在國內的Oracle社區中引起了不小的反響。其實,Exadata在2008年底已經推出,自那時起,我們組(Oracle Real World Performance Group) 就一直從事著Exadata上的性能測試與項目開發工作。在我的博客上也有一些相關的文章涉及Exadata,如2010年5月前后發表的系列文章Exadata V2 架構分析,但那都是些零碎的片斷。毋庸置疑,Exadata在國內還是陌生的,但作為Oracle數據庫的未來發展方向,讓更多的人熟悉Exadata無疑是一個很有意義的事情,甚至很多兄弟團隊都鼓勵我們組寫作一本關于Exadata及其性能調優的書。 2011年8月,一個機緣巧合地,博文視點的張春雨老師聯系上我,希望我可以參與到這本書的翻譯工作中。初看之下,這本書的內容非常豐富,是對Exadata的一個全面系統的介紹。于是我們一拍即合,這本書的翻譯工作就此掀開序幕。另外兩位譯者是阿里巴巴的張瑞(HelloDBA)與恩墨科技的張樂奕(Kamus)。張瑞是阿里巴巴的架構師,負責數據庫性能優化與應用架構改進,研究軟硬件結合的數據庫解決方案。張樂奕是云和恩墨的技術總監,Oracle ACE Director, 也是國內知名的Oracle技術專家。于是,我們的中文翻譯小組正式成立。 2011年8月中旬,我們第一次接觸到了這本書的電子版。開始的日子是忙碌的,每天工作之余,翻譯上幾頁,這是一個鍛煉人耐力的過程。出差途中,不管是在飛機上還是火車上,翻譯這件事兒也幫助我打發了一些無聊時光。我學會了一個道理,積少成多,貴在堅持。不過也有難熬的時候,特別對于晦澀的章節,但最終理清作者的思路時,也會感到歡欣鼓舞,即使幾小時已經倏忽間流走了。而印象最深的,是與張瑞和張樂奕對里面技術點的討論,幾百封郵件的往來幫助我們一起澄清了對原著諸多晦澀段落的理解。這是一個通力合作的過程,它是痛苦的,又是快樂的,我們只有盡情享受其中。 三位作者的文風其實各有特點。Tanel是全球Oracle社區的著名人物,他的Oracle Session Snapper出名已久,性能優化的相關章節主要由他執筆,這兩章充滿睿智,里面完美地體現了Tanel對性能調優的理解,既有對全局的系統方法論的闡述,也有對每個性能指標含義的具體說明,還有對SQL、存儲節點的調優監控思路。翻譯的時候,我總有一種心有戚戚焉的感覺。這些論述即使在非Exadata平臺也有非常大的借鑒意義。 Randy則具體關注Exadata的管理,包括了對數據庫資源管理器、配置和恢復、存儲節點與計算節點的詳細剖析。對資源管理的詳細闡述必將會刮起一陣清新之風,在消退Oracle資源管理器神秘感的同時,讓讀者也掌握了如何構建合適的資源管理模型。這些章節是對Exadata整體架構的高可用性與高可配置性的極佳體現。 Tanel和Randy還合作了關于如何移植的主題,這也是充滿實踐性的真知灼見的一章,里面提到的方案在實施中會有很好的借鑒意義。 Kerry則專注于對Exadata相關特性的描述。通過大量的例子深入淺出地介紹了Exadata的主要特性,同時還大量地挖掘了各特性后面的細節。 由三位各有所長的作者聯合執筆,終于成就了這本恢宏巨作。 我負責翻譯的章節主要包括第7、8、9、11、12章,以及前言部分。第7、8、9章由Randy執筆,是關于系統資源管理、系統配置和恢復的內容。第11和12章由Tanel執筆,是關于性能優化的章節。 對翻譯工作,不得不提的一點是對名詞術語的翻譯。坦白講,以前閱讀譯著時,一個令人難受的地方就是原來很熟悉的英文術語與譯者的翻譯聯系不起來。這每每讓我有閱讀原著的沖動。我們在本書的翻譯過程中在盡量避免這個問題,對于大家所熟知的英文術語,我們盡量不做翻譯。當不翻譯真的很影響閱讀的流暢性時,我們才會進行翻譯,如“Grid Disk”,這個詞匯在第14章就出現了140多次,不翻譯會很影響閱讀效果,所以雖然我們平時都直稱“grid disk”,本書中我們還是把它翻譯成了“網格盤”(或許“網格盤”一詞也會因此流行起來呢)。當然,我們會在前面的中英文術語對照中列舉出來。 2011年2月,我們開始進行本書的翻譯校對工作。這又是三位譯者頭腦碰撞的日子,我們努力清除原文理解上的每一個障礙,并積極與三位原作者就我們所發現的眾多瑕疵進行了郵件討論并加以改正,同時對于里面的重點和難點加入了獨具特色的譯者注。相信本書將是Expert Oracle Exadata全球的最新譯本,同時也是獨具特色的中文版本。如果讀者在閱讀原版時產生了疑惑,而會想起參考此中文版本,那將是我們莫大的榮幸。 看著眼前厚厚的著作,思緒萬千,開始翻譯的日子似很遙遠,又歷歷在目。在這里,要感謝Oracle Real World Performance Group,感謝楊中對翻譯工作的支持,感謝幫助我做了認真細致校對工作的李昕、曲卓、董志平、陳長青、孫笑盈,感謝Oracle的眾多同事提供的幫助和指導,特別是來自COE(Center Of Excellence)的許向東。感謝喻總在百忙之中為本書做序。最后,還要謝謝我的妻子,她對我加班加點的翻譯工作不僅毫無怨言,還從一個學習者的角度,校對了其中的一些章節。謝謝你們!
黃凱耀于深圳 2012-4-9 第5章 譯者序2
這本書的翻譯計劃是從2011年8月份開始的,據我所知,最早是博文視點的編輯“俠少”找到阿里巴巴的張瑞(Jacky)和甲骨文的黃凱耀(Kaya),然后Jacky再找到我。 實際上,我個人開始想要翻譯這本Exadata技術書籍倒是從更早的時候就開始了,這本書在Amazon上的發行日期是2011年8月9日,其實早在2011年2月份就已經有另外一本關于Exadata性能的書籍(Achieving Extreme Performance with Oracle Exadata,作者全部是Oracle公司員工),但是論作者的知名度,仍然是本書更受人關注。最早知道這本書是從本書聯合作者Tanel Poder的個人技術Blog中,那是2011年3月份,Tanel發文說已經可以在Apress網站上購買新書Expert Oracle Exadata的Alpha版本,Tanel是全球最受人尊重的Oracle技術專家之一,而一本技術書籍可以預先購買Alpha版本也是很稀奇的事情,再加上Exadata正是當今IT界的“當紅炸子雞”,理所當然這本書非常值得期待。在2011年4月份,我個人跟某出版社聯系過,表達了如果該書可以引進中國,那么我很愿意組織人手進行翻譯的工作,對方的回復是正在談版權,之后沒有消息。然后,Tanel在6月份發文說,本書已經即將定稿,再之后,就是8月份,該書正式發售。而在正式發售的當月,博文視點就開始尋找中文版本的譯者,可以說是非常迅速。而對于版權的猜測,那一定是博文視點拿到了版權,而某出版社失利了。:-D 以上的情況,讓我在收到Jacky的邀請以后,毫不猶豫地接受了工作,無論工作如何繁忙,我都愿意讓這本書的中文譯者里有我的名字,這對于我而言可以說是一種榮幸。2011年8月17日收到這本書的PDF電子版(當然后來又收到紙質版),從8月份開始,Kaya、Jacky和我都迅速地投入了翻譯的工作,在整個過程中,通過不斷地溝通,我們按照每個人的經驗和對各個章節的熟悉程度以及感興趣程度,大致是均分了各個章節。我負責翻譯的章節是第1、2、4、6、13、16章,原本我給自己定下的計劃是每兩周翻譯一章,那么最快可以在兩個月內完成翻譯,再加上校稿,本來計劃在3個月內可以完成所有的翻譯,也就是如果一切順利,這本書的中文譯本應該在2011年年底的時候就跟大家見面了。但是,計劃永遠是趕不上變化的,除了工作的繁忙和個人的懶惰,我們幾個譯者還都在其他方面出現了這樣或那樣的意外情況,導致整個翻譯工作整體滯后。所幸,還不算太遲,我想在你們看到本書的時候,這個世界上應該還沒有更新的Exadata書籍可以參考。所以,這本書仍然是迄今為止想要了解Exadata、想要使用Exadata、想要監控調整Exadata的最佳參考書籍。 Oracle Exadata的舉世矚目,對整個數據庫硬件/軟件市場的震撼,在全球或者僅僅是中國國內的引人矚目,乃至熱銷,都已經無須贅言。作為數據庫從業者,也許你沒有聽過Netezza,也許你沒有聽過Twinfin,也許你沒有聽過Hana,但是你一定聽過Exadata,這絕不僅僅是由于Oracle公司一貫的好戰、勇于進攻、大力宣傳的風格,而是Exadata確實具有獨步天下的功能。也許我們不能說在經過最精細的調整以后,Exadata在數據倉庫領域與其他競爭對手相比一定具有絕對的優勢,但是,不要忘記,在現在這個世界里,又有多少是純粹的數據倉庫系統呢?又有多少用戶愿意讓OLTP用一套系統,而數據倉庫又用另外一套系統呢?這其中的數據傳輸開銷和系統設計復雜性的開銷,如果能夠消減甚至避免,那么又何樂而不為呢?Exadata正是這樣的一套軟硬件一體的平臺,同時支持OLTP類型負載和數據倉庫類型負載,通過Oracle Database 11gR2中的資源管理器來更加精細地調控硬件資源,讓兩種類型的負載都能獲得各自需要的資源,并順暢執行。 如果我們拋卻Exadata在存儲節點中的軟件特性,它使用的各個硬件組件并不是劃時代的,無論是Infiniband還是Flashcache/SSD,都已經出現很久了,在企業級市場中也已被很多用戶使用,但是將這些組件放在一起,并且預先調整為一個平衡的系統(沒有任何一處明顯的性能瓶頸),這是劃時代的。Oracle將軟硬一體機的概念推廣到了開放性平臺上,極大地挑戰了Teradata的市場,用開放性的硬件+開放性的操作系統+開放性的數據庫軟件,構造出了一個平衡的、性能超強的平臺,這同樣是劃時代的。 好吧,前面我們提到了“拋卻Exadata在存儲節點中的軟件特性”是嗎?這就好比說,把皇冠上最閃亮的那顆寶石先摘下來,別閃花了我們的眼睛。現在,我們要把這顆寶石放回去了,智能掃描(Smart Scan)、存儲索引(Storage Index)、混合列式壓縮(Hybrid Columnar Compression),無論哪一項軟件特性都足以震撼數據處理市場,而當它們結合在一起,配合上Oracle Database原本就具有的高性能,再配合前面說的這個平衡的硬件架構,我們就得到了足以顛覆一切固有理念的驚人性能。在Exadata的POC現場,有客戶因為實在無法接受Exadata展示出來的飛一般的速度而懷疑Oracle的技術人員在造假。這在無奈的同時,無疑也是一種自豪吧。 Exadata的出現,顛覆了一些我們既有的數據庫管理理念,但是無論如何,Exadata中運行的是Oracle Enterprise Linux(當然也有Solaris,不過是x86-64版本,至少到目前為止,Oracle還沒有計劃顯示會出現SPARC平臺上的Exadata),Linux上運行的是Oracle Database 11gR2,對于所有數據庫技術從業者來說,之前積累的操作系統管理知識,Oracle數據庫/RAC管理知識都仍然適用。我們需要的只是與時俱進,將Exadata的特有知識點加入我們以前的知識體系中。本書是最佳的入手點,因為本書中不但有Exadata的特性闡述,也同樣有使用經驗和最佳實踐。要知道本書的作者都是真正的Exadata使用者,而本書的技術審校者(Kevin)更是Exadata的性能架構師(不過,Kevin現在已經離開Oracle公司,加盟EMC,去玩Greenplum了)。 我唯一希望的是,大家在閱讀這本中文譯本的時候,不至于產生去重新閱讀原著的沖動(雖然,我仍然建議大家去閱讀原著),因為如果那樣,那只能表示我們的翻譯實在是很不適合中文讀者的理解。如果你覺得本書優秀,那么基本上可以說這是原作者的功勞,當然,我也希望你們看到我們三位譯者的努力。我們在翻譯完各自的章節以后,又互相審閱了其他人的章節,我們盡量斟酌每一句話的翻譯,希望讀起來是符合中文閱讀習慣的,對于一些比較難于理解的片段(比如Kevin說的某些話),我們通過郵件跟作者進行了溝通以確保譯文是正確體現了作者意圖的,對于一些原文較為晦澀的地方,我們也根據自己的理解增加了“譯者注”,我相信這也是目前大多數技術書籍的譯文中并不常見的,我們甚至在想,如果譯者注足夠多,那么就可以出一本批注版的書籍了(:-D)。這其中,由于Kaya在Exadata中的實戰經驗尤為豐富,更是付出了格外的精力。你們現在看到的這本Expert Oracle Exadata的中文版,應該是全球的最新版本,因為在我們的翻譯過程中,不但將本書對應英文版出版以后提交給作者的錯誤修訂全部都更正到了本書中,而且我們還在翻譯過程中發現了更多的錯誤,Kaya通過郵件直接跟三位作者溝通并一一確認,最終對于確實是錯誤的描述也都全部做了更正。實際上,這也是本書推遲到現在才出版的原因之一。 就在今天,我重新審閱完了自己翻譯的第6章,回顧了一下從2011年8月份開始,我們三位譯者和博文視點的俠少關于翻譯本書的郵件溝通,來來回回將近300封郵件,我相信在本書中文版最終定稿的時候,溝通郵件量一定會超過300封(實際上最終的溝通郵件將近500封)。我們捫心自問,已經盡了自己最大的努力,但是一定還會有這樣或那樣的不足,還望讀者海涵。 最后,我要感謝我的妻子和可愛的兒子,在我工作之余的很多個深夜,我仍然在翻譯此書,是我的妻子極大地包容了我,沒有她的支持,沒有她承擔幾乎全部家務和對我們年僅1歲多的兒子的照料,也許我的翻譯進度還會拖后。謝謝你,我愛你們。感謝Kaya、Jacky,還有博文視點的俠少,與你們關于本書翻譯討論的500封郵件是寶貴的財富。感謝我的大學師妹——董楠,她是《老美國志異》、《此地無人生還》、《滿是鏡子的房間》三本暢銷書籍的譯者,喜歡搖滾的朋友應該熱愛這幾本書籍,本書某些段落的措辭有得到她的指教。另外,我同樣要感謝我所在的公司——云和恩墨的多位同事,是你們幫我承擔了由于翻譯工作而落下的本應屬于我的工作,感謝楊廷琨(老楊同時幫助審閱了本書的第1章),感謝蓋國強,還有幫助我審閱中文譯稿的同事們——仇實、劉洋、余廣宏、董禹、宋春風,譯稿里面也有你們的功勞,謝謝你們。
張樂奕(Kamus)于上島咖啡,北京 2012年2月29日
第5章 譯者序3
2008年,Oracle在OOW上發布了與HP合作開發的Exadata V1。當時,我就對Exadata充滿了好奇,很快我就在自己的博客上寫了第一篇介紹Exadata的文章Oracle Database Machine。現在看來,文章中很多觀點都是錯誤和可笑的,但當時介紹Exadata的技術資料非常少,很多觀點只能來自于猜測。從那時開始,我一直保持著對Exadata的關注,并在一次Oracle介紹Exadata新技術的會議上,認識了Kaya(本書的另外一位譯者),這也為我們共同翻譯本書埋下了伏筆。 2009年,Oracle發布了Exadata V2,它不僅采用了SUN的硬件,更是革命性地引入了Flash存儲,并采用智能閃存(Exadata Smart FlashCache)技術,讓Exadata同時支持DW和OLTP應用,成為真正全能型的數據庫軟硬件一體機。2010年2月1日,我在博客上發表了第二篇關于Exadata的技術文章《Oracle Exadata技術淺析》,引起了大家的熱烈討論,并被廣泛轉載。文章中介紹了Exadata的新特性,并且在沒有資料提及的情況下,提出SmartScan應該只能在特殊訪問路徑下(直接路徑掃描)才能啟用的觀點。從此以后,我對Exadata著了迷,無奈除了一些官方文檔以外,幾乎沒有其他任何資料,而我又沒機會親身操作Exadata,只能通過各種途徑了解Exadata的最新信息。 2010年,我參加了在北京舉辦的OOW大會,第一次近距離看到了Exadata的真面目,也更加深刻體會到“Hardware and Software Engineered to Work Together”這句話的真正含義。從此,我開始致力于推動Flash存儲技術在數據庫領域的應用,研究軟硬件結合的數據庫解決方案。2011年10月舉辦的OTN China Tour活動上,受ACOUG的邀請,我做了《軟硬件結合的數據庫解決方案》主題演講,介紹了我們在軟硬件結合方面的一些嘗試,并且解讀了Exadata和Oracle剛推出的ODA(Oracle Database Appliance)的架構,引起了非常大的反響。 2011年底,我終于等到了親身體驗Exadata的機會,Oracle提供了一個Exadata V2 Quarter Rack供我們測試。我們根據在線交易網站的特點,專門設計了一個測試模型,并且先在高端的小型機和存儲上進行測試,然后再在Exadata上運行相同的測試,以此來評估Exadata和傳統主機存儲之間的性能差異。Exadata的表現讓我們非常驚訝,性能完全超過了小型機和存儲。Exadata使用FlashCache技術,在讀多寫少的應用場景下,表現超乎想像,不僅預熱速度快,而且性能與將數據全部放在Flash上相差無幾,提供了非常好的性能價格比。不僅如此,我們還特別模擬了存儲節點宕機的情況,當某個存儲節點宕機時,Exadata表示毫無影響,而且性能下降非常小。通過一周的測試,我們對Exadata高性能、高可用和高度靈活的特性有了更深的認識。 作為一名Exadata技術愛好者,一直苦于找不到一本深入介紹Exadata的書籍,直到偶然一次機會我發現了Expert Oracle Exadata這本書,本書的幾位作者都是Oracle技術領域的大師,之前我一直訂閱他們的博客,了解最新的Oracle前沿技術,沖著它是幾位大師的合著,再看看內容簡介,我知道它就是我期盼已久的那本書。當時這本書還沒有完成,我找到出版社希望能在本書出版后第一時間拿到,沒想到俠少不僅幫我拿到了書,同時也拿到了本書的版權,并且希望我能翻譯這本書,我毫不猶豫地答應了,因為我已經期待了太長時間。但是當我讀了一點又開始猶豫了,因為對于Exadata來說我只是個初學者,而且本書的技術含量非常高,憑我一己之力很難完成這項工作,我馬上想到了兩個人,一位是Kaya(黃凱耀),另一位是Kamus(張樂奕),Kaya來自于Oracle RealWorld Database Performance Group,專門研究Oracle和Exadata的性能優化,我相信國內沒有人比他更熟悉Exadata。Kamus是國內知名的Oracle技術專家,Oracle ACE Director,他也是Exadata技術愛好者。事實證明,他們就是最合適的人。 雖然我以前也經常寫文章,但是翻譯書籍還是第一次,深深體會到翻譯工作的艱辛。因為Exadata是業界最新的技術,翻譯的過程也是學習的過程,很多技術都是第一次碰到,需要理解并準確表達出來,這對翻譯者來說是個嚴峻的考驗。我們三個人一起翻譯和討論,不知不覺就過去了半年,來來回回發了幾百封郵件,往往一個句子甚至一個詞,都要討論很多遍才能確定下來,正是在這個討論的過程中,很多技術問題都被我們搞清楚了。我們堅信翻譯不是簡單的文字轉換,一定要自己先搞清楚,才能翻譯出來給大家。正因為如此,我們在翻譯的過程中,也發現了原書中的很多錯誤,并且Kaya把我們發現的錯誤都整理出來發給了原書的作者,所以大家讀到的應該是最新版本。 如果要說本書最難翻譯的部分是什么,當屬“Kevin說”,因為Kevin說的要不是“技術哲學”,就是“技術原理”,有時候我們讀過幾遍之后,還不知道他在說什么,我們已經盡可能翻譯得通俗易懂,但是仍然有很多不完美的地方,請大家諒解。另外,因為Exadata的技術非常新,我們在難以理解的地方都加上了譯者注,希望可以幫助大家。本書中出現的術語,我們都采用中英文對照的方式,也有一些常用的Oracle術語我們選擇不翻譯,因為英文比中文更容易理解。 最后,我要感謝家人對我的支持,尤其是我的愛人Emily和寶貝Michael,每天工作到深夜,回家后看到你們熟睡的臉龐,覺得一切付出都是值得的。還要感謝和我一起戰斗過的Kaya和Kamus,你們給了我太多的幫助。感謝原書的作者,正是因為你們寫了這樣一本偉大的著作,才有現在的中文版。最后感謝讀者的支持和理解,希望你們喜歡這本書。 我翻譯了本書第3、5、10、14、15章以及附錄部分。
張 瑞 2012年4月1日于杭州
第5章 譯者介紹
黃凱耀,2006年加入Oracle,在Real World Performance Group(隸屬于Oracle公司總部數據庫產品管理部門)工作,擔任首席軟件工程師。主要從事關鍵客戶的現場性能測試、現實客戶碰到的重大問題解決、Oracle數據庫的質量保證、數據庫間的競爭分析等工作。特別專注于大型數據庫(VLDB)在OLTP與OLAP環境下的高性能與高可擴展性的最佳實踐。目前工作重點在于Oracle Exadata的性能測試與實施。樂于技術的總結與分享,個人技術博客為www.os2ora.com。
張樂奕(Kamus) 云和恩墨(北京)信息技術有限公司技術總監 Oracle ACE Director Itpub Oracle數據庫管理版/高可用版版主 ACOUG(www.acoug.org)聯合創始人 OESIG(www.oesig.org)創始人 個人Blog:www.dbform.com 張樂奕,云和恩墨的聯合創始人之一,致力于通過不斷的技術探索,幫助中國用戶理解和接觸新技術,推廣數據庫技術應用。曾先后任職于UT斯達康、電訊盈科、甲骨文等知名企業,擔任DBA及技術顧問工作。現任職于云和恩墨(北京)信息技術有限公司。 具備豐富的行業經驗與技術積累,對于數據庫技術具有深刻的理解。熱切關注Oracle技術和其他相關技術,對于Oracle數據庫RAC以及高可用解決方案具有豐富的實踐經驗。長于數據庫故障診斷,數據庫性能調優。作為社區和網絡的活躍者,在公開演講和出版方面,多有建樹。 2004年2月,作為主要作者出版了《Oracle數據庫DBA專題技術精粹》一書。 2005年6月,作為主要作者出版了《Oracle數據庫性能優化》一書。 2007年12月,獲ITPUB論壇年度原創技術文章獎,同年3月,被Oracle公司授予Oracle ACE稱號。 2010年3月,與Eygle聯合創立ACOUG用戶組,目前ACOUG是中國最活躍的Oracle用戶組,持續進行著技術分享。 2011年03月,被Oracle公司授予Oracle ACE Director 稱號,同年創辦中國Exadata特別用戶組。
張瑞,網名HelloDBA,Oracle ACE,2005年加入阿里巴巴,數據庫架構師,負責數據庫性能優化與應用架構改進,主導推動了阿里巴巴數據庫技術的變革。同時也是Exadata技術愛好者,致力于推動Flash存儲技術在數據庫領域的應用,研究軟硬件結合的數據庫解決方案。個人有技術博客HelloDB.net,樂于分享數據庫領域的最佳實踐和研究成果,并創立了AskHelloDBA.com專業數據庫問答社區,解答各種數據庫技術問題,定期舉辦AskHelloDBA數據庫技術論壇。
第5章 術語翻譯約定
■ A ASM范圍安全策略 ASM-Scoped Security ■ B 半機柜 half rack 并行子進程 slave process 部分重建 partitial reconstruction ■ C CPU量子 cpu quantum CPU資源短缺 CPU starvation 查詢協調進程 query coordinator 出列 dequeue 串行直接路徑讀取 serial direct path reads 磁盤修復計時器 disk repair timer 磁盤組 disk group 存儲節點 storage cell 存儲節點卸載處理 cell offload processing 存儲節點卸載效率 cell offload efficiency 存儲節點應急過程 storage cell rescue procedure ■ D DBM配置器 DBM Configurator 單一客戶端訪問名字 Single Client Acess Name ■ F 訪問方法 access method ■ G 高度冗余 high redundancy 告警提醒 alert notification 骨干交換機 spine switch 管理網絡 management network 過量分配 over-provisioning ■ H 互連流量 interconnect traffic 混合列式壓縮 hybrid columnar compression ■ J 集群感知 cluster-aware 集群軟件 clusterware 計算節點 compute node 交錯分配 interleaving 節點安全策略 Cell Security 節點盤 cell disk ■ K 客戶端訪問網絡 client access network 塊內鏈接 intra-block chaining ■ L 類別 category 類別IORM Category IORM ■ N 內存并行查詢 in-memory parallel query 內存并行執行 in-memory parallel execute ■ P 配置工作表 Configuration Worksheet ■ Q 全表掃描 full scan 全機柜 full rack 全索引快速掃描 index fast full scan ■ S SQL 監控報告 SQL Monitoring Report 閃存 flash cache 失效組 failure group 實例隔離 instance caging 使用者組 consumer group 數據倉庫設備 DW Appliance 數據庫范圍安全策略 Database-Scoped Security 數據庫間IORM Interdatabase IORM 數據庫內部IORM Intradatabase IORM 雙盤失效 double disk failure 私有互連 private interconnect 四分之一機柜 quarter rack ■ T 通道綁定 channel bonding ■ W 外部冗余 external redundancy 完全恢復 full recovery 網格盤 grid disk ■ X 系統卷 system volume 卸載,處理能力下放 offload 行鏈接 row chainning 行遷移 row migration 行源 row source ■ Y 壓縮單元 compression unit 壓縮助手 compression advisor 驗證框架 validation framework 葉子交換機 leaf switch 映射規則 mapping rule ■ Z 暫掛區 pending area 正常冗余 normal redundancy 直接路徑讀取 direct path read 直通 pass-through 指令 directive 重平衡 rebalance 資源計劃 resource plan 字段投影 projection 自動診斷信息存儲庫 Automatic Diagnostic Repository 第5章 作者介紹
Kerry Osborne自1982年Oracle V2開始就開始使用Oracle,擔任過開發人員和DBA。在過去的幾年中,他一直專注于理解Oracle內部機制和解決Oracle性能問題。他是OakTable Network成員(譯者注:OakTable是Oracle數據庫領域內最高端的一個技術組織,它由一群熱愛Oracle技術并愛刨根問底的家伙所組成,現有大約70位成員,他們都是最頂尖的技術專家)和Oracle ACE Director,作為演講者頻繁出現在各種Oracle會議上。Kerry還是Enkitec公司的聯合創始人,這是一家專注于Oracle咨詢的公司,總部在德克薩斯州的達拉斯。他的博客是kerryosborne.oracle- guy.com. Randy Johnson是Enkitec公司的首席顧問,這家公司專注于Oracle咨詢。他從90年代初就開始使用Oracle V7,已經擁有超過18年的Oracle經驗。他的大部分職業生涯結合了DBA的工作和UNIX系統管理員的職責。在過去的5年中,他幾乎將全部精力都放在RAC和ASM上。他還是RMAN備份和恢復的權威,曾寫過一個廣泛使用的自動化RMAN備份工具Dixie。Randy偶爾會在blog.enkitec.com上寫博客。 Tanel Põdel是世界頂尖的Oracle性能專家之一,曾幫助遍布五大洲二十多個國家的客戶解決了復雜的問題。他擅長先進的性能優化、故障診斷和其他復雜的任務,比如以非常短的停機時間遷移超大規模數據庫(VLDB)。他從Exadata V1開始就優化Exadata的性能,并且計劃更深入地研究Exadata性能優化和故障診斷。 Tanel是世界上第一批OCM之一,還是Oracle ACE Director以及OakTable Network榮譽成員。他經常在全世界各種會議上發表演講,并在他的博客blog.tanelpoder.com上發表文章、腳本和工具。
第5章 技術審校者
Kevin Closson是EMC公司數據計算部門的技術總監和性能架構師,自2007年到2011年,Kevin在Oracle公司Server Technology Group的Exadata研發部門擔任性能架構師。他25年的職業生涯都專注于高端SMP、UNIX集群和Linux平臺上的系統和軟件的性能工程與架構、競爭性基準測試、技術支持和軟件開發工作。他在Oracle工作之前,曾在HP/PolyServe、Veritas和IBM/Sequent工作,專注于提升Oracle服務器和支持平臺的可用性和可伸縮性。因為他在Oracle所從事的工作,使得他在SMP/NUMA鎖和數據庫緩存機制方面獲得了兩項美國專利(6389513和6480918)。Kevin還維護著一個非常受歡迎的技術博客kevinclosson.wordpress.com。
第5章 致 謝
事情總是這樣,最親近的人總會為你的一時沖動付出代價。因此,我想借此機會感謝在為此項目奮斗期間我的家人對我的支持。寫作本書的工作量遠遠超過了我的預期,但最令我驚奇的是,一年來的每一天,有一種危機感時刻籠罩著我。我開玩笑地說,所有事情都可以以段落來衡量。我可以和我的妻子到外邊共赴晚宴,或者我可以寫另外兩個段落。(事實上,我不可能寫得那么快,但你知道我要表達的意思。)因此,我要謝謝愛妻Jill與孩子,在悶頭寫作期間,他們只能遠遠望向我,還要承受我帶給大家的一次次掃興。 Kerry Osborne
我想要感謝我的孩子們,Brandon和Charis,當我在廚房的桌子上寫作此書時,他們度過了很多個漫長的夜晚和周末。他們是我靈感的源泉。我的女兒Charis,一個真正的天才作家,是如此的富有創意和膽量。我的兒子Brandon,是家庭中才華橫溢的科學家和戰略思考家,他從不會放棄。看著他們長大成人,這教會我創造力和毅力的價值所在,特別當任務似乎不可以逾越時。我愛你們,孩子們。 我的父母、家人和朋友們,我想對你們說一聲謝謝,感謝一直以來的鼓勵和支持。當我需要你們的時候,你們永遠站在我身邊。在這里我不一一列出每個人的名字,但你們會明白我的心意的。 最后,我想特別感謝Kerry邀請我與他一起完成這個旅程。幾年前,如果你告訴我某一天我打算寫一本書,我都會笑出聲來。但是天才的Kerry讓我從舒適區走了出來。除了是一位導師,這些年來他已經成為了一個值得信賴的朋友。 Randy Johnson
這是我合作撰寫的第一本書,我崇尚以數據、算法和計算機去解決問題,借此機會,對在我的職業生涯中幫助過我、支持我想法的朋友們表示感謝。謝謝你們的教導、幫助和建議!我想要特別感謝我的父母,當我是一個小孩子時,他們就強烈支持我在技術、電子和計算機方面的興趣。另外,非常感謝我的妻子Janika,雖然她不是一名計算機迷,但她理解有時連續24小時盯著計算機屏幕是再正常不過的行為了。 Tanel Põder
第5章 前 言
感謝你購買本書。我們已經為此努力工作了很長時間,希望本書對你即將開始的Exadata之旅有所幫助。我們試圖以一種系統的方式介紹Exadata的各個主題,并遵循從一般討論到具體技術細節的思路。本書中一部分內容從宏觀上描繪了Exadata是如何工作的,另一部分內容則是非常技術性的細節描述,你可能會發現若手邊有一臺Exadata系統以對書中所描述的技術進行試驗,會更容易理解這些細節。注意,我們使用了很多隱含參數和特性以演示軟件的各部分是如何工作的,請不要把它們當做管理生產系統的推薦方式。記住我們訪問的系統允許我們隨意玩轉而不必擔心由此造成的一切后果,這為研究Exadata如何工作帶來了很多好處,除了這個特別的訪問權限,我們也得到了Oracle公司內外部很多人的大力支持,我們對此心懷感激。 本書面向的讀者 本書面對有經驗的Oracle從業人員。除非與Exadata平臺有關,否則我們不會試圖解釋Oracle的方方面面,這意味著我們對讀者的知識背景有所假定。我們并不期望你是Oracle性能調優的專家,但確實期望你能夠熟練使用SQL,并對Oracle的體系結構有基本的了解。 寫作本書的由來 在2010年春天,Enkitec買了一臺四分之一機柜配置的Exadata。我們把它放在位于Dallas辦公室的一個很小的計算機室里。我們沒有正規機房的那種裝配式地板或者任何花哨的東西,但這個空間確實擁有獨立的空調系統。事實上,讓Oracle答應我們的購買請求比你想像的要難得多。他們的很多客戶都急切地想購買,而且對于這個新生嬰兒他們愛護有加。我們沒有安放Exadata的一流數據中心,甚至在交付機器之前,電源設施都必須加以改造。無論如何,機器交付不久,在與Jonathan Gennick數次交談后,Randy和我決定為Apress寫作本書。在那時并沒有太多文檔可供參考,我們只好不斷打擾可以找到的任何一個了解Exadata的人。 在2010年春天的Hotsos論壇(Hotsos Symposium)上,Kevin Closson和Dan Norris非常熱心地回答了我們的很多問題。過后Kevin聯系了我,并自薦為本書正式的技術評審員。于是,Randy和我在整個夏天和初秋都在辛苦地學習,以盡可能掌握所有的東西。 在2010年9月的Oracle Open World大會上,我幸運地碰到了Tanel,我們說起了一個Exadata客戶,Tanel剛好幫助這個客戶做了一些移植工作。好事成雙,最終他同意加入作者的行列。在這次Open World大會上,Oracle宣布了新的X2型號的機器,我們剛剛起步,卻已經落后于技術的發展了。 2011年1月,X2平臺開始出現在客戶現場。Enkitec再一次決定對此技術進行投資,我們很自豪地擁有了一臺四分之一機柜配置的Exadata X2-2。事實上,我們決定利用X2的組件把原有的V2四分之一機柜升級到半機柜。這看起來既有利于學習升級,又可以了解把兩個不同版本的組件混合在一起是否有問題(事實上沒有問題)。這是一個重要的里程碑。 一切都在變化 就如大多數新軟件一樣,Exadata自2008年底推出以來迅速發展。它帶來的變化包含了很多重要的新功能。事實上,此項目的難點之一在于跟上這些變化。由于寫作本書期間軟件行為的變化,一些章節歷經了幾次修訂。在本書中我們試圖涵蓋的最后一個版本組合是數據庫11.2.0.2 bundle patch 6和cellsrv 11.2.2.3.2。注意在過去兩年間發布了很多補丁,同時有多種數據庫版本、補丁級別和cellsrv版本的可能組合。因此,很有可能你觀察到的行為與我們所記錄的并不一致。我們歡迎你的反饋,并會很高興地解決你所發現的不一致的問題。事實上,這本書是Apress的Alpha計劃的一部分,它允許讀者下載這本書的早期草稿。在我們寫作和編輯此書的過程中,此計劃的參與者們提供了很多反饋。我們內心充滿感激,更驚訝于你們所提供的如此之多的詳盡的細節信息。 對志愿編輯們的感謝 在此項目上,我們得到了一些人的大力支持。讓正式技術評審員在書中插入評論是有那么一點古怪。在這種情況下,誰去審核評審員的文字呢?幸運的是,在項目的前期,Arup Nanda就但任起了編輯志愿者的角色。因此,除了作者們相互評審各自的章節,Kevin評審所有的章節,Arup會閱讀所有的內容并進行評論,這其中也包含Kevin的評論。另外,Oak Table Network的很多成員在此過程中對各章節也給予了反饋,尤其是Frits Hoogland 和 Peter Bach提供了寶貴的意見。 當本書被加入到Apress的Alpha計劃后,我們得到了一批新的評審員。通過這種格式出版的章節的早期版本得到了很多人的反饋。感謝給我們提出問題和在某些議題上幫助我們理清思路的所有人。特別是Oracle的Tyler Muth對此項目表現出了極大的興趣,給我們提供了非常詳細的反饋。他同時給我們和Oracle內部的其他資源架起了橋梁,如Sue Lee,她對資源管理一章進行了非常細致的評審。 最后,我想感謝Enkitec的技術團隊。有許多人幫助我們在此道路上前行,在Randy和我工作于此項目上時(而非我們真正的工作),他們幫助我們拾起落下的工作。幫助我們的人太多,我無法一一列舉每個人的名字。如果你在Enkitec工作,并且在過去的幾年里從事有關Exadata的工作,你已經為本書做出了貢獻。我還想特別感謝Tim Fox,雖然他忙于很多事情,包括他自己的出書項目,但他還是為我們繪制了大量的示意圖。我們也要特別感謝此項目的另一個主要貢獻者Andy Colvin,他在幾方面對我們幫助很大,首先,他主要負責維護我們的測試環境,包括對平臺的升級和打補丁工作,從而我們可以在第一時間測試最新的特性和軟件變化帶來的影響,其次,在Randy和我忙于寫作期間,他在實施Exadata的客戶現場幫忙保持整個團隊的戰斗力,再次,他幫助我們弄清楚各種特性是如何工作的,特別是關于安裝、配置和連接到外部系統這些主題,如果沒有他,這個項目會很難完成。 本書的作者 本書有三位作者,如果算上Kevin,那就是四位了。這是我們四人通力合作的結果。但為了方便工作劃分,我們都贊成各自負責一部分章節。開始時Randy和我啟動這個項目,不久Tanel加入進來(因此在任務分配方面,他的工作會稍微輕一些,不過他是這個團隊中非常有價值的一部分,他幫助我們對那些不具體分配給他的領域進行了研究)。以下是本書工作的具體分工。 Kerry:第1∼6章、第10章、第16章。 Randy:第7∼9章、第14∼15章、第13章的一半。 Tanel:第11∼12章、第13章的另一半。 Kevin:以“Kevin 說”標志的段落。 聯機資源 在這本書中,我們使用了一些腳本。如果腳本比較短,或者我們覺得腳本本身值得關注,我們會在書上包含它的內容。如果腳本太長,或者不是非常有意思,我們可能會選擇不包含腳本的內容。你可以在網站www.ExpertOracleExadata.com上找到我們在本書中使用的所有腳本的源代碼。附錄C包含了所有診斷腳本的列表,以及對它們使用目的的一個簡要說明。 關于“Kevin 說”的一點說明 Kevin Closson是本書的主要技術審校者,Kevin是Oracle的SAGE項目的首席性能架構師,SAGE其實就是Exadata的前身,因此,他不但對Exadata如何工作,而且對Exadata應該如何工作和為什么如此工作都有非常深入的了解。作為技術審校者,他的職責是對我們所寫的東西進行審校,并驗證它的正確性。一般的工作流程是:一個作者提交某一章節的草稿版本,Kevin對其進行審校并附以相關的評論。隨著工作的展開,我們發現把Kevin的一些評論加入到本書中或許是一個好主意,這能夠給大家提供一個了解此過程的獨特視角。Kevin的評論非常特別,是言簡意賅的典范。在此項目過程中,我發現我自己會多次回去查閱那些短小的評論和郵件,隨著對某個主題的進一步熟悉,我發現它們表達了更多的含義。因此我建議你也采用類似的方式,當閱讀一個章節時同時閱讀他的評論,在完成這一章節時,請嘗試重新閱讀他的評論,我想在第二遍時,你會發現你讀懂了更多的東西。 我們如何測試 當我們開始此項目時,數據庫的版本是11.2.0.1。因此一些章節的初始測試環境采用的就是這個版本的數據庫,還有在存儲節點上的各種級別的補丁。當11.2.0.2發布后,我們回去進行重新測試。我們會努力指出顯著不同的地方,但有些部分是在11.2.0.2發布之后才開始編寫的,因此對于這些部分,我們可能不會提及其與11.2.0.1行為上的不同。我們使用V2和X2硬件組件的組合進行測試工作。除了X2的速度更快之外,它們之間基本上沒有什么區別。 數據庫用戶和表 你會發現本書的一些例子用到了幾個數據庫表。Tanel使用了一個叫做T的表,如下所示: SYS@SANDBOX1> @table_stats Owner : TANEL Table : T Name Null? Type ----------------------------------------- -------- ---------------------------- OWNER VARCHAR2(30) NAME VARCHAR2(30) TYPE VARCHAR2(12) LINE NUMBER TEXT VARCHAR2(4000) ROWNUM NUMBER ========================================================================== Table Statistics ========================================================================== TABLE_NAME : T LAST_ANALYZED : 10-APR-2011 13:28:55 DEGREE : 1 PARTITIONED : NO NUM_ROWS : 62985999 CHAIN_CNT : 0 BLOCKS : 1085255 EMPTY_BLOCKS : 0 AVG_SPACE : 0 AVG_ROW_LEN : 104 MONITORING : YES SAMPLE_SIZE : 62985999 ----------------- ========================================================================== Column Statistics ========================================================================== Name Analyzed NDV Density # Nulls # Buckets Sample ========================================================================== OWNER 04/10/2011 21 .047619 0 1 62985999 NAME 04/10/2011 5417 .000185 0 1 62985999 TYPE 04/10/2011 9 .111111 0 1 62985999 LINE 04/10/2011 23548 .000042 0 1 62985999 TEXT 04/10/2011 303648 .000003 0 1 62985999 ROWNUM 04/10/2011 100 .010000 0 1 62985999 我使用SKEW表的幾個不同的變體,最常使用的是SKEW3,如下所示: SYS@SANDBOX1> @table_stats Owner : KSO Table : SKEW3 Name Null? Type ----------------------------------------- -------- ---------------------------- PK_COL NUMBER COL1 NUMBER COL2 VARCHAR2(30) COL3 DATE COL4 VARCHAR2(1) NULL_COL VARCHAR2(10) ============================================================================== Table Statistics ============================================================================== TABLE_NAME : SKEW3 LAST_ANALYZED : 10-JAN-2011 19:49:00 DEGREE : 1 PARTITIONED : NO NUM_ROWS : 384000048 CHAIN_CNT : 0 BLOCKS : 1958654 EMPTY_BLOCKS : 0 AVG_SPACE : 0 AVG_ROW_LEN : 33 MONITORING : YES SAMPLE_SIZE : 384000048 ----------------- ============================================================================== Column Statistics ============================================================================== Name Analyzed NDV Density # Nulls # Buckets Sample ============================================================================== PK_COL 01/10/2011 31909888 .000000 12 1 384000036 COL1 01/10/2011 902848 .000001 4 1 384000044 COL2 01/10/2011 2 .500000 12 1 384000036 COL3 01/10/2011 1000512 .000001 12 1 384000036 COL4 01/10/2011 3 .333333 12 1 384000036 NULL_COL 01/10/2011 1 1.000000 383999049 1 999 這些詳細的信息對于理解示例應該不是必需的,但如果你對這些表有什么疑問,這里的信息可供參考。當然我們也使用了其他的表,這些只是我們最常使用的。 祝你好運 我們的Exadata探索之旅如同一場狂歡的盛宴。希望你能如我們一樣,盡情享受這個探索歷程,也希望這本書能夠提供一個構建你自己知識框架的平臺。我覺得我們只是剛剛掀開了Exadata所展現的無盡可能性的面紗的一角。開始你的研究之旅吧,祝你好運,請隨時在網站www.ExpertOracleExadata.com上向我們提問,并和我們分享你的發現。 |
內容簡介:本書深入地詮釋了Exadata的各項特性,如智能掃描、混合列式存儲、存儲索引、智能閃存、IO資源管理;系統地介紹了如何安裝、配置和管理Exadata;完美地闡述了Exadata的等待事件、性能監控和調優方法;詳細地剖析了計算節點和存儲節點的內部原理;全面地分享了作者們在實際項目中所獲得的寶貴經驗,如怎樣進行大數據的高效移植、Exadata上的一些常見誤區、數據庫資源管理,等等。本書是實踐經驗的總結和升華,可讀性極強,不僅有對Exadata深入的研究,還有對它們優雅的展現,它將帶領讀者進入Exadata的殿堂。 |
目錄:第5章 目 錄
作者介紹 xxxi 技術審校者 xxxiii 致謝 xxxv 前言 xxxvii 第1章 Exadata是什么 1 1.1 Exadata概覽 2 1.2 Exadata的歷史 3 1.3 不同的視角 4 1.3.1 數據倉庫設備 4 1.3.2 聯機事務處理機器 5 1.3.3 合并平臺 5 1.4 可選配置 6 1.4.1 Exadata Database Machine X2-2 6 1.4.2 Exadata Database Machine X2-8 7 1.5 硬件組件 8 1.5.1 操作系統 9 1.5.2 數據庫服務器 9 1.5.3 存儲服務器 9 1.5.4 InfiniBand 10 1.5.5 閃存 10 1.5.6 磁盤 10 1.5.7 其他雜項 10 1.6 軟件組件 11 1.6.1 數據庫服務器軟件 11 1.6.2 存儲服務器軟件 14 1.7 軟件架構 16 1.8 總結 20 第2章 卸載/智能掃描 21 2.1 為何卸載如此重要 21 2.2 卸載包含了什么 25 2.2.1 字段投影 25 2.2.2 謂詞過濾 30 2.2.3 存儲索引 32 2.2.4 簡單連接(布隆過濾) 33 2.2.5 函數卸載 36 2.2.6 壓縮/解壓縮 38 2.2.7 加密/解密 40 2.2.8 虛擬列 40 2.2.9 數據挖掘模型評分 43 2.2.10 非智能掃描類型的卸載 44 2.3 智能掃描的先決條件 45 2.3.1 全掃描 45 2.3.2 直接路徑讀取 45 2.3.3 Exadata存儲 46 2.4 無法使用智能掃描的情況 49 2.4.1 未實現的功能 49 2.4.2 轉換為塊運輸模式 49 2.4.3 跳過某些卸載操作 50 2.5 如何驗證智能掃描確實發生 50 2.5.1 10046跟蹤 52 2.5.2 性能統計(v$sessstat) 53 2.5.3 卸載適用字節 55 2.5.4 SQL監控 60 2.6 參數 63 2.7 總結 67 第3章 混合列式壓縮 69 3.1 Oracle存儲概述 69 3.2 Oracle壓縮機制 72 3.2.1 BASIC 72 3.2.2 OLTP 72 3.2.3 HCC 72 3.3 HCC工作機制 76 3.4 HCC性能 77 3.4.1 加載性能 77 3.4.2 查詢性能 82 3.4.3 DML性能 88 3.5 預期壓縮率 98 3.5.1 壓縮助手 98 3.5.2 真實案例 101 3.6 限制與挑戰 107 3.6.1 遷移數據到非Exadata平臺 107 3.6.2 關閉串行直接路徑讀取 108 3.6.3 鎖的問題 108 3.6.4 單行訪問 109 3.7 常見的使用場景 110 3.8 總結 111 第4章 存儲索引 113 4.1 結構 113 4.2 監控存儲索引 114 4.2.1 數據庫統計值 115 4.2.2 跟蹤 116 4.2.3 總結 119 4.3 控制存儲索引 119 4.3.1 _kcfis_storageidx_disabled 120 4.3.2 _kcfis_storageidx_diag_mode 120 4.3.3 _cell_storidx_mode 120 4.3.4 存儲軟件參數 121 4.4 行為 121 4.5 性能 122 4.5.1 為空值進行特殊優化 124 4.5.2 字段值的物理分布 125 4.6 潛在問題 127 4.6.1 不正確的結果 127 4.6.2 類型轉換 128 4.6.3 分區大小 131 4.6.4 不兼容的編程技巧 131 4.7 總結 133 第5章 Exadata智能閃存 135 5.1 硬件 135 5.2 Cache vs. Flash Disk 136 5.2.1 使用閃存作為緩存 137 5.2.2 如何創建ESFC 142 5.2.3 控制ESFC的使用 144 5.3 監控 145 5.3.1 存儲監控 145 5.3.2 數據庫監控 148 5.4 性能 149 5.5 總結 151 第6章 Exadata并行操作 153 6.1 參數 153 6.2 存儲層的并行 154 6.3 自動并行度 155 6.3.1 操作和配置 155 6.3.2 I/O基準測試 158 6.3.3 自動并行度調整小結 162 6.4 并行語句隊列 162 6.4.1 老方法 162 6.4.2 新方法 163 6.4.3 控制并行隊列 167 6.4.4 并行語句隊列小結 175 6.5 內存并行執行 176 6.6 總結 186 第7章 資源管理 187 7.1 數據庫資源管理器 188 7.1.1 使用者組 189 7.1.2 計劃指令 193 7.1.3 資源計劃 194 7.1.4 資源管理器視圖 195 7.1.5 等待事件:resmgr:cpu quantum 196 7.1.6 一個DBRM的例子 197 7.1.7 測試資源計劃 202 7.2 實例隔離 210 7.2.1 配置和測試實例隔離 211 7.2.2 過量分配 215 7.3 I/O 資源管理器 216 7.3.1 IORM如何工作 218 7.3.2 Exadata管理I/O的方法 221 7.3.3 把所有的一切組合在一起 227 7.3.4 IORM監控和指標 230 7.4 總結 244 第8章 Exadata的配置 245 8.1 Exadata的網絡組件 245 8.1.1 管理網絡 246 8.1.2 客戶端訪問網絡 246 8.1.3 私有網絡 247 8.2 關于配置過程 248 8.3 配置Exadata 250 8.3.1 第1步:配置工作 250 8.3.2 第2步:DBM配置器 259 8.3.3 第3步:上傳參數和部署文件 260 8.3.4 第4步:CheckIP(checkip.sh) 263 8.3.5 第5步:第一次引導Firstboot 265 8.3.6 第6步:準備安裝介質 268 8.3.7 第7步:運行OneCommand 269 8.4 升級Exadata 273 8.4.1 創建一個新的RAC集群 273 8.4.2 升級現有的群集 275 8.5 總結 278 第9章 Exadata的恢復 279 9.1 Exadata的診斷工具 279 9.1.1 Sun Diagnostics:sundiag.sh 280 9.1.2 健康檢查HealthCheck 282 9.1.3 CellCLI 283 9.2 Exadata的備份 287 9.2.1 數據庫服務器的備份 288 9.2.2 存儲節點的備份 292 9.3 數據庫的備份 298 9.3.1 基于磁盤的備份 298 9.3.2 基于磁帶的備份 298 9.3.3 從Standby數據庫上進行備份 299 9.3.4 Exadata對RMAN的優化 300 9.4 Exadata的恢復 301 9.4.1 數據庫服務器的恢復 301 9.4.2 存儲節點的恢復 305 9.5 總結 325 第10章 Exadata等待事件 327 10.1 Exadata特有的事件 327 10.1.1 節點事件 328 10.1.2 觸發事件的執行計劃步驟 329 10.2 用戶I/O類別中的Exadata等待事件 331 10.2.1 cell smart table scan 332 10.2.2 cell smart index scan 335 10.2.3 cell single block physical read 337 10.2.4 cell multiblock physical read 339 10.2.5 cell list of blocks physical read 340 10.2.6 cell smart file creation 341 10.2.7 cell statistics gather 342 10.3 系統I/O類別中的Exadata等待事件 343 10.3.1 cell smart incremental backup 343 10.3.2 cell smart restore from backup 344 10.4 其他類別和空閑類別中的Exadata等待事件 346 10.4.1 cell smart flash unkeep 346 10.5 舊事件 347 10.5.1 direct path read 347 10.5.2 enq: KO—fast object checkpoint 348 10.5.3 reliable message 349 10.6 資源管理事件 350 10.6.1 resmgr:cpu quantum 350 10.6.2 resmgr:pq queued 351 10.7 總結 352 第11章 理解Exadata的性能指標 353 11.1 Exadata性能指標的衡量 353 11.2 重溫Exadata智能掃描的先決條件 354 11.2.1 Exadata智能掃描的性能 354 11.2.2 理解Exadata智能掃描指標和性能計數器 358 11.3 Exadata的動態性能計數器 359 11.3.1 何時及如何使用性能計數器 359 11.3.2 Exadata的性能計數器的含義和說明 363 11.3.3 Exadata的性能計數器參考 366 11.4 了解SQL語句的性能 383 11.5 總結 386 第12章 Exadata性能監控 387 12.1 系統方法論 387 12.2 SQL語句的響應時間監控 388 12.2.1 利用實時的SQL 監控報告對SQL語句進行監控 389 12.2.2 使用V$SQL和V$SQLSTATS監控SQL語句 400 12.3 監控存儲節點 403 12.3.1 在存儲節點利用CellCLI訪問性能指標 403 12.3.2 使用Grid Control的Exadata存儲服務器插件訪問性能指標 404 12.3.3 使用哪些性能指標 413 12.3.4 監控Exadata 存儲節點的OS性能 414 12.4 總結 427 第13章 遷移到Exadata 429 13.1 遷移策略 430 13.2 邏輯遷移 430 13.2.1 抽取和加載 431 13.2.2 通過數據庫鏈復制數據 437 13.2.3 基于同步復制的遷移 454 13.2.4 邏輯遷移小結 461 13.3 物理遷移 461 13.4 備份和恢復 462 13.4.1 全備份和恢復 462 13.4.2 增量備份 464 13.4.3 傳輸表空間(和跨平臺傳輸表空間XTTS) 465 13.4.4 物理Standby 468 13.4.5 ASM重平衡 470 13.4.6 遷移后的任務 473 13.4.7 物理遷移小結 474 13.5 總結 475 第14章 存儲設計 477 14.1 Exadata 磁盤架構 477 14.1.1 失效組 478 14.1.2 網格盤 480 14.1.3 存儲分布 482 14.2 創建網格盤 486 14.2.1 創建網格盤 487 14.2.2 網格盤大小 488 14.2.3 創建基于閃存盤的網格盤 491 14.3 存儲策略 493 14.3.1 配置選項 493 14.3.2 隔離存儲節點訪問 494 14.4 節點安全策略 496 14.4.1 節點安全策略的術語 496 14.4.2 節點安全策略最佳實踐 497 14.4.3 配置ASM范圍安全策略 497 14.4.4 配置數據庫范圍安全策略 499 14.4.5 刪除節點安全策略 501 14.5 總結 503 第15章 計算節點設計 505 15.1 配置考慮 505 15.2 Non-RAC環境配置 507 15.3 RAC集群 511 15.4 Exadata典型配置 514 15.5 Exadata集群 515 15.6 總結 516 第16章 忘記已知 517 16.1 雙系統記 517 16.2 類型負載 517 16.2.1 Exadata Smart Flash Cache (ESFC) 518 16.2.2 可擴展性 519 16.2.3 寫密集型OLTP負載 519 16.3 DW類型負載 519 16.3.1 啟用智能掃描 520 16.3.2 阻礙智能掃描的因素 522 16.3.3 其他注意事項 533 16.4 混合負載 535 16.4.1 要索引還是不要? 535 16.4.2 優化器的局限 536 16.4.3 使用資源管理器 540 16.5 總結 540 附錄A CellCLI和dcli 541 附錄B Exadata在線資源 553 附錄C 診斷腳本 555 |
序: |
|