DBA的思想天空

出版時(shí)間:2012-10-18  出版社:人民郵電出版社  作者:白 鱔,儲(chǔ)學(xué)榮  頁(yè)數(shù):432  
Tag標(biāo)簽:無(wú)  

前言

寫完《Oracle優(yōu)化日記:一個(gè)金牌DBA的故事》和《ORACLE RAC日記》后,很多網(wǎng)友問(wèn)我下面是否會(huì)繼續(xù)寫書(shū)。我的想法還是和以前一樣,先整理整理自己的思路,寫一些東西發(fā)在Oracle粉絲網(wǎng)上,寫過(guò)一段時(shí)間再根據(jù)已經(jīng)完成的內(nèi)容決定新書(shū)的結(jié)構(gòu)。開(kāi)始我是想把新書(shū)寫成DBA日記系列第三部的,不過(guò)寫作的過(guò)程中才發(fā)現(xiàn)這種模式寫下去有一點(diǎn)千篇一律的感覺(jué)了,很多案例從根本上看十分相似。有一次和同事老儲(chǔ)聊天的時(shí)候,他提到現(xiàn)在很多年輕人不會(huì)按照Oracle的內(nèi)在原理去考慮問(wèn)題,從而導(dǎo)致經(jīng)常出現(xiàn)常識(shí)性的錯(cuò)誤。他的這句話就像火花一樣在我腦海中閃現(xiàn),Thinking in Oracle這幾個(gè)英文詞匯就出現(xiàn)在我的腦中。如果每個(gè)人都能以O(shè)racle的基本原理為依據(jù)去考慮問(wèn)題,那不是很好嗎?老儲(chǔ)的英文名字是John,在我的朋友里有兩個(gè)John。一個(gè)是老外John,我還在玩ICQ的時(shí)候認(rèn)識(shí)的網(wǎng)友,一個(gè)Oracle技術(shù)狂人。不過(guò)老外John現(xiàn)在已經(jīng)成為一家銀行的IT技術(shù)主管,隨著歲月的流逝,當(dāng)年的技術(shù)狂人現(xiàn)在已經(jīng)成了狂熱的人文主義者。去年圣誕新年假期他剛剛完成了10000公里行程的中南美洲自駕游,所到之處全部入住當(dāng)?shù)刈罡呒?jí)的酒店,吃當(dāng)?shù)刈畎嘿F的美食,還常常邂逅美女,雖然郵件還只是寥寥數(shù)字,但是羨慕嫉妒恨已經(jīng)讓我把這個(gè)資本主義的老家伙好好罵了幾天。另外一個(gè)John就是老儲(chǔ),他屬于睡在我對(duì)面的弟兄,我大學(xué)時(shí)的室友。自從1995年我把他從unixware漢化小組忽悠到深圳后,我們一直在一起合作。老儲(chǔ)是個(gè)很低調(diào)的人,低調(diào)到第一次和客戶打交道的時(shí)候客戶可能會(huì)質(zhì)疑他的能力,不過(guò)隨著和他交往的深入,你可以發(fā)現(xiàn)他的深不可測(cè)。老儲(chǔ)的建議讓我重新定義了本書(shū)的結(jié)構(gòu),把它分為基礎(chǔ)知識(shí)、工具、方法和案例四大部分。不過(guò)隨著寫作的深入,我發(fā)現(xiàn)這個(gè)工作是十分艱巨的。這樣一本書(shū)結(jié)構(gòu)之大,內(nèi)容之龐雜,遠(yuǎn)遠(yuǎn)超出了我的想象。于是我重新調(diào)整結(jié)構(gòu),將工具這一部分的內(nèi)容從書(shū)中拿掉,準(zhǔn)備獨(dú)立成書(shū),把方法和案例用兩章講完。這樣調(diào)整后本書(shū)的內(nèi)容更為緊湊,篇幅也可以控制在450頁(yè)左右。更大的驚喜也接踵而來(lái),我終于說(shuō)服了老儲(chǔ),讓他參與到本書(shū)的寫作中來(lái)。其實(shí)第一次和老儲(chǔ)溝通這本書(shū)的時(shí)候我就邀請(qǐng)過(guò)他,不過(guò)被他以沒(méi)空為由拒絕了。老儲(chǔ)是一個(gè)懶散的人,我每次給他布置寫文檔的任務(wù),他總是在快到期的時(shí)候才開(kāi)始動(dòng)手,不過(guò)每次提交的東西都讓人無(wú)可挑剔。能讓這么靠譜的人參與本書(shū)的寫作,確實(shí)可以為書(shū)增色不少。老儲(chǔ)憑著深厚的開(kāi)發(fā)功力,在性能優(yōu)化方面具有很敏銳的觀察力,往往能夠在很短很短的時(shí)間內(nèi)找到系統(tǒng)的關(guān)鍵問(wèn)題,而且他在Oracle文件結(jié)構(gòu)和ASM的結(jié)構(gòu)方面的研究很深,自己也編寫了一個(gè)類似DUL的工具。有了他的加入,關(guān)于ASM原理和數(shù)據(jù)文件結(jié)構(gòu)這部分內(nèi)容我就可以推給他了。此前我正為這兩節(jié)犯愁,考慮是否在書(shū)中去掉這兩節(jié),補(bǔ)充一些其他內(nèi)容。老儲(chǔ)的加入使這兩節(jié)保留了下來(lái),對(duì)于數(shù)據(jù)文件結(jié)構(gòu)和ASM文件結(jié)構(gòu)感興趣的朋友可能會(huì)感到慶幸,保留這兩節(jié)也使得本書(shū)的內(nèi)容更加豐富。我給本書(shū)起的名字是《Thinking in ORACLE之DBA的思想天空》,主編覺(jué)得這是一個(gè)十分霸氣的名字。實(shí)際上,透過(guò)某個(gè)事物的本質(zhì)去看問(wèn)題,無(wú)論針對(duì)什么,都是比較高的境界。對(duì)于某些事情,在沒(méi)有弄清楚其本質(zhì)之前,我們往往難以找到正確的應(yīng)對(duì)方法,雖然偶爾我們會(huì)像瞎貓碰到死耗子一樣歪打正著,但是好運(yùn)氣不會(huì)總是伴隨著你。就像前些年,我不了解“回南天”的成因,因此在每年的2、3月份總是十分痛苦。在廣東沿海生活過(guò)的人都知道每年的春天總是會(huì)碰到回南天,時(shí)間有長(zhǎng)有短,至少也在半個(gè)月左右。在回南天里,家里到處都是濕漉漉的,地上、墻上甚至天花板上都會(huì)滲出水珠。在這樣的環(huán)境中生活半個(gè)月,絕對(duì)是十分恐怖的事情。為了讓家里盡快干起來(lái),我的第一反應(yīng)是門窗大開(kāi),同時(shí)用風(fēng)扇拼命扇風(fēng)。不過(guò)這樣處理并不能減輕返水的現(xiàn)象,有時(shí)候反而水更加多了。后來(lái)我請(qǐng)教了一位搞大氣海洋研究的人,他告訴我回南天的成因是春天東南季風(fēng)帶來(lái)大量的水氣,而當(dāng)氣溫回升的時(shí)候,室外氣溫高于室內(nèi)氣溫,濕熱的空氣遇到室內(nèi)較冷的物體時(shí),就會(huì)發(fā)生冷凝現(xiàn)象,從而就引發(fā)了反水的現(xiàn)象。一旦了解了回南天的成因,就很容易找到對(duì)付回南天的辦法了,只要碰到氣溫大幅度回升的天氣,就門窗緊閉??恐@個(gè)辦法,我終于擺脫了回南天的困擾,無(wú)論門外的走廊濕成什么樣,我家的地上總是干干的。后來(lái)每當(dāng)我看到朋友家里滿地積水的時(shí)候,就會(huì)把這個(gè)方法教給他們,他們也逐漸遠(yuǎn)離了回南天的困擾。從這個(gè)生活案例中,我們也可以看到,一旦了解了問(wèn)題的本質(zhì),就很容易找到正確的解決方法。而沒(méi)有理解問(wèn)題本質(zhì)的時(shí)候,我們所采取的應(yīng)對(duì)措施不一定是靠譜的。這個(gè)原則應(yīng)用到Oracle數(shù)據(jù)庫(kù)方面,也是一樣的。對(duì)于每個(gè)來(lái)應(yīng)聘DBA的人我都會(huì)問(wèn)他們一個(gè)問(wèn)題:“Oracle到底是什么?”有些人會(huì)用數(shù)據(jù)庫(kù)基礎(chǔ)的理論來(lái)回答我:“數(shù)據(jù)庫(kù)是數(shù)據(jù)的集合。”也有些人會(huì)感到茫然,不知道我問(wèn)這個(gè)問(wèn)題是什么意思。實(shí)際上很多Oracle DBA從來(lái)沒(méi)有思考過(guò)這個(gè)問(wèn)題。“Oracle就是Oracle,是一個(gè)產(chǎn)品,還能有什么意思呢?我不知道Oracle到底是什么也沒(méi)有影響到我做一個(gè)合格的DBA。”很多人都會(huì)這么想。實(shí)際上對(duì)于Oracle我們確實(shí)還需要重新去認(rèn)識(shí)認(rèn)識(shí),每個(gè)DBA在學(xué)習(xí)Oracle的時(shí)候都往往注重于學(xué)習(xí)如何建庫(kù)、如何管理、如何編程、如何優(yōu)化。我們總在不停地去學(xué)習(xí)一些方法,學(xué)習(xí)一些秘籍。如果偶爾學(xué)到了一些不傳之秘,都會(huì)感到興奮異常。也有些人使用這些秘籍解決了一些疑難雜癥,成為了大家傳說(shuō)中的高手。雖然說(shuō)這也是學(xué)習(xí)Oracle數(shù)據(jù)庫(kù)最為常見(jiàn)的一種方法,但是這樣學(xué)習(xí)下去,我們總是在記憶一些枯燥的語(yǔ)法和腳本,雖然經(jīng)過(guò)數(shù)年我們積累下了大量的經(jīng)驗(yàn),但還是無(wú)法真正地理解Oracle,數(shù)據(jù)庫(kù)升級(jí)了,系統(tǒng)變化了,我們就必須從頭去學(xué)習(xí)。常年累月,我們總是在一次一次循環(huán)往復(fù)地重復(fù)著同樣的事情,直到筋疲力盡,對(duì)Oracle失去往日的激情,最終DBA只是一個(gè)職業(yè),Oracle只是我們謀生的手段。這樣學(xué)習(xí)下去,幾年后,很多人就會(huì)碰到瓶頸,雖然說(shuō)自己處理問(wèn)題的能力和工作經(jīng)驗(yàn)已經(jīng)很豐富了,但是技術(shù)好像停滯不前了。我周圍一些做了五六年DBA工作的朋友都遇到過(guò)類似的情況,他們咨詢我的時(shí)候,我告訴他們,這是因?yàn)榻?jīng)驗(yàn)的積累已經(jīng)到了一定程度,需要對(duì)Oracle基礎(chǔ)概念有更深刻的認(rèn)識(shí)。這種情況下,你需要靜下心來(lái)認(rèn)真看書(shū),學(xué)習(xí)Oracle的基礎(chǔ)概念,只有徹底搞清楚了這些,才能跨過(guò)這道坎,達(dá)到一個(gè)新的境界。絕大多數(shù)工作了五六年的朋友已經(jīng)無(wú)法靜下心來(lái)做這些事情了,因此他們失去了突破的機(jī)會(huì)。不過(guò)也沒(méi)關(guān)系,大多數(shù)人選擇了新的職業(yè)規(guī)劃,從事管理,或者轉(zhuǎn)向售前、業(yè)務(wù)專家等職位。事實(shí)上,我們可以換一種方式來(lái)學(xué)習(xí)Oracle,讓Oracle的精神融入DBA的血液中,讓DBA像Oracle一樣思考問(wèn)題,使Oracle成為我們的愛(ài)好,作為我們生命的一部分存在。對(duì)于大多數(shù)DBA來(lái)說(shuō),這也許只是一個(gè)烏托邦式的理想,多數(shù)DBA只是需要有一份工作,需要靠這份工作來(lái)生存,娶妻生子,享受生活。并不是所有的人都希望讓Oracle成為自己生命的一部分,這是很現(xiàn)實(shí)的,不過(guò)我們雖然可以僅僅把Oracle當(dāng)做是謀生手段,但也還是可以同時(shí)嘗試了解Oracle更多的本質(zhì),像Oracle一樣思考。對(duì)大多數(shù)人而言,像Oracle一樣思考雖然不能帶給你更多的生活樂(lè)趣,但是通過(guò)以這樣的方式去學(xué)習(xí)和思考,會(huì)更加精確地了解Oracle的精髓,讓自己在DBA的成長(zhǎng)過(guò)程中少走彎路。10多年前我第一次接觸Java的時(shí)候,感到十分頭痛。不是自夸,10多年前,我是一個(gè)相當(dāng)不錯(cuò)的C程序員,最高紀(jì)錄是一天之內(nèi)編寫500多行復(fù)雜的代碼,而且一次性編譯通過(guò),一次性測(cè)試通過(guò),這樣的記錄的誕生是基于十分良好的過(guò)程思維能力的。不過(guò)我這個(gè)自封的編程高手第一次接觸Java的時(shí)候,卻感到十分吃力。我無(wú)法用面向?qū)ο蟮乃枷肴ゾ帉懗绦颍詫W(xué)起Java來(lái)十分痛苦,幾次學(xué)習(xí),最后都放棄了。直到有一天我看到了一本英文的書(shū)籍Thinking in Java,通過(guò)這本書(shū),我掌握了Java和面向?qū)ο笤O(shè)計(jì)、編程的主要思路。自從看了這本書(shū)之后,我再次面對(duì)Java程序的時(shí)候,發(fā)現(xiàn)一切都是那么地簡(jiǎn)單,很快我就掌握了Java編程?,F(xiàn)在我雖仍然還只是一個(gè)三流的Java程序員,不過(guò)粉絲網(wǎng)的一些修修補(bǔ)補(bǔ)的工作我完全能夠勝任了,而且在和一些Java開(kāi)發(fā)人員交流的時(shí)候,我也能夠很快地理解他們的思路。后來(lái)我總結(jié)了一下,在看Thinking in Java這本書(shū)之前,我在編寫Java程序的時(shí)候,并沒(méi)有理解面向?qū)ο缶幊痰母拍?,只能是照貓?huà)虎,拿著一個(gè)例子在上面修改。實(shí)際上我的編程風(fēng)格還是面向過(guò)程的,因此寫出來(lái)的代碼質(zhì)量很差。而通過(guò)閱讀Thinking in Java,我終于學(xué)會(huì)了面向?qū)ο蟮姆椒ǎ肑ava本身的思想去考慮問(wèn)題,因此能夠更加準(zhǔn)確地抓住問(wèn)題的本質(zhì)。我想,學(xué)習(xí)Oracle數(shù)據(jù)庫(kù)也是這樣,如果我們通過(guò)一個(gè)又一個(gè)案例去學(xué)習(xí)Oracle,那么將永遠(yuǎn)停留在表層上。有些DBA只能重復(fù)相同的案例,這樣的DBA,哪怕干上10年20年,也可能只學(xué)到Oracle的一些皮毛,碰到一個(gè)沒(méi)有見(jiàn)到的案例,可能就會(huì)感到手足無(wú)措。而水平高一些的DBA往往能夠判斷出案例的相似性,并通過(guò)分析找到類似案例的解決方法,這其實(shí)就是因?yàn)橥高^(guò)現(xiàn)象看到了問(wèn)題的本質(zhì)。很多DBA可能都碰到過(guò)我下面所說(shuō)的一些問(wèn)題,有時(shí)候我們無(wú)法評(píng)估某項(xiàng)調(diào)整可能對(duì)系統(tǒng)帶來(lái)的影響,有時(shí)候我們面對(duì)一個(gè)復(fù)雜局面的時(shí)候很難快速找到問(wèn)題的關(guān)鍵,也有時(shí)候我們?cè)跒榻鉀Q某種等待事件而感到無(wú)從入手。實(shí)際上,遇到這些問(wèn)題,都是因?yàn)槿狈?duì)于Oracle內(nèi)部原理的充分認(rèn)識(shí)。在很多情況下,當(dāng)經(jīng)驗(yàn)無(wú)法為我們提供足夠支持的時(shí)候,就必須從原理出發(fā)進(jìn)行思考,才有可能真正掌握問(wèn)題的根源,從而解決問(wèn)題。前幾天我在一個(gè)客戶現(xiàn)場(chǎng)做數(shù)據(jù)拯救工作的時(shí)候,他們的備庫(kù)(也就是現(xiàn)在的主生產(chǎn)庫(kù))突然宕機(jī)了,當(dāng)時(shí)客戶正在做一個(gè)刪除臨時(shí)文件的操作,領(lǐng)導(dǎo)就認(rèn)為他這個(gè)操作導(dǎo)致了宕機(jī),而操作人員也覺(jué)得很冤枉,因?yàn)檫@是一個(gè)十分常規(guī)的操作。我看了看日志文件,從日志上看不出任何由于臨時(shí)表空間和臨時(shí)段操作引起的問(wèn)題,同時(shí)又看到了一個(gè)好像是人工操作停庫(kù)的信息,于是推斷可能是人為操作所致。后來(lái)經(jīng)過(guò)多方面查證,確實(shí)是有個(gè)DBA在家里遠(yuǎn)程做維護(hù)的時(shí)候,發(fā)現(xiàn)操作HANG住了,情急之下,直接重啟了數(shù)據(jù)庫(kù)。如果你不了解臨時(shí)段和臨時(shí)表空間操作的原理,面對(duì)這個(gè)問(wèn)題,很可能一上來(lái)就把重點(diǎn)放在刪除臨時(shí)文件導(dǎo)致宕機(jī)問(wèn)題的分析上面,這樣就偏離了正確的方向,解決問(wèn)題的效率和成功率就會(huì)大大降低。我們強(qiáng)調(diào)理論的重要性,也不是片面強(qiáng)調(diào)理論而不重視實(shí)踐。Oracle數(shù)據(jù)庫(kù)是實(shí)踐性很強(qiáng)的,沒(méi)有實(shí)踐,光學(xué)習(xí)理論是無(wú)法成為真正的高手的。比如說(shuō)我們學(xué)習(xí)了很多OWI相關(guān)的理論,了解了數(shù)據(jù)庫(kù)等待事件和一些狀態(tài)指標(biāo)的含義,但是我們看到一個(gè)庫(kù)的AWR報(bào)告的時(shí)候,還是無(wú)法知道某個(gè)指標(biāo)是否正常。當(dāng)對(duì)大型OLTP系統(tǒng)缺乏實(shí)踐經(jīng)驗(yàn)的時(shí)候,我們就無(wú)法知道大型OLTP系統(tǒng)的一些技術(shù)指標(biāo)的特性,因此也很難從中找到疑點(diǎn),進(jìn)而找到解決問(wèn)題的方法。這些年里我接觸過(guò)大量的DBA,我一般把他們分為四大類。第一類DBA是經(jīng)驗(yàn)型的,處理問(wèn)題的主要方式取決于以往的經(jīng)驗(yàn),他們往往都有很好的習(xí)慣,會(huì)把每一個(gè)處理過(guò)的案例整理出來(lái),今后再碰到這類案例的時(shí)候,他們會(huì)很快地解決問(wèn)題。隨著工作時(shí)間的增長(zhǎng),他們的技術(shù)也會(huì)相應(yīng)地提高。第二類DBA是理論型的,他們具有很深的理論基礎(chǔ),經(jīng)常探討一些“Oracle Internal Only”的高深問(wèn)題,比如他們能夠很清晰地告訴你共享池分配的算法,告訴你checkpoint的工作原理,但是這些DBA往往缺乏實(shí)際的工作經(jīng)驗(yàn),他們研究Oracle卻很少有機(jī)會(huì)接觸大型的數(shù)據(jù)庫(kù)系統(tǒng),因此實(shí)際解決問(wèn)題的能力并不強(qiáng)。另外,由于他們的知識(shí)比較片面,在某些方面很深入,而某些方面就是淺嘗輒止,這種不均衡導(dǎo)致他們的知識(shí)只是以點(diǎn)的形式存在,無(wú)法串成整體,因此那些很深入的研究并不能給他們實(shí)際工作帶來(lái)多大的幫助。第三類DBA是技巧型的,他們并不注重理論的學(xué)習(xí)和經(jīng)驗(yàn)的積累,在處理問(wèn)題的時(shí)候往往能夠利用Metalink和谷歌、百度之類的工具去搜索解決方案,這類DBA最為常見(jiàn)。他們處理問(wèn)題往往靠運(yùn)氣,而且一些他們自鳴得意的成功案例往往也是經(jīng)不起推敲的,下回碰到類似案例時(shí),可能還會(huì)失敗。第四類DBA是虛心請(qǐng)教型的,他們無(wú)論碰到什么問(wèn)題,甚至連錯(cuò)誤信息都沒(méi)有看明白,就開(kāi)始叫“我的系統(tǒng)出問(wèn)題了”,然后到處去問(wèn)如何解決。實(shí)際上,這四類DBA都是有缺陷的。第一類DBA可能經(jīng)過(guò)多年的工作,有十分豐富的經(jīng)驗(yàn),處理問(wèn)題的能力很強(qiáng),而且分析問(wèn)題十分敏感,很容易抓到問(wèn)題的關(guān)鍵,但是由于沒(méi)有深入理解Oracle的理論,碰到一些較為深入的問(wèn)題的時(shí)候,就不容易立刻找到關(guān)鍵。雖然憑借著自身豐富的經(jīng)驗(yàn)和問(wèn)題分析排查能力,他們最終也能解決大部分的問(wèn)題,但是往往問(wèn)題解決后還是沒(méi)有真正弄明白為什么會(huì)解決問(wèn)題,下一次碰到類似的問(wèn)題,可能還是要花很大的代價(jià)。第二類DBA在某些方面的理論知識(shí)很強(qiáng),總是喜歡研究一些十分高深的原理性的東西,但是這類DBA的主要精力都放在了研究一些Oracle內(nèi)部原理上了,他們沒(méi)有很多的時(shí)間去實(shí)踐他們學(xué)到的理論。這類DBA往往知識(shí)面較為狹窄,僅精通于自己研究比較深入的領(lǐng)域,在實(shí)際工作中也很難發(fā)揮出自身的理論研究特長(zhǎng)。第三類DBA實(shí)際上在我們的現(xiàn)實(shí)生活中是最常見(jiàn)的,“萬(wàn)事不明問(wèn)百度,百度不明就抓瞎”,確實(shí)谷歌、百度和Metalink能夠幫助我們解決不少問(wèn)題,但是這類DBA往往在問(wèn)題解決后沒(méi)有好好思考一下,為什么這個(gè)方法能夠解決問(wèn)題,更沒(méi)有認(rèn)真總結(jié)和歸納一下,下一次碰到類似的問(wèn)題,還是無(wú)法依靠自己的思考去解決問(wèn)題。于是再Google一把,也許這一次運(yùn)氣沒(méi)有那么好了,Google出來(lái)的資料不是上回的那個(gè)了,于是結(jié)果可能是很悲慘的。第四類DBA在我們現(xiàn)實(shí)生活中也經(jīng)常出現(xiàn),網(wǎng)絡(luò)社會(huì)通信十分發(fā)達(dá),打個(gè)電話或者在qq群里、msn里問(wèn)問(wèn),也許就有人幫忙解決問(wèn)題。久而久之,這些人放棄了自己的思考,碰到一點(diǎn)點(diǎn)小問(wèn)題都要找人問(wèn)。缺乏獨(dú)立思考問(wèn)題能力的DBA,只能稱為一個(gè)數(shù)據(jù)庫(kù)操作員,實(shí)際上離真正的DBA還有十萬(wàn)八千里呢??吹竭@里,大家可能明白了,老白實(shí)際上說(shuō)的不是四類DBA,而是DBA的四種性格,這四種性格可能會(huì)集中在某一個(gè)人身上。以老白學(xué)習(xí)DBA的經(jīng)驗(yàn)來(lái)看,理論結(jié)合實(shí)踐是十分重要的。在2000年前,老白雖然做了很多項(xiàng)目,也是很多人眼里的Oracle數(shù)據(jù)庫(kù)高手,但那時(shí)的老白就是第一類DBA的典型,沒(méi)有經(jīng)過(guò)多少理論學(xué)習(xí),幾乎所有的Oracle數(shù)據(jù)庫(kù)的技能都是從實(shí)踐中獲得的。雖然在實(shí)踐中我總結(jié)出大量的經(jīng)驗(yàn),甚至有很多客戶建議我寫一本書(shū),把我對(duì)Oracle的理解寫出來(lái),不過(guò)當(dāng)我自信滿滿地開(kāi)始寫書(shū)的時(shí)候,卻突然發(fā)現(xiàn),我的一些知識(shí)需要進(jìn)行確認(rèn),否則寫出來(lái)就貽笑大方了。于是我開(kāi)始大量地學(xué)習(xí)Oracle的一些理論知識(shí),隨著寫書(shū)過(guò)程的深入,我越發(fā)感到自身理論水平的不足?!禣racle數(shù)據(jù)庫(kù)深度歷險(xiǎn)》這本書(shū)我寫了3年,實(shí)際上2002年就徹底放棄了出版這本書(shū)的念頭,因?yàn)槲野l(fā)現(xiàn)自己的理論知識(shí)確實(shí)還需要進(jìn)一步的梳理。但是我并沒(méi)有放棄寫作,因?yàn)槲野l(fā)現(xiàn)通過(guò)寫作,我更為系統(tǒng)地將Oracle的理論知識(shí)梳理了一遍,這次梳理是通過(guò)我以前的知識(shí)體系、工作經(jīng)驗(yàn),與Oracle Concepts的理論基礎(chǔ)進(jìn)行了一次完整的整合。通過(guò)這3年的寫作,我終于完全疏通了自己的Oracle的理論體系,好像一個(gè)練武術(shù)的人,終于打通了任督二脈,感到無(wú)比的暢快。聽(tīng)老白說(shuō)了這么一大通,是不是很多人都感覺(jué)到手腳發(fā)涼,難道成為一個(gè)合格的DBA有這么難嗎?如果我沒(méi)有打通任督二脈,就不算一個(gè)合格的DBA嗎?實(shí)際上DBA成長(zhǎng)的道路是很多的,并不一定要走老白這一條路,老白僅僅是根據(jù)自身的經(jīng)歷,通過(guò)這本書(shū)來(lái)幫助大家梳理Oracle的一些基礎(chǔ)知識(shí)而已。還是那句話,如果Oracle是你的愛(ài)好,那么你無(wú)論花多大代價(jià)去研究它都是值得的;如果Oracle只是你職場(chǎng)生涯中的一份工作而已,那么只要你認(rèn)真對(duì)待它就可以了,沒(méi)必要像老白那樣執(zhí)著。作為一個(gè)DBA,理論學(xué)習(xí)和實(shí)踐如何相結(jié)合是十分關(guān)鍵的。在初期,一般來(lái)說(shuō)DBA都是通過(guò)了某種途徑接觸了Oracle數(shù)據(jù)庫(kù),進(jìn)行了一系列的操作。在工作過(guò)程中發(fā)現(xiàn)了一些問(wèn)題,才開(kāi)始想到需要去看一些Oracle的書(shū)籍。在這個(gè)階段,Oracle官方文檔的2days、7 days系列入門書(shū)籍就十分有效。通過(guò)這些書(shū)籍你可以了解Oracle的一些基本的原理和基本的操作,幫你在工作中解決部分問(wèn)題。這樣你在工作中就能夠應(yīng)對(duì)一些簡(jiǎn)單的問(wèn)題了。不過(guò)碰到稍微復(fù)雜一些的情況,你可能還是會(huì)發(fā)懵,這時(shí),Oracle Concepts這本書(shū)就十分關(guān)鍵了。從這個(gè)階段開(kāi)始看這本書(shū)是十分必要的,它有助于你在積累經(jīng)驗(yàn)的過(guò)程中不斷地完善理論。不過(guò),你可能還無(wú)法完全理解Oracle Concepts中的基本概念,通讀這本書(shū)是十分必要的,但是不必要把每個(gè)問(wèn)題都搞得十分清楚。因?yàn)橐_(dá)到這一點(diǎn),你需要花費(fèi)太多的時(shí)間和精力,同時(shí)也可能會(huì)由于缺乏足夠的技術(shù)指導(dǎo)而無(wú)法真正理解問(wèn)題的本質(zhì)。不過(guò)在這個(gè)階段,碰到某些問(wèn)題或者研究各種案例的時(shí)候,經(jīng)常翻翻Oracle Concepts這本書(shū)是十分有益的,因?yàn)樵谔幚韱?wèn)題的時(shí)候,你針對(duì)這個(gè)問(wèn)題的思考會(huì)比較深入,這個(gè)時(shí)候,認(rèn)真分析一下相關(guān)的理論是十分有效的。對(duì)于處理過(guò)的每一件事情,都做一個(gè)比較詳細(xì)的記錄,是十分好的習(xí)慣。記錄下某個(gè)案例,可以供水平提高后再進(jìn)行回顧,或者將案例提交給某個(gè)專家去評(píng)審,或者在網(wǎng)上和大家一起討論,對(duì)于學(xué)習(xí)Oracle的原理都是十分好的方法,可以幫助你在分析案例時(shí)提高對(duì)Oracle數(shù)據(jù)庫(kù)原理的認(rèn)知。在這本書(shū)里,老白會(huì)把《Oracle數(shù)據(jù)庫(kù)深度歷險(xiǎn)》中的一些內(nèi)容,結(jié)合老白的實(shí)際工作經(jīng)驗(yàn)展現(xiàn)給大家。我會(huì)剖析原理,并結(jié)合案例來(lái)說(shuō)明這些理論知識(shí)如何在實(shí)踐中應(yīng)用。希望老白的這次寫作經(jīng)歷,能夠給大家?guī)?lái)一些幫助。

內(nèi)容概要

  數(shù)據(jù)庫(kù)的性能優(yōu)化一直是DBA日常工作中非常重要的組成部分,然而很多DBA在學(xué)習(xí)了大量技術(shù),參加了大量培訓(xùn)后,仍然會(huì)在實(shí)際工作中遇到難以下手的問(wèn)題。實(shí)際上,在數(shù)據(jù)庫(kù)優(yōu)化工作中,方法和思路遠(yuǎn)比技術(shù)實(shí)現(xiàn)重要得多。
本書(shū)重在介紹Oracle數(shù)據(jù)庫(kù)的性能調(diào)優(yōu)方法及相應(yīng)的工作思路,但并不拘泥于技術(shù)細(xì)節(jié)。作者通過(guò)大量真實(shí)案例,深度剖析了相關(guān)技術(shù)原理,同時(shí)還闡述了理論知識(shí)在實(shí)踐中的應(yīng)用方法。優(yōu)化工作的本質(zhì)其實(shí)就是透過(guò)表象探尋根源,解決問(wèn)題實(shí)現(xiàn)調(diào)優(yōu),正所謂“思路是道,操作方法是技”,得道是極大的提升,也是DBA的思想精髓。

作者簡(jiǎn)介

  白鱔
  Oracle
ACE。從事IT工作20年,曾供職于DEC、賽格計(jì)算機(jī)、長(zhǎng)天集團(tuán)、聯(lián)想金融事業(yè)部等,擔(dān)任過(guò)技術(shù)總監(jiān)、應(yīng)用體系總監(jiān)等技術(shù)職務(wù)。長(zhǎng)期從事應(yīng)用軟件開(kāi)發(fā)、設(shè)計(jì)與性能優(yōu)化工作,1996年主持設(shè)計(jì)了國(guó)內(nèi)首套電信級(jí)長(zhǎng)話聯(lián)機(jī)實(shí)時(shí)計(jì)費(fèi)系統(tǒng),榮獲福建省科技進(jìn)步三等獎(jiǎng);1998年主持設(shè)計(jì)了首套三檢合一的檢驗(yàn)檢疫綜合管理系統(tǒng),榮獲深圳市科技進(jìn)步三等獎(jiǎng)。2002年起從事專業(yè)IT運(yùn)維與技術(shù)支撐服務(wù)工作,在系統(tǒng)優(yōu)化領(lǐng)域有十分豐富的工作經(jīng)驗(yàn),參與過(guò)數(shù)十個(gè)大型優(yōu)化項(xiàng)目。著有《Oracle
優(yōu)化日記》、《Oracle RAC日記》等技術(shù)書(shū)籍。
  儲(chǔ)學(xué)榮
  1992年畢業(yè)于南京大學(xué)計(jì)算機(jī)系,曾供職于得實(shí)集團(tuán)、長(zhǎng)天集團(tuán)、聯(lián)想集團(tuán)等知名IT企業(yè),擔(dān)任程序員、軟件架構(gòu)師等職務(wù)。從事過(guò)電信、金融、政府等行業(yè)核心系統(tǒng)研發(fā)工作,參與過(guò)UNIX內(nèi)核開(kāi)發(fā)工作并獨(dú)立開(kāi)發(fā)了類自然語(yǔ)言的電信計(jì)費(fèi)專用語(yǔ)言ABC的編譯器和P代碼運(yùn)行虛擬機(jī)。2005年開(kāi)始專門從事IT咨詢與性能優(yōu)化工作,在Oracle數(shù)據(jù)庫(kù)性能優(yōu)化方面有很深的造詣,并對(duì)Oracle數(shù)據(jù)庫(kù)的內(nèi)部結(jié)構(gòu)有較深的研究,編寫有大量的數(shù)據(jù)拯救工具。

書(shū)籍目錄

目  錄
第一部分  基礎(chǔ)原理篇
第1章  理解Oracle數(shù)據(jù)庫(kù)和實(shí)例  
1.1  什么是Oracle數(shù)據(jù)庫(kù)  
1.2  Oracle數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)  
1.2.1  Inventory  
1.2.2  口令文件  
1.2.3  參數(shù)文件  
1.2.4  控制文件  
1.2.5  在線日志文件  
1.2.6  數(shù)據(jù)文件  
1.2.7  歸檔日志文件  
1.3  實(shí)例和多實(shí)例數(shù)據(jù)庫(kù)  
1.3.1  什么是數(shù)據(jù)庫(kù)實(shí)例  
1.3.2  多實(shí)例數(shù)據(jù)庫(kù)  
1.4  數(shù)據(jù)庫(kù)后臺(tái)進(jìn)程  
1.4.1  進(jìn)程結(jié)構(gòu)  
1.4.2  后臺(tái)進(jìn)程的功能作介紹  
1.4.3  哪些后臺(tái)進(jìn)程可以殺  
1.4.4  是誰(shuí)在執(zhí)行SQL  
第2章  理解DB Cache  
2.1  什么是DB Cache  
2.2  DB Cache的分配和DBWR的相關(guān)算法  
2.2.1  DB_WRITER_PROCESSES參數(shù)  
2.2.2  DB Cache的幾個(gè)主要的鏈和CKPT算法  
2.2.3  檢索某個(gè)DB BLOCK的模擬算法  
2.3  DB Cache相關(guān)的參數(shù)閂鎖和等待事件  
2.4  DB Cache優(yōu)化的一些探討  
2.4.1  DB Cache和熱塊沖突  
2.4.2  使用KEEP POOL能改善CBC爭(zhēng)用嗎  
2.4.3  如何判斷DB Cache是否足夠  
2.4.4  DB Cache優(yōu)化要點(diǎn)  
第3章  理解共享池  
3.1  共享池堆的內(nèi)部結(jié)構(gòu)  
3.1.1  進(jìn)一步了解共享池  
3.1.2  共享池的子池技術(shù)  
3.1.3  字典緩存  
3.1.4  庫(kù)緩存和游標(biāo)  
3.2  共享池和游標(biāo)  
3.2.1  游標(biāo)與游標(biāo)共享  
3.2.2  游標(biāo)與SQL的執(zhí)行  
3.2.3  游標(biāo)共享和綁定變量  
3.2.4  OPEN CURSOR和OPEN_CURSORS參數(shù)  
3.2.5  CURSOR_SPACE_FOR_TIME參數(shù)  
3.2.6  SESSION_CACHED_CURSORS參數(shù)和OPEN_CURSORS  
3.2.7  CURSOR_SHARING和游標(biāo)共享  
3.2.8  游標(biāo)的關(guān)閉  
3.2.9  互斥鎖和游標(biāo)  
3.3  共享池的相關(guān)參數(shù)  
3.4  共享池故障處理  
3.4.1  著名的ORA-4031  
3.4.2  其他共享池常見(jiàn)故障  
3.5  共享池優(yōu)化的主要思路  
第4章  理解控制文件  
4.1  控制文件的內(nèi)部結(jié)構(gòu)  
4.1.1  控制文件和控制文件事務(wù)  
4.1.2  控制文件自動(dòng)擴(kuò)展  
4.1.3  如何轉(zhuǎn)儲(chǔ)和分析控制文件  
4.1.4  文件頭和控制文件信息  
4.2  故障處理和優(yōu)化  
4.2.1  丟失或者損壞控制文件的處理方法  
4.2.2  控制文件的優(yōu)化  
第5章  理解REDO日志  
5.1  什么是REDO日志  
5.2  REDO的基本原理  
5.2.1  介質(zhì)恢復(fù)和實(shí)例恢復(fù)的基本概念  
5.2.2  變化矢量和REDO記錄  
5.2.3  日志緩沖和LGWR  
5.2.4  日志切換和REDO日志文件  
5.2.5  事務(wù)提交和回滾的過(guò)程  
5.3  REDO優(yōu)化  
5.3.1  BULK操作能減少REDO嗎  
5.3.2  如何優(yōu)化LOG FILE SYNC等待事件  
5.3.3  SHUTDOWN ABORT無(wú)害嗎  
5.3.4  關(guān)于REDO日志優(yōu)化的建議  
第6章  理解UNDO  
6.1  UNDO的基本原理  
6.1.1  UNDO表空間和回滾段  
6.1.2  ITL和UNDO  
6.1.3  如何轉(zhuǎn)儲(chǔ)UNDO  
6.1.4  UNDO自動(dòng)管理是如何工作的  
6.1.5  系統(tǒng)回滾段的作用  
6.1.6  著名的ORA-1555  
6.1.7  回滾段手工管理  
6.2  如何分析和優(yōu)化UNDO  
第7章  理解PGA、臨時(shí)表空間和排序  
7.1  基本概念  
7.1.1  臨時(shí)表空間和臨時(shí)段  
7.1.2  PGA和排序  
7.1.3  PGA和PGA_AGGREGATE_ TARGET  
7.1.4  你應(yīng)該知道的PGA自動(dòng)管理內(nèi)幕  
7.2  PGA優(yōu)化的要點(diǎn)  
第8章  理解ASM的結(jié)構(gòu)  
8.1  什么是ASM  
8.2  ASM的結(jié)構(gòu)  
8.2.1  ASM DISKHEADER的結(jié)構(gòu)  
8.2.2  ASM FILE DIRECTORY文件結(jié)構(gòu)  
8.2.3  ASM ALIAS DIRECTORY文件結(jié)構(gòu)  
8.2.4  ASM DISK DIRECTORY文件結(jié)構(gòu)  
8.2.5  從ASM存儲(chǔ)結(jié)構(gòu)談ASM日常維護(hù)的要點(diǎn)  
8.3  如何使用KFED分析和修改ASM數(shù)據(jù)  
8.4  如何使用AMDU導(dǎo)出ASM文件  
第9章  理解數(shù)據(jù)塊結(jié)構(gòu)  
9.1  理解數(shù)據(jù)塊頭結(jié)構(gòu)  
9.2  理解ITL  
9.3  理解記錄結(jié)構(gòu)  
9.4  解析Oracle字段的內(nèi)部數(shù)據(jù)存儲(chǔ)格式  
9.5  理解LOB的存儲(chǔ)結(jié)構(gòu)  
第10章  理解表的結(jié)構(gòu)  
10.1  到底什么是“表”  
10.1.1  PCTFREE和行鏈  
10.1.2  那些逝去的老參數(shù)  
10.1.3  減少熱塊沖突的方法  
10.2  從數(shù)據(jù)塊結(jié)構(gòu)看目前主流容災(zāi)技術(shù)  
10.3  案例——簡(jiǎn)單任務(wù)  
第11章  理解索引  
11.1  反轉(zhuǎn)鍵索引的誤區(qū)  
11.2  索引訪問(wèn)的方式  
11.2.1  小表用索引有意義嗎  
11.2.2  位圖索引為什么不適合大并發(fā)量環(huán)境  
11.3  重建索引的作用  
11.4  索引使用的“三大紀(jì)律八項(xiàng)注意”  
11.5  案例——索引危機(jī)  
第12章  理解分區(qū)表  
12.1  什么是分區(qū)表  
12.2  分區(qū)表對(duì)海量數(shù)據(jù)的意義  
12.2.1  分區(qū)表和歷史數(shù)據(jù)歸檔  
12.2.2  分區(qū)表和高水位推進(jìn)  
12.2.3  分區(qū)表和RAC環(huán)境  
12.2.4  分區(qū)主鍵和分區(qū)粒度的選擇  
第13章  理解序列  
13.1  什么是序列  
13.2  序列的使用和優(yōu)化  
第二部分  分析思路篇
第14章  問(wèn)題分析綜述  
14.1  如何抓住蝴蝶效應(yīng)中的那只蝴蝶  
14.2  為什么要強(qiáng)調(diào)基礎(chǔ)概念  
14.3  工作中的好習(xí)慣帶來(lái)的福利  
第15章  DBA分析思路的探討  
15.1  問(wèn)題分析總路線圖  
15.2  普通故障的分析路線  
15.3  性能問(wèn)題的分析路線  
15.4  SQL語(yǔ)句的分析路線  
15.5  利用你知道的原理縮小問(wèn)題的范圍  
15.6  關(guān)閉問(wèn)題的條件  
15.7  靈活運(yùn)用你的知識(shí)  
15.8  DBA需要與時(shí)俱進(jìn)  
15.9  多表連接的優(yōu)化技巧  
15.10  理論如何聯(lián)系實(shí)踐  
第三部分  典型案例篇
第16章  RAC故障分析  
16.1  LOG_ARCHIVE_MAX_PROCESS導(dǎo)致的RAC腦裂  
16.2  RAC系統(tǒng)故障的處理過(guò)程  
16.3  三天兩次嚴(yán)重故障  
第17章  ORA-600故障  
17.1  ORA-600 [12700]錯(cuò)誤的分析過(guò)程  
17.2  ORA-600 [kdsgrp1]的處理案例  
第18章  性能問(wèn)題分析  
18.1  壓力測(cè)試遇到的問(wèn)題  
18.2  IMP導(dǎo)入性能問(wèn)題的分析  
18.3  并行操作為什么無(wú)法執(zhí)行  
第19章  SQL優(yōu)化  
19.1  一個(gè)常用的SQL優(yōu)化方法  
19.2  一個(gè)查找IP所屬區(qū)域的SQL優(yōu)化思路  
結(jié)束語(yǔ)

章節(jié)摘錄

版權(quán)頁(yè):   插圖:   對(duì)于單實(shí)例的系統(tǒng),實(shí)例恢復(fù)一般是在數(shù)據(jù)庫(kù)實(shí)例異常故障后數(shù)據(jù)庫(kù)重啟時(shí)進(jìn)行,當(dāng)數(shù)據(jù)庫(kù)執(zhí)行了SHUTDOWN ABORT命令或者由于操作系統(tǒng)、主機(jī)等原因宕機(jī)重啟后,在ALTER DATABASE OPEN時(shí),就會(huì)自動(dòng)進(jìn)行實(shí)例恢復(fù)。而在。RAC環(huán)境中,如果某個(gè)實(shí)例宕掉了,活著的實(shí)例將會(huì)接管,替宕掉的實(shí)例做實(shí)例恢復(fù)。除非是所有的實(shí)例都宕掉了,這樣的話,第一個(gè)執(zhí)行ALTER DATABASE OPEN的實(shí)例將會(huì)做實(shí)例恢復(fù)。這也是REDO日志文件作為實(shí)例私有的組件必須存放在共享存儲(chǔ)上的原因。 Oracle數(shù)據(jù)庫(kù)的高速緩存機(jī)制是以性能為導(dǎo)向的。高速緩存機(jī)制應(yīng)該最大限度地提高數(shù)據(jù)庫(kù)的性能,因此緩存被寫人數(shù)據(jù)文件時(shí)總是盡可能推遲。這種機(jī)制大大提高了數(shù)據(jù)庫(kù)的性能,但是當(dāng)實(shí)例出現(xiàn)故障時(shí),可能存在一些問(wèn)題。 首先,可能某些事物對(duì)數(shù)據(jù)文件的修改并沒(méi)有完全寫入磁盤,或者磁盤文件中丟失了某些已提交事務(wù)對(duì)數(shù)據(jù)文件的修改信息。其次,可能某些還沒(méi)有提交的事務(wù)對(duì)數(shù)據(jù)文件的修改已經(jīng)被寫入磁盤文件了。也有可能某個(gè)原子變更有一部分?jǐn)?shù)據(jù)已經(jīng)被寫人文件,而另外一部分?jǐn)?shù)據(jù)還沒(méi)有被寫入磁盤文件。實(shí)例恢復(fù)就是要通過(guò)ONLINE REDO LOG文件中記錄的信息,自動(dòng)完成上述數(shù)據(jù)的修復(fù)工作。這個(gè)過(guò)程是完全自動(dòng)的,不需要人工干預(yù)。 在這個(gè)機(jī)制里,有兩個(gè)問(wèn)題需要解決。第一個(gè)是如何確保已經(jīng)提交的事務(wù)不會(huì)丟失,第二個(gè)是如何在數(shù)據(jù)庫(kù)性能和實(shí)例恢復(fù)所需要的時(shí)間上做出平衡,既確保數(shù)據(jù)庫(kù)性能不會(huì)下降,又保證實(shí)例恢復(fù)可以快速進(jìn)行。

編輯推薦

Oracle資深專家白鱔、儲(chǔ)學(xué)榮聯(lián)袂打造數(shù)據(jù)庫(kù)力作以真實(shí)的案例貫穿《DBA的思想天空——感悟Oracle數(shù)據(jù)庫(kù)本質(zhì)》全書(shū),剖析數(shù)據(jù)庫(kù)技術(shù)原理帶領(lǐng)讀者感悟DBA思想精粹,揭示原理,但不是簡(jiǎn)單地炫耀內(nèi)部原理,而是結(jié)合內(nèi)部原理讓DBA理解分析思路。

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    DBA的思想天空 PDF格式下載


用戶評(píng)論 (總計(jì)76條)

 
 

  •   DBA的思想天空:感悟Oracle數(shù)據(jù)庫(kù)本質(zhì)【Oracle資深專家力作以真實(shí)案例貫穿始終】 是本不錯(cuò)的書(shū)
  •   全面的介紹了ORACLE,作為一個(gè)若干年工作經(jīng)驗(yàn)的DBA看,還是有很多很多新的發(fā)現(xiàn)。非常好,穿插的小案例也是非常好。很推薦。
  •   本書(shū)是講oracle的學(xué)習(xí)方法,已經(jīng)學(xué)習(xí)oracle過(guò)程中的感悟,值得DBA細(xì)細(xì)品讀!
  •   要有一定ORACLE基礎(chǔ),是DBA入門的書(shū),還是不錯(cuò)的。
  •   優(yōu)化工作的本質(zhì)其實(shí)就是透過(guò)表象探尋根源,書(shū)中很多地方都有所體現(xiàn),很多內(nèi)容需要慢慢的體會(huì)喲,值得一讀。
  •   讓有一定工作經(jīng)驗(yàn)的DBA很好的案例,讓工作思路更加清晰明了!
  •   提供了一種學(xué)習(xí)Oracle的新方法,注重理論而非實(shí)際工具,返璞歸真,層次更高
  •   寫oracle方面的很適合讀的書(shū)!
  •   感悟DBA的天空,了解數(shù)據(jù)、了解DBA
  •   非常喜歡。兩位資深DBA深入之作。
  •   看了40頁(yè),感覺(jué)不錯(cuò),挺有深度的,但是我本身不是DBA,里面用到很多術(shù)語(yǔ),有些術(shù)語(yǔ)不理解,所以對(duì)有些內(nèi)容理解起來(lái)有些困難,不過(guò)很多概念在后面的章節(jié)中有詳細(xì)的說(shuō)明,所以建議如果前面有些地方不是很理解,接著往后面度,串聯(lián)起來(lái)就明白了
  •   之前老白的那2本都看過(guò)了,我認(rèn)為寫的很好,這本自然不能錯(cuò)過(guò),已經(jīng)翻了幾十頁(yè),感覺(jué)還可以,寫了以前沒(méi)太在意的技術(shù)細(xì)節(jié)。
  •   挺好的,不過(guò)對(duì)于我這個(gè)不是計(jì)算機(jī)專業(yè)并且沒(méi)怎么學(xué)過(guò)Oacle的人來(lái)說(shuō)有點(diǎn)深,準(zhǔn)備先研究下基礎(chǔ)性的知識(shí)再過(guò)來(lái)讀這本書(shū)。
  •   白鱔的書(shū),大師,還沒(méi)有仔細(xì)研讀,瀏覽了下,感覺(jué)還不錯(cuò)
  •   心得,解決思路的,可以深入領(lǐng)悟一下
  •   書(shū)到后,近日拜讀一部分,感覺(jué)作者的經(jīng)驗(yàn)之談,寫得比較深刻,好書(shū)
  •   剛收到的書(shū),翻看了一下,依然是老白一貫的風(fēng)格。終于買了老白的書(shū),算是還了幾年前天天盼著新書(shū),結(jié)果一直木有看到出版的心愿了。
  •   還沒(méi)看 不過(guò) 一直在關(guān)注
  •   內(nèi)容很好,寫的都是比較深入的優(yōu)化系統(tǒng)內(nèi)容,對(duì)提高很有幫助
  •   已經(jīng)在網(wǎng)上看過(guò)第一章的內(nèi)容,覺(jué)得好才買回來(lái)這本書(shū)進(jìn)一步的學(xué)習(xí)。
  •   很多時(shí)候,真的讀書(shū)讀傻了,總是借鑒別人的東西,但很少有自己的想法。這本書(shū),讓我換個(gè)角度來(lái)學(xué)習(xí)Oacle!
  •   很長(zhǎng)時(shí)間就打算買了,正好有活動(dòng)一塊收了,,,后面慢慢體會(huì)書(shū)中的經(jīng)典了 呵
  •   書(shū)本不錯(cuò),無(wú)損壞,內(nèi)容寫得很豐富!
  •   書(shū)不錯(cuò),不知是不是圖靈的書(shū)印刷比較差,紙質(zhì)弱,黑
  •   不錯(cuò)的圖書(shū),值得推薦的。
  •   書(shū)的質(zhì)量不錯(cuò),送貨速度還可以,不過(guò)沒(méi)有之前的幾次快,之前買書(shū)都是次日達(dá),這次間隔了一天,再怎么樣比亞馬遜什么的效率高多了!
  •   幫同事帶的,應(yīng)該還不錯(cuò)了。
  •   剛拿到書(shū),排版和紙張都還不錯(cuò)
  •   書(shū)很好,在書(shū)店看好才買的,當(dāng)當(dāng)物流很給力,就是書(shū)送到的時(shí)候都給擠皺了
  •   剛開(kāi)始看,但感覺(jué)寫得很好,是用心來(lái)寫的,不同于市面上同類的書(shū)
  •   老白的書(shū),值得一看
  •   還沒(méi)看,應(yīng)該是被好書(shū)
  •   才看了幾頁(yè),非常好
  •   東西講得很底層,讀起來(lái)有很強(qiáng)的吸引力
  •   內(nèi)容挺好,但書(shū)的內(nèi)容感覺(jué)有點(diǎn)亂
  •   這邊書(shū)挺好
  •   看看老白的新作,哈哈。
  •   值得大家細(xì)細(xì)閱讀的一本好書(shū)
  •   翻開(kāi)第一頁(yè),感覺(jué)見(jiàn)到了老朋友,非常的親切,終于見(jiàn)到了指路的燈塔。
  •   老公的書(shū),偶爾看幾眼,覺(jué)得排版有點(diǎn)壓抑。
  •   當(dāng)做故事看??床欢牡胤街苯勇赃^(guò)
  •   大神之作,值得細(xì)細(xì)品味
  •   白鱔的書(shū)買過(guò)2本,寫的挺好的,一看出了這本就堅(jiān)定地買了
  •   以前只有部分章節(jié)的電子版,看了下還不錯(cuò),所以決定買了好好看看,比較深,自己基礎(chǔ)還不怎么好,只能慢慢啃了
  •   有系統(tǒng)的講解
  •   見(jiàn)過(guò)作者本人,和藹可親。書(shū)中內(nèi)容更是精彩
  •   學(xué)習(xí)了不少前輩的經(jīng)驗(yàn)。
  •   下午到了,送貸快,翻了下,里面講了不錯(cuò),還是可以的,學(xué)到東西不成問(wèn)題,但是要學(xué)到全面的東西還有許多資料要看。路很長(zhǎng)。。。
  •   大師介紹的。買來(lái)珍藏,努力學(xué)習(xí),天天向上
  •   看后感覺(jué)還行吧,有些東西不夠深入淺出,開(kāi)始還好。
  •   紙質(zhì)不錯(cuò),內(nèi)容在看,應(yīng)該不錯(cuò)
  •   對(duì)oracle深入了解。
  •   oracle剛?cè)胄?,尚淺,看不懂
  •   物流較慢啊
  •   我水平不夠啊,還看不懂
  •   還沒(méi)看,不過(guò)紙張?jiān)趺床惶駥?shí)的感覺(jué)...
  •   剛剛開(kāi)始在看,內(nèi)容差強(qiáng)人意,要買的慎重哦。
  •   適合有基礎(chǔ),想要深入的人看,初學(xué)者容易看暈
  •   此書(shū)不是給初級(jí)者看的,好多內(nèi)容都必須有基礎(chǔ)才能看懂.
  •   講原理的書(shū),內(nèi)容很喜歡
  •   很難得的一本好書(shū)。對(duì)于打算自學(xué)成材的同學(xué)非常有幫助。說(shuō)實(shí)話,現(xiàn)在ORA的培訓(xùn)都是騙人錢的,說(shuō)白了就是花錢買翻譯。不如自己找本好書(shū)耐心地讀下去。這本書(shū)沒(méi)有直接闡述概念,而是參雜了整個(gè)組件的背景,原理和設(shè)計(jì)。能夠讓讀者很好地把握各個(gè)章節(jié)的內(nèi)容和理念。說(shuō)真的,Db管理,沒(méi)有什么金科玉律,只有掌握了背后的原理和設(shè)計(jì)才能無(wú)招勝有招。很多初學(xué)oracle的同學(xué)不知道從何處入手,盲目地參加高昂的培訓(xùn),結(jié)果考出來(lái)各種paper的ocp。面試的時(shí)候遇到這樣的人真讓人十分蛋疼。稍微深入一問(wèn)就開(kāi)始支支吾吾含糊其辭。顯然是知道是這樣,但不知道為什么是這樣。除此之外,作者還給出了一個(gè)非常有用的建議——閱讀Concept。確實(shí),這應(yīng)該是很多很多人忽略的一本書(shū)。如果你已經(jīng)熟練掌握Oracle Concept上的內(nèi)容,那么你大可不看這本書(shū)了。如果你說(shuō)話初學(xué)者,這本書(shū)將是十分十分好的入門教程。是值得反復(fù)閱讀的一本好書(shū)。Kindle版很便宜,剛好有ipad,省了不少錢。值回票價(jià)。
  •   就是垃圾垃圾書(shū),這是提供自己的知名度吧,里面錯(cuò)誤很明顯
  •   這本書(shū)不適合初學(xué)者,需要一定的功底。
  •   原理剖析的很好的,推薦。
  •   用心去看,這絕對(duì)是本好書(shū)。學(xué)到思想是最重要的。
  •   說(shuō)的有點(diǎn)空洞,廢話有點(diǎn)太多,看了好久沒(méi)看到他要說(shuō)的重點(diǎn)是什么
  •   半價(jià)入手,物有所值,內(nèi)容還沒(méi)怎么看
  •   排版爛的不行,看不下去了。。。
  •   紙質(zhì)還不錯(cuò),值得一看的書(shū)
  •   沒(méi)插圖,講的很詳細(xì)
  •   書(shū)籍不錯(cuò),自己的心得體會(huì)
  •   東西還成吧東西還成吧
  •   書(shū)的內(nèi)容太差,建議不要買
  •   很不錯(cuò),真心贊?。。?/li>
  •   oracle的筆記
  •   oracle大牛寫的,還待好好細(xì)看
 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7