專訪資深DBA趙振平:如何成為一名優(yōu)秀的DBA
原創(chuàng)【51CTO.com獨(dú)家特稿】2009年4月2日,51CTO技術(shù)人頻道邀請(qǐng)了資深Oracle DBA、《Oracle數(shù)據(jù)庫(kù)精講與疑難解析》的作者趙振平老師作客嘉賓聊天室,與我們共同探討如何成為一名優(yōu)秀的DBA。
趙振平:生于20世紀(jì)末中國(guó)西南的一個(gè)邊陲小鎮(zhèn)。公元2001年,我正式主攻數(shù)據(jù)庫(kù)和數(shù)據(jù)倉(cāng)庫(kù)。開(kāi)始的歲月,Sybase、Oracle與SQL Server三座大山壓得我無(wú)法喘息,從不低頭的我們?nèi)匀灰^續(xù)前行的路。N年以后,我們?cè)竭^(guò)了Sybase、Oracle、SQL Server、MySQL、DB2這幾座大山。但是,中國(guó)至今仍然沒(méi)有自主知識(shí)產(chǎn)權(quán)的數(shù)據(jù)庫(kù),路還很遠(yuǎn)…很長(zhǎng)…還需要更多的人與我們一起努力!! ...
以下為聊天實(shí)錄,51CTO略有整理
DBA應(yīng)具備哪些素質(zhì)
51CTO:今天來(lái)到我們51CTO聊天室做客的嘉賓是《Oracle數(shù)據(jù)庫(kù)精講與疑難解析》一書作者,資深Oracle DBA趙振平老師。和我們聊聊如何成為一名優(yōu)秀的DBA。請(qǐng)趙振平老師介紹一下自己的職業(yè)經(jīng)歷。
趙振平: 作為一個(gè)在DBA工作很長(zhǎng)時(shí)間的人士,我想和大家一起分享我的經(jīng)驗(yàn)。 首先介紹一下我自己,我叫趙振平,2000年左右進(jìn)入IT業(yè),那時(shí)候IT業(yè)很容易找到工作。很多華爾街金融家認(rèn)為IT具有投資價(jià)值,所以他們大量引入了IT業(yè),導(dǎo)致當(dāng)時(shí)的網(wǎng)絡(luò)泡沫。剛開(kāi)始的時(shí)候,我作為開(kāi)發(fā)人員進(jìn)如IT業(yè),我覺(jué)得開(kāi)發(fā)人員轉(zhuǎn)DBA,對(duì)我日后發(fā)展非常重要。作為一個(gè)開(kāi)發(fā)人員,我了解整個(gè)開(kāi)發(fā)流程,包括應(yīng)用程序怎么部署,軟件開(kāi)發(fā)生命周期,還有數(shù)據(jù)庫(kù)如何和應(yīng)用程序如何和數(shù)據(jù)庫(kù)進(jìn)行交互。通過(guò)一段時(shí)間磨煉,我知道很多東西,大概2002年以后,就正式的轉(zhuǎn)到DBA角色,完全脫離開(kāi)發(fā),在那個(gè)時(shí)候看DBA這個(gè)行業(yè)是很有發(fā)展前景的,不管從美國(guó)還是其他一些地方,DBA這個(gè)行業(yè)的薪酬,發(fā)展遠(yuǎn)景都非常好。
2002年我正式成為DBA后,一直從事DBA工作,到現(xiàn)在為止我還工作在DBA第一線。03年我獲得了美國(guó)Oracle公司的證書,那時(shí)候很不容易,國(guó)內(nèi)計(jì)算機(jī)書籍很少,特別是Oracle數(shù)據(jù)庫(kù)這方面,應(yīng)對(duì)考試的書非常少。要想通過(guò)考試除了對(duì)計(jì)算機(jī)有所了解,英文也要非常好,尤其閱讀能力。要想獲得第一手資料,很全的資料,必須能夠閱讀Oracle公司官方文檔,包括翻譯書,很多東西是Oracle公司官方文檔翻譯的。獲得OCP證書以后,06年,電子工業(yè)出版社的侯老師想出版Oracle的書,我在DBA這個(gè)行業(yè)做了很多年,積累了很多工作經(jīng)驗(yàn),很想把我的一些心得跟廣大讀者一起分享,我就從那時(shí)候開(kāi)始寫書,一直到08年Oracle數(shù)據(jù)庫(kù)這本書才上市,這就是我這幾年的一些經(jīng)歷。
51CTO:請(qǐng)趙振平老師給我們講一講很多網(wǎng)友關(guān)心的問(wèn)題,就是DBA這個(gè)職業(yè)發(fā)展的前景怎么樣,尤其薪資水平怎么樣。
趙振平: DBA在2000年左右確實(shí)是一個(gè)高薪行業(yè),DBA薪水跟普通開(kāi)發(fā)人員薪水拉得非常大,到現(xiàn)在很多人士都覺(jué)得DBA是一個(gè)高薪行業(yè),導(dǎo)致DBA這個(gè)行業(yè)有很多人加入,競(jìng)爭(zhēng)非常激烈,但是現(xiàn)在DBA行業(yè)還是薪水比較高,在國(guó)外在美國(guó),加拿大一般可以拿到75K到80K這個(gè)水平。在國(guó)內(nèi)DBA薪水拉的得開(kāi),主要看個(gè)人能力,有拿5000,8000,25萬(wàn)到35萬(wàn)的,一些高級(jí)的DBA,如果是首席DBA,在一些大公司首席DBA他們薪水可能比這要高得多。 國(guó)內(nèi)平均水平8K到10K水平,這就是DBA當(dāng)前薪水情況。
關(guān)于DBA發(fā)展前景,我覺(jué)得這個(gè)行業(yè)還是不錯(cuò)的。我們放眼世界除了美國(guó)以外,世界還有很多發(fā)展中國(guó)家,這些發(fā)展中國(guó)家還需要大量的DBA,為什么?因?yàn)殡S著世界發(fā)展,經(jīng)濟(jì)發(fā)展,網(wǎng)絡(luò)的普及,我們計(jì)算機(jī)應(yīng)用在世界上越來(lái)越廣,只要人類有活動(dòng),就會(huì)產(chǎn)生數(shù)據(jù)、信息,只要有信息數(shù)據(jù)就有需要對(duì)這些數(shù)據(jù)進(jìn)行管理,只要對(duì)數(shù)據(jù)進(jìn)行管理我們就需要DBA這個(gè)角色。
DBA這個(gè)行業(yè)要考慮遠(yuǎn)一點(diǎn),不要緊緊把眼光放在中國(guó),要相信某一天我不在中國(guó)找這個(gè)工作,我可能會(huì)到一個(gè)中東國(guó)家或者到北美、加拿大、日本。所以我覺(jué)得DBA這個(gè)行業(yè)我感覺(jué)還是很有前景的行業(yè),而且這個(gè)行業(yè)隨著以后的發(fā)展,這個(gè)職位從它產(chǎn)生那天開(kāi)始,一直非常有活力,而且根據(jù)計(jì)算機(jī)在世界各個(gè)地方普及,這個(gè)職位會(huì)越來(lái)越重要,越受到人們的尊重,所以我覺(jué)得這個(gè)職位會(huì)非常有前途。
51CTO:金融危機(jī)對(duì)DBA有影響嗎?
趙振平:影響非常大,DBA這個(gè)職位,在很多人眼里面就是IT職位。其實(shí)DBA這個(gè)職位分布在很多行業(yè)、領(lǐng)域,尤其是金融、證券業(yè)、石化,還有中國(guó)電信、中國(guó)聯(lián)通,這些職位分布在這些企業(yè),尤其是大型的金融機(jī)構(gòu),花旗銀行等等,他們DBA也很厲害,他們DBA也很多。
我們知道銀行數(shù)據(jù)是最重要,要保密的,所以說(shuō)銀行對(duì)DBA非常重視,當(dāng)前金融危機(jī)對(duì)金融業(yè)的影響非常大。美國(guó)很多大銀行,大證券公司,他們關(guān)閉了很多海外機(jī)構(gòu),導(dǎo)致很多DBA的失業(yè),對(duì)于工作在金融領(lǐng)域這個(gè)行業(yè)的DBA來(lái)說(shuō),對(duì)他們影響是非常大,對(duì)于工作在其他行業(yè)的小一點(diǎn)。金融業(yè)受到重創(chuàng),金融業(yè)傳導(dǎo)到其他實(shí)體經(jīng)濟(jì),其他實(shí)體經(jīng)濟(jì)受到影響也很大,在實(shí)體經(jīng)濟(jì)DBA他們薪水、職位能不能保住,對(duì)他們影響也是非常大。
我覺(jué)得當(dāng)前金融危機(jī)對(duì)金融行業(yè),對(duì)那些實(shí)體經(jīng)濟(jì)影響非常大,但是從往后看的角度,不管金融危機(jī)如何影響,總有一天金融危機(jī)會(huì)過(guò)去,而且就是說(shuō)人類的活動(dòng)、需求不斷產(chǎn)生,所以說(shuō)在這種前提下,這個(gè)世界很多行業(yè)還是不斷需要DBA的,所以我覺(jué)得雖然受影響,但是DBA這個(gè)行業(yè)還是有前途。
51CTO:您覺(jué)得要想成為一個(gè)優(yōu)秀的DBA應(yīng)該具備哪些素質(zhì)呢?
趙振平:我覺(jué)得分兩個(gè)層次,一個(gè)從技術(shù)角度,另外一個(gè)文化的角度。作為一名DBA必須有全面知識(shí),從技術(shù)角度來(lái)說(shuō),我們會(huì)分成兩大塊,硬件和軟件支持。數(shù)據(jù)庫(kù)運(yùn)行到的設(shè)備都是大型設(shè)備,便宜一點(diǎn)像一些PC服務(wù)器,小的十幾萬(wàn),一些小型級(jí)50、60萬(wàn),一些大型機(jī)價(jià)錢更貴了。我們要對(duì)硬件,主機(jī)比較了解,因?yàn)閿?shù)據(jù)庫(kù)直接運(yùn)行在主機(jī)上,如果一個(gè)DBA對(duì)主機(jī)不熟悉,你怎么能說(shuō)從何管理數(shù)據(jù)庫(kù),所以我們對(duì)主機(jī)這塊必須非常了解。
另外除了對(duì)主機(jī)我們對(duì)磁盤陣列也必須了解,因?yàn)楫?dāng)前雖然技術(shù)發(fā)展,很多銀行、證券公司,一些大的網(wǎng)站,他們都是提供7×24小時(shí),7天24小時(shí)不間斷運(yùn)轉(zhuǎn),所以他們的設(shè)備,要提供一種高可用性,需要一些大型設(shè)備,磁盤陣列也要大型的。
另外DBA對(duì)網(wǎng)絡(luò)也應(yīng)該有一定了解,現(xiàn)在全球經(jīng)濟(jì)是你中有我,我中有你,為什么在這個(gè)金融危機(jī)發(fā)展的前期,各個(gè)國(guó)家都是各自為政來(lái)處理金融危機(jī),但是各個(gè)國(guó)家包括美國(guó),加拿大,其他國(guó)家采取一些措施對(duì)金融危機(jī)沒(méi)有產(chǎn)生多大的效果。這次金融危機(jī)和美國(guó)以前發(fā)生的金融危機(jī)不一樣,以前美國(guó)金融危機(jī)僅僅是美國(guó)一個(gè)國(guó)家的金融危機(jī),而現(xiàn)在金融危機(jī)是全球性,一個(gè)公司在全球有很多分公司,它的網(wǎng)絡(luò)在邏輯上是聯(lián)在一起,作為一個(gè)DBA要管理可能不僅僅是你本地?cái)?shù)據(jù)庫(kù),或者是你中國(guó)的數(shù)據(jù)庫(kù),可能你管理是全世界,這些數(shù)據(jù)庫(kù)物理可能是分布在韓國(guó)日本,所以你對(duì)網(wǎng)絡(luò)也有一定的了解,作為一個(gè)DBA硬件層次必須了解這幾個(gè)方面。
趙振平:軟件方面我們也要了解,首先就是操作系統(tǒng),我們數(shù)據(jù)庫(kù)大部分運(yùn)行在Linux等平臺(tái)上,如果我們DBA對(duì)他們的系統(tǒng)不了解,那么我們無(wú)從管理他們的數(shù)據(jù)庫(kù),因?yàn)閿?shù)據(jù)庫(kù)是運(yùn)行在操作系統(tǒng)之上,操作系統(tǒng)就是軸,軸功能不好,其他怎么能好的。軟件包括操作系統(tǒng),另外就是應(yīng)用程序,我們一個(gè)數(shù)據(jù)庫(kù)運(yùn)行最終目的,是為了給外面人或者客戶提供服務(wù),就存在就是說(shuō)我們要給其他應(yīng)用程序提供一個(gè)交互,如果就是說(shuō)你對(duì)應(yīng)用程序如何訪問(wèn)數(shù)據(jù)庫(kù)我們連這個(gè)原理都不了解,那么我們對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理呢?
另外重要就是我們了解運(yùn)用程序如何訪問(wèn)數(shù)據(jù)庫(kù),為什么這點(diǎn)非常重要,因?yàn)槲覀兞私膺@個(gè)機(jī)制,我們才能知道如何提高我們數(shù)據(jù)庫(kù)性能,如何提高我們數(shù)據(jù)庫(kù)的最大化,這塊其實(shí)我也想多講一下,因?yàn)槠鋵?shí)數(shù)據(jù)庫(kù)經(jīng)常會(huì)發(fā)生性能下降的問(wèn)題,根據(jù)我這幾年的經(jīng)驗(yàn)分析,數(shù)據(jù)庫(kù)性能降低60%,是和我們硬件有關(guān),我們硬件已經(jīng)達(dá)到極限,包括內(nèi)存,CPU計(jì)算能力,網(wǎng)絡(luò)傳輸能力已經(jīng)達(dá)到極限,這些是40%。60%是我們數(shù)據(jù)庫(kù)設(shè)置不當(dāng)導(dǎo)致效率低下,我們進(jìn)行數(shù)據(jù)庫(kù)性能調(diào)整,第一點(diǎn)首先要著眼于60%的軟件問(wèn)題,40%是發(fā)展我們的硬件。
我們從大的方面講了技術(shù)層面,但要想成為一個(gè)優(yōu)秀DBA有兩個(gè)方面,一個(gè)是技術(shù),一個(gè)是文化層面。文化層面就是作為一個(gè)優(yōu)秀的DBA,第一必須冷靜,為什么呢,數(shù)據(jù)庫(kù)經(jīng)常發(fā)生一些問(wèn)題,當(dāng)你用數(shù)據(jù)庫(kù)最新版本,把最新應(yīng)用用到實(shí)際工作當(dāng)中去會(huì)遇到很多問(wèn)題,而且這些問(wèn)題你在以前沒(méi)有看到過(guò),谷歌或者百度也找不到答案,遇到這種情況必須保持冷靜。另外就是必須謹(jǐn)慎,當(dāng)你在一個(gè)公司管理一個(gè)很重要數(shù)據(jù)庫(kù),出現(xiàn)問(wèn)題的時(shí)候,首先你的客戶,同事正在等待你解決問(wèn)題,老板正在催促你,CTO在督促你,這個(gè)時(shí)候必須保持冷靜,因?yàn)楸3掷潇o才能靜下心來(lái),想方設(shè)法解決問(wèn)題,找到這個(gè)問(wèn)題答案。如果這個(gè)時(shí)候不冷靜,找不到答案,還會(huì)給公司帶來(lái)?yè)p失,或?qū)е乱恍┢渌墓收?。所以作為DBA冷靜、謹(jǐn)慎這兩點(diǎn)是非常重要的。
另外就是DBA必須有溝通的技巧,這也是非技術(shù)問(wèn)題。大家知道作為一個(gè)DBA他要服務(wù)的對(duì)象很多,大家有時(shí)候覺(jué)得他是一個(gè)很神圣的角色,其實(shí)不是這樣,DBA其實(shí)是一個(gè)很下面的角色,為什么呢?因?yàn)檫@個(gè)角色為很多人提供服務(wù),你要為客戶提供服務(wù),要為其他客戶提供支持,你要給開(kāi)發(fā)人員提供技術(shù)培訓(xùn),你要給你的CTO提供整個(gè)公司數(shù)據(jù)庫(kù)的硬件和軟件規(guī)劃,還有要給你CTO提供性能方面咨詢。所以作為一個(gè)DBA你要為很多人服務(wù),還有特別是對(duì)市場(chǎng)人員,在競(jìng)標(biāo)一個(gè)項(xiàng)目的時(shí)候,DBA需要為市場(chǎng)人員提供一些數(shù)據(jù)方面技術(shù)支持,所以DBA也需要和市場(chǎng)人員溝通,所以一個(gè)DBA做得好做不好,技術(shù)是一個(gè)層次,溝通也非常重要,跟客戶溝通不好,得罪公司客戶;和開(kāi)發(fā)人員溝通不好,開(kāi)發(fā)人員可能寫不出來(lái)高效的程序,不和開(kāi)發(fā)人員進(jìn)行合作可能導(dǎo)致公司整個(gè)項(xiàng)目往后推了;不和市場(chǎng)人員溝通好,市場(chǎng)人員得出數(shù)據(jù)不利于這個(gè)公司發(fā)展;不和自己CTO溝通好,不知道你的CTO到底讓你做什么,完成什么任務(wù)。所以DBA的溝通能力是非常重要的。
另外一點(diǎn),作為一個(gè)DBA必須有挑戰(zhàn)精神,為什么必須有挑戰(zhàn)精神,因?yàn)閿?shù)據(jù)庫(kù)在不斷發(fā)展,公司在不斷壯大。當(dāng)公司業(yè)務(wù)壯大,數(shù)據(jù)量不斷壯大,我們需要一些高端設(shè)備,包括硬件軟件,我們需要應(yīng)用新的技術(shù)解決我們面臨的問(wèn)題,如果一個(gè)DBA沒(méi)有挑戰(zhàn)精神,幾年以后你發(fā)覺(jué)你已經(jīng)被整個(gè)IT業(yè)遠(yuǎn)遠(yuǎn)落在后面了,所以說(shuō)一個(gè)DBA必須有挑戰(zhàn)性,想方設(shè)法運(yùn)用最新技術(shù)解決公司問(wèn)題,新的技術(shù)能夠讓我們業(yè)務(wù)提高好幾倍,所以說(shuō)DBA另外一個(gè)精神就是必須有挑戰(zhàn)精神。這就是說(shuō)作為一個(gè)DBA必須要技術(shù)全面,第二就是必須謹(jǐn)慎,小心,有挑戰(zhàn)精神。這僅僅是我作為一個(gè)DBA的感受。
#p#
DBA如何提升能力
51CTO:現(xiàn)在還沒(méi)有做DBA,但是想做DBA的網(wǎng)友問(wèn),DBA工作非常重視經(jīng)驗(yàn),如果沒(méi)有工作經(jīng)驗(yàn)很難獲得一份DBA工作,但是這就是形成了一個(gè)惡性循環(huán),沒(méi)有經(jīng)驗(yàn)就找不到工作,找不到工作怎么會(huì)有經(jīng)驗(yàn)?所以有網(wǎng)友想問(wèn),在沒(méi)有實(shí)踐條件情況下,怎么獲得DBA的工作的經(jīng)驗(yàn)?zāi)兀?/FONT>
趙振平:你問(wèn)的問(wèn)題是很多網(wǎng)友關(guān)心的問(wèn)題,其實(shí)也是很多大學(xué)畢業(yè)生很感興趣的問(wèn)題。關(guān)于這個(gè)問(wèn)題我的想法有一點(diǎn)奇怪,我覺(jué)得作為一個(gè)畢業(yè)生,剛剛進(jìn)入社會(huì)的時(shí)候,不要在乎這個(gè)社會(huì)給你多少,而是應(yīng)該想想你能為社會(huì)提供多少,你沒(méi)有為社會(huì)服務(wù),社會(huì)是沒(méi)有辦法回報(bào)你的。所以我覺(jué)得應(yīng)該從你成長(zhǎng)的角度考慮,進(jìn)入一個(gè)新公司目的,不是要掙多少錢,你是想從這個(gè)公司讓自己快速成長(zhǎng)起來(lái)。
對(duì)于沒(méi)有經(jīng)驗(yàn)又想從事DBA工作的人我有點(diǎn)建議?,F(xiàn)在PC已經(jīng)很發(fā)達(dá)了,我們不一定非要到很真實(shí)的環(huán)境才能獲得一些經(jīng)驗(yàn),我們?cè)谄綍r(shí)的學(xué)習(xí)中我們也可以學(xué)到一些經(jīng)驗(yàn)。比如說(shuō)數(shù)據(jù)庫(kù)這塊,我在家可以先學(xué)習(xí)一些數(shù)據(jù)庫(kù)理論知識(shí),這些理論知識(shí)非常重要,為你以后在工作中解決問(wèn)題打下一定基礎(chǔ),在你學(xué)了一些理論知識(shí)以后,你要進(jìn)行一些實(shí)驗(yàn),比如說(shuō)有朋友說(shuō)我要到真實(shí)環(huán)境才可以進(jìn)行實(shí)驗(yàn),其實(shí)不是這樣。在數(shù)據(jù)庫(kù)管理中,80%的問(wèn)題在我們學(xué)習(xí)階段也可以碰到。比如說(shuō)你不知道數(shù)據(jù)庫(kù)down機(jī)以后是怎么回事,很簡(jiǎn)單,里把你機(jī)械的電源拔掉,或者你把操作系統(tǒng)直接關(guān)掉,或者你把數(shù)據(jù)庫(kù)某些重要文件刪掉??梢阅M一些故障來(lái)解決,你會(huì)想這些問(wèn)題是怎么產(chǎn)生的,把以前學(xué)習(xí)的內(nèi)容調(diào)動(dòng)起來(lái),你會(huì)想我要解決這些問(wèn)題需要用哪些知識(shí),是基礎(chǔ)知識(shí)網(wǎng)絡(luò)結(jié)構(gòu)還是一些備份,在解決問(wèn)題發(fā)覺(jué)你學(xué)到知識(shí)往往不是數(shù)據(jù)庫(kù),引起數(shù)據(jù)庫(kù)故障有很多,有硬件,操作系統(tǒng)本身的原因,當(dāng)你制造一個(gè)故障解決了故障以后,你會(huì)發(fā)覺(jué)你成長(zhǎng)非???,硬件知識(shí)、數(shù)據(jù)庫(kù)知識(shí)補(bǔ)上來(lái)了。對(duì)于想入行DBA的朋友,平時(shí)可以在自己實(shí)驗(yàn)中獲得很多經(jīng)驗(yàn),當(dāng)正式工作時(shí),會(huì)發(fā)覺(jué)很多問(wèn)題是你遇到過(guò)的,這些解決起來(lái)會(huì)很簡(jiǎn)單,不會(huì)戰(zhàn)戰(zhàn)兢兢的。
51CTO:有網(wǎng)友問(wèn)OCP對(duì)DBA有用嗎?
趙振平:大家覺(jué)得現(xiàn)在OCP大街上滿大街都是,恰恰我不是這樣想的,我們考OCP,并不僅僅為了拿到一個(gè)證書,在考試過(guò)程中我們完全了解整個(gè)Oracle體系結(jié)構(gòu)。有朋友會(huì)問(wèn),為什么必須了解這個(gè)體系結(jié)構(gòu)呢?其實(shí)了解Oracle體系結(jié)構(gòu)非常重要,作為一個(gè)DBA特別是當(dāng)你用到一些最前沿的技術(shù),當(dāng)數(shù)據(jù)庫(kù)發(fā)生問(wèn)題的時(shí)候,我們解決過(guò)程是這樣的,先看一下自己能不能解決這個(gè)問(wèn)題,想一下,如果找不到檔案,再去百度搜索一下,如果找不到再去國(guó)外網(wǎng)站進(jìn)行搜索,我們用最前沿技術(shù)自己想不出辦法,在百度搜不到,國(guó)外網(wǎng)站也找不到,這個(gè)時(shí)候怎么辦,這個(gè)時(shí)候Oracle體系結(jié)構(gòu)是非常重要,可能你是第一個(gè)碰到這個(gè)問(wèn)題的人,這個(gè)時(shí)候要完全靠你自己,用你學(xué)到理論知識(shí),結(jié)合發(fā)生故障的一些現(xiàn)象找到一個(gè)解決方案,所以你學(xué)習(xí)過(guò)程中理論知識(shí)很重要。我為什么建議大家要去考,要求考OCP和沒(méi)有考的人是不太一樣的。如果你考過(guò)OCP人,你有很強(qiáng)的理論知識(shí),你對(duì)整個(gè)數(shù)據(jù)庫(kù)體系結(jié)構(gòu)非常了解,所以O(shè)CP對(duì)于DBA意義是很大的。
另外,正如大家說(shuō)這是獲得一張入場(chǎng)券,一些公司很看中這個(gè)證書。但是關(guān)于這個(gè)問(wèn)題我還有一些看法,對(duì)于小的公司很重視OCP證書,對(duì)于大的公司連你的OCP證書都不看,他不需要這個(gè),因?yàn)镺CP證書僅僅代表,你對(duì)Oracle有很深的了解,不代表你實(shí)力很強(qiáng),大的公司不會(huì)看重你這個(gè)證書,所以這是我對(duì)OCP證書的一些看法。
51CTO:您在工作當(dāng)中怎么充實(shí)自己,在成為DBA以后,怎么在工作中得到鍛煉提升自己。
趙振平:這幾年我覺(jué)得崇尚技術(shù)至上,IT業(yè)就是就是技術(shù)至上的行業(yè),所以這幾年我一直工作在IT技術(shù)的第一線,其實(shí)我喜歡工作在DBA技術(shù)第一線,為什么呢?因?yàn)橹挥泄ぷ髟贒BA第一線,才能從題中吸取教訓(xùn)。工作在第一線的時(shí)候,當(dāng)我每接觸到一個(gè)東西,或者到一個(gè)單位的時(shí)候,我很喜歡給自己一些挑戰(zhàn)。到一個(gè)新的單位,公司業(yè)務(wù)發(fā)生了變化,為了服務(wù)這個(gè)業(yè)務(wù),我們硬件發(fā)生了變化,軟件發(fā)生了變化,這個(gè)時(shí)候我們你要面臨很多挑戰(zhàn)。
DBA這個(gè)職位需要有挑戰(zhàn)精神,我們要面對(duì)這些挑戰(zhàn),我們通過(guò)克服這些挑戰(zhàn),不斷讓自己提高很快,特別是作為一個(gè)Oracle DBA來(lái)說(shuō),當(dāng)你遇到一個(gè)問(wèn)題的時(shí)候,這個(gè)問(wèn)題很難,解決整個(gè)技術(shù)的過(guò)程和矛盾的,在這個(gè)各個(gè)當(dāng)中壓力非常大,你要讓所有的人滿意,而且DBA的另外一個(gè)特性就是反映必須快速,因?yàn)橐粋€(gè)公司不可能把機(jī)器停24小時(shí),你需要在很短時(shí)間內(nèi)把故障排除了,但是當(dāng)你解決這個(gè)問(wèn)題以后,你發(fā)覺(jué)你的進(jìn)步非常大,你從一個(gè)高點(diǎn)又進(jìn)入了另外一個(gè)高點(diǎn),所以在工作以后,應(yīng)該不斷充實(shí)自己。
另外就是給大家一個(gè)建議,你到一個(gè)新的公司,如果這個(gè)公司有新的硬件的時(shí)候,在這些硬件沒(méi)有成為正式的,運(yùn)作生產(chǎn)中,你可以利用這些硬件設(shè)備或者軟件設(shè)備進(jìn)行一些 實(shí)驗(yàn),因?yàn)閷?duì)于DBA來(lái)說(shuō),我們應(yīng)用軟件和硬件,它的成本很昂貴,便宜的十幾萬(wàn),小型20、30萬(wàn),還有更貴的,對(duì)這些硬件對(duì)我們個(gè)人根本就買不起,當(dāng)你到一個(gè)單位,這個(gè)單位有這些設(shè)備,但是這些設(shè)備還未投入到生產(chǎn)中,你可以利用這些設(shè)備,這是一個(gè)很難得的機(jī)會(huì),沒(méi)有比這個(gè)更好的學(xué)習(xí)機(jī)會(huì)了,這時(shí)候我們可以利用這些硬件軟件進(jìn)行學(xué)習(xí)不斷提高,所以我覺(jué)得在工作過(guò)程就是要不斷挑戰(zhàn)。
51CTO:您覺(jué)得在這個(gè)過(guò)程當(dāng)中遇到的最大困難是什么?
趙振平:我覺(jué)得最大的困難就是自己。因?yàn)樵谔魬?zhàn)過(guò)程中,很多時(shí)候會(huì)非常沮喪,因?yàn)楫?dāng)我們遇到一個(gè)問(wèn)題的時(shí)候,可能我們自己解決不了,我們會(huì)想辦法向別人求救, 我們可能用百度,谷歌搜索,當(dāng)你所有的努力沒(méi)有得到正確答案的時(shí)候最沮喪,也是最困難的時(shí)候,你必須強(qiáng)迫自己繼續(xù)努力,當(dāng)你重復(fù)了一次又一次,失敗了以后,最大的敵人就是你自己。繼續(xù)走下去,很多問(wèn)題可以想出答案,可以想到一種間接的解決方法,我們是自己的最大的敵人,如果我們能夠克服自己我們就能夠往前走。
51CTO:我們知道您之前寫過(guò)一本書叫《Oracle數(shù)據(jù)庫(kù)精講與疑難解析》,很多網(wǎng)友反映這本書定價(jià)比較高,您能談?wù)劄槭裁炊ㄟ@個(gè)價(jià)格嗎?
趙振平: 很多讀者反映這個(gè)問(wèn)題,覺(jué)得這本書定價(jià)偏高了,相對(duì)國(guó)內(nèi)的同行出的書,或者相對(duì)一些國(guó)外大師出的書高一點(diǎn)點(diǎn),我也覺(jué)得挺高,但是從我個(gè)人角度,我覺(jué)得高還是正常的。因?yàn)檫@本書和其他書不一樣,它的原創(chuàng)性非常高,盡管一本書有它的優(yōu)點(diǎn)和缺點(diǎn),很多讀者對(duì)我的書有批評(píng),我也接受大家建議,但是這本書也有很多精華。
從我工作起很多案例都在這本書里面,我做DBA這么多年,Oracle 7我用過(guò),Oracle 8,Oracle 10,一直到11g我都用過(guò),在寫書以前這段時(shí)間積累的東西,有關(guān)Oracle 8、Oracle 9到Oracle10 g有很多經(jīng)典都放在這本書里面,這本書90%的例子都是我自己遇到的,另外這本書的例子我基本上反復(fù)驗(yàn)證了,我能找到條件,我在我的PC機(jī)或者服務(wù)器把這故障重新模擬了,所以說(shuō)大部分例子都是經(jīng)過(guò)我自己實(shí)驗(yàn)過(guò)?,F(xiàn)在讀者朋友要求很高,首先里這本書必須嚴(yán)謹(jǐn),我把這本書的很多東西全部實(shí)驗(yàn)了。
另外這本書寫的時(shí)間非常長(zhǎng),有的朋友說(shuō)你這本書寫了這么長(zhǎng)時(shí)間代表你沒(méi)有水平,大家可以看一下,這本書很厚,耗時(shí)我接近3年的時(shí)間,雖然有的讀者覺(jué)得這個(gè)時(shí)間太長(zhǎng)了,但是在寫書的過(guò)程中,包括策劃,寫,包括試驗(yàn),這些都非常耗費(fèi)時(shí)間。
像這本書里面例子,有的例子可能我寫的時(shí)候,我只需要兩個(gè)小時(shí),我就能把這個(gè)例子完完全全呈現(xiàn)給大家,但是為了這個(gè)例子,我要從不同角度把這個(gè)例子呈現(xiàn)給讀者,寫這個(gè)例子的時(shí)候我要想到方方面面的問(wèn)題,不能說(shuō)在這個(gè)環(huán)境下這個(gè)例子可以,換一個(gè)環(huán)境就不行了,所以我做這方面實(shí)驗(yàn)非常多,這就是寫這本書花那么長(zhǎng)時(shí)間,為什么這本書值那么高的價(jià)位。這本書第一版銷售已經(jīng)接近尾聲了,根據(jù)大家反映非常不錯(cuò)。
另外一點(diǎn)這本書亮點(diǎn)是什么,大家看了,這本書非常厚,非常貴,買一本書相當(dāng)于買其它書兩三本。它其實(shí)也適合那些沒(méi)有經(jīng)驗(yàn),又想成為DBA的讀者,因?yàn)樽鳛橐粋€(gè)DBA來(lái)說(shuō),很多問(wèn)題在入行以前不可能遇到,我這本書里就寫了這些故障如何產(chǎn)生,如何解決這些問(wèn)題,增加你們的經(jīng)驗(yàn)。另外一個(gè)好處就是說(shuō)我告訴你的是一種解決問(wèn)題的方法。并不是解決了這個(gè)問(wèn)題換一種問(wèn)題你就解決不了。
比如說(shuō)客戶端連接上數(shù)據(jù)庫(kù)這個(gè)問(wèn)題,教給大家的是一種方法,首先一點(diǎn)你要先用Oracle TS,看客戶端是不是能連接數(shù)據(jù)庫(kù),TS可以通數(shù)據(jù)庫(kù),說(shuō)明客戶端到接聽(tīng)是通,只是說(shuō)在連接數(shù)據(jù)庫(kù)的時(shí)候有問(wèn)題,屬于TS不通。我們先要看操作系統(tǒng)問(wèn)題,首先操作系統(tǒng)用命令看能不能通,如果能通我們進(jìn)入Oracle層面,如果不通有兩個(gè)問(wèn)題,一個(gè)是操作系統(tǒng)設(shè)置問(wèn)題,另外可能是我們硬件問(wèn)題,在這兩塊不通,我們解決操作系統(tǒng)問(wèn)題和硬件問(wèn)題;如果能通我們進(jìn)入到Oracle的問(wèn)題。進(jìn)入到Oracle問(wèn)題以后,是我們端口不正確,還有我們IP地址有措施,整個(gè)過(guò)程基本上是遇到任何的Oracle的網(wǎng)絡(luò)問(wèn)題,基本上大概都是這么走,你只要按照我這個(gè)步驟,基本上可以排除,到底客戶端連接不上數(shù)據(jù)庫(kù)可以找出原因,這本書告訴大家不僅僅是一些例子,而是告訴你如何解決的方法。另外一點(diǎn),我想補(bǔ)充是,這本書耗費(fèi)時(shí)間特別長(zhǎng),耗費(fèi)大量的時(shí)間,精力,我付出了很多心血,雖然也接到了一些網(wǎng)友的批評(píng),我希望大家給我提出更多的建議,我不斷改進(jìn)自己,以后為讀者提供更好的書。
#p#
網(wǎng)友問(wèn)答
鵬:想從開(kāi)發(fā)轉(zhuǎn)到DBA應(yīng)該從哪學(xué)起?
趙振平:我覺(jué)得如果想做DBA最好從開(kāi)發(fā)做起。最好開(kāi)始要做一兩年開(kāi)發(fā),因?yàn)樵陂_(kāi)發(fā)過(guò)程中你能了解,數(shù)據(jù)庫(kù)是為前端應(yīng)用程序服務(wù)的。如果一個(gè)DBA不了解這個(gè)應(yīng)用程序如何運(yùn)行的,如何開(kāi)發(fā)出來(lái)的,如何和數(shù)據(jù)庫(kù)進(jìn)行交互,當(dāng)我們數(shù)據(jù)庫(kù)出現(xiàn)問(wèn)題的時(shí)候我們可能不知道這個(gè)故障怎么產(chǎn)生的,特別是當(dāng)這個(gè)數(shù)據(jù)庫(kù)出現(xiàn)性能的時(shí)候,我們不知道如何解決這個(gè)問(wèn)題,如何和開(kāi)發(fā)人員協(xié)作解決這個(gè)問(wèn)題,我的建議是最好從開(kāi)發(fā)做起
另外就是SQL是怎么寫出來(lái),怎么應(yīng)用,在應(yīng)用程序里面怎么運(yùn)行,在數(shù)據(jù)庫(kù)服務(wù)端怎么運(yùn)行,你只要了解整個(gè)機(jī)制,當(dāng)你以后成為一個(gè)DBA的時(shí)候,里發(fā)現(xiàn)數(shù)據(jù)庫(kù)慢的時(shí)候,你能從數(shù)據(jù)庫(kù)端跟蹤到服務(wù)器,我的建議要從開(kāi)發(fā)做起,做一兩年再轉(zhuǎn)到DBA。
當(dāng)你已經(jīng)做了一兩年開(kāi)發(fā)的時(shí)候,想轉(zhuǎn)到DBA,做了一段開(kāi)發(fā)對(duì)數(shù)據(jù)庫(kù)有一些了解,這時(shí)候里要靜下來(lái)看一些理論性的東西,你想讓自己DBA職業(yè)生涯走得很遠(yuǎn)你必須對(duì)這些理論知識(shí)非常了解,因?yàn)殡m然技術(shù)不斷更新,但是再怎么更新還是脫離不了數(shù)據(jù)庫(kù),更新以后里也只是需要花小小的時(shí)間,讓你的水平站在前沿的水平。要做一個(gè)專業(yè)DBA,體系結(jié)構(gòu)這塊必須了解。 學(xué)了很多理論知識(shí)以后,需要一個(gè)平臺(tái),應(yīng)用這些知識(shí),驗(yàn)證這些知識(shí),當(dāng)我們看書的時(shí)候,當(dāng)我們學(xué)Oracle或者其他數(shù)據(jù)庫(kù)理論知識(shí)的時(shí)候,雖然它自稱是體系結(jié)構(gòu),在我們大腦里面這些知識(shí)并不是一個(gè)完整的體系結(jié)構(gòu),這時(shí)候如果我們有一個(gè)平臺(tái),進(jìn)入到一個(gè)實(shí)驗(yàn),我們就能把一些知識(shí)聯(lián)結(jié)在一起,所以對(duì)它的理論知識(shí)必須徹底的了解,不是只知道大概,知道大概作為一個(gè)開(kāi)發(fā)人員沒(méi)有問(wèn)題,但是作為一個(gè)DBA要解決問(wèn)題是很難的,滲透理論知識(shí)以后再結(jié)合一些實(shí)驗(yàn),獲得一些實(shí)際工作經(jīng)驗(yàn)。當(dāng)我們學(xué)理論知識(shí)的時(shí)候,這些理論知識(shí)雖然我們理解,但是這些理論知識(shí)在我們大腦里面還是比較模糊,當(dāng)我們實(shí)驗(yàn)以后讓這些理論知識(shí)在我們大腦里面更加清晰,所以理論知識(shí)必須吃透,進(jìn)行大量的試驗(yàn),大膽一點(diǎn),雖然你解決問(wèn)題很困難,但是你發(fā)覺(jué)你進(jìn)步很大。
DDBBAA:學(xué)哪個(gè)數(shù)據(jù)庫(kù)有前途?SQL Server還是DB2還是Oracle
趙振平:這個(gè)問(wèn)題挺好回答,但是挺難做?,F(xiàn)在DBA不像以前的DBA,前幾年有Oracle,在DB2方面很擅長(zhǎng),就很容易找到工作,可以拿很高薪水,現(xiàn)在其實(shí)DBA這個(gè)行業(yè)發(fā)展到今天,已經(jīng)有一個(gè)質(zhì)的變化了,現(xiàn)在的DBA,特別在大的公司對(duì)數(shù)據(jù)庫(kù)有一個(gè)積累的過(guò)程,早先可能用Oracle,發(fā)現(xiàn) SQL Server便宜就用 SQL Server,再用 MY SQL,在一個(gè)公司應(yīng)用集成了很多數(shù)據(jù)庫(kù),這時(shí)候?qū)BA提出了很多要求,一個(gè)DBA不僅要會(huì)Oracle,會(huì)Oracle只是一個(gè)DBA其中一個(gè)要求之一,還要會(huì)其他的,這些數(shù)據(jù)庫(kù)之間要進(jìn)行交互,在數(shù)據(jù)進(jìn)行交互的時(shí)候,或者是進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn)的時(shí)候,我們要把這些數(shù)據(jù)庫(kù)綜合,這時(shí)候?qū)τ谝粋€(gè)DBA不僅要了解Oracle,要了解 MY SQL,也要了解 SQL Server,你對(duì)各種數(shù)據(jù)庫(kù)平臺(tái)必須了解。
就是對(duì)每個(gè)數(shù)據(jù)平臺(tái)都要有一些了解,另外對(duì)操作系統(tǒng)每個(gè)平臺(tái)你也要了解,你做DBA沒(méi)有辦法選擇你的數(shù)據(jù)庫(kù)運(yùn)行在哪個(gè)平臺(tái),有的數(shù)據(jù)庫(kù)運(yùn)行在Windows,有的運(yùn)行在Linux,作為DBA沒(méi)有辦法選擇,你只能接受。在操作系統(tǒng)層面不僅要懂Windows,Linux等等都要懂,當(dāng)前對(duì)DBA要求更高,對(duì)各種數(shù)據(jù)庫(kù)都要了解,各個(gè)版本操作系統(tǒng)都要了解,這是對(duì)當(dāng)前DBA一個(gè)很高的要求。
john:dba這個(gè)行業(yè)是否和英語(yǔ)能力有很大的關(guān)聯(lián)
趙振平:有關(guān)學(xué)習(xí)數(shù)據(jù)庫(kù)的過(guò)程,很多朋友遇到就是英語(yǔ)問(wèn)題,因?yàn)槲覀冸m然學(xué)英語(yǔ)學(xué)了很多年,但是我感覺(jué)對(duì)我來(lái)說(shuō),我的英文水平也不怎么樣,所以接觸Oracle的時(shí)候,各種數(shù)據(jù)庫(kù),都來(lái)自于美國(guó)或者歐洲國(guó)家,他們是用英語(yǔ)表述他們的技術(shù),所以我們?cè)谖覀兿胝莆账麄兗夹g(shù),領(lǐng)會(huì)他們技術(shù)精神,走在技術(shù)最前沿,這時(shí)候我們第一手資料都是英文的,所以我們必須學(xué)英文,特別是我考OCP的時(shí)候,英語(yǔ)成了我最大的障礙。
開(kāi)始的時(shí)候,三天讀一頁(yè),我記得很清楚當(dāng)時(shí)英語(yǔ)實(shí)在太差了。開(kāi)始的時(shí)候三天看一頁(yè),對(duì)我們來(lái)說(shuō)不僅要了解它的字面意思,這篇文章到底告訴我們什么東西,什么技術(shù),除了字面意思,必須領(lǐng)會(huì)技術(shù)精神。但是因?yàn)闆](méi)有太多參考資料,沒(méi)有辦法只有堅(jiān)持,大概一個(gè)月以后就發(fā)生了一些變化。開(kāi)始的時(shí)候,我是三天看一頁(yè),一個(gè)月以后我們是一天看三頁(yè),一個(gè)月以后我發(fā)覺(jué)我的閱讀速度比以前提高了,三個(gè)月以后,我一天可以讀7、8頁(yè)也沒(méi)有問(wèn)題了。所以我就發(fā)覺(jué)在英語(yǔ)和技術(shù)結(jié)合這一塊,主要看你能不能堅(jiān)持下來(lái),開(kāi)始的時(shí)候非常困難,像我說(shuō)的三天看一頁(yè),但是你堅(jiān)持很長(zhǎng)時(shí)間以后,恰恰反過(guò)來(lái),一天看十幾頁(yè)都是很正常的,你堅(jiān)持了三個(gè)月,半年或者一年以后,你發(fā)覺(jué)可能你的口語(yǔ)水平?jīng)]有什么變化,但是你的閱讀能力已經(jīng)發(fā)生了翻天覆地的變化,所以我覺(jué)得無(wú)論是DBA還是其他開(kāi)發(fā)人員都會(huì)遇到這個(gè)問(wèn)題,因?yàn)槟阋咴诩夹g(shù)最前沿,你必須很快速瀏覽英文資料,并且知道人家告訴你意思,應(yīng)用人家最新的技術(shù),所以無(wú)論是開(kāi)發(fā)人員還是網(wǎng)絡(luò)工程師,必須能快速閱讀英語(yǔ),開(kāi)始很困難,如果大家能堅(jiān)持下去半年以后,大家閱讀能力一般來(lái)說(shuō)絕對(duì)不是問(wèn)題。
鮮橙加冰:關(guān)心DBA目前的工作壓力問(wèn)題。請(qǐng)趙老師方便的話說(shuō)一說(shuō)。
趙振平: 確實(shí)是,DBA壓力是非常大的,這個(gè)不同于開(kāi)發(fā)人員,不同于IT業(yè)其他職位,作為一個(gè)DBA你管理數(shù)據(jù)庫(kù)是7×24小時(shí)運(yùn)轉(zhuǎn)的,大家想一下,一個(gè)公司其實(shí)最核心的東西是數(shù)據(jù)庫(kù),如果數(shù)據(jù)庫(kù)down了我們業(yè)務(wù)人員沒(méi)有辦法開(kāi)展工作,開(kāi)發(fā)人員也無(wú)法工作整個(gè)公司所有業(yè)務(wù)基本上全部停頓。
我記得是05年,我給一家公司遇到過(guò)一種情況,當(dāng)時(shí)我們數(shù)據(jù)庫(kù)突然down了,當(dāng)時(shí)壓力非常大,因?yàn)檎麄€(gè)公司業(yè)務(wù)全部停頓了,業(yè)務(wù)、開(kāi)發(fā)人員停止工作,CTO不斷打電話來(lái),老板不斷打電話來(lái),我當(dāng)時(shí)一邊在打電腦,一邊跟我們的CTO打電話,我說(shuō)快了,就快解決了,我的CTO一會(huì)兒一個(gè)電話。當(dāng)時(shí)壓力非常大,但是壓力大的情況下,你還必須保持冷靜,在你解決問(wèn)題過(guò)程當(dāng)中,如果你不冷靜可能造成新的問(wèn)題,讓公司造成更巨大的損失,這些年我感覺(jué)到做一個(gè)DBA,壓力非常大,做一個(gè)公司DBA基本上沒(méi)有時(shí)間限制的,即使就是說(shuō)大半夜你在睡夢(mèng)中,一個(gè)電話你也得起來(lái),趕到公司去,解決這些問(wèn)題,以前我工作的時(shí)候,我們老板給我們提出了三個(gè)A的要求,無(wú)論你哪個(gè)地方,無(wú)論你在什么時(shí)候,無(wú)論你用任何方式,你必須給我管理我公司數(shù)據(jù)庫(kù),無(wú)論你在北京,廣州還是在哪,我公司數(shù)據(jù)庫(kù)出了問(wèn)題你必須解決,無(wú)論里在網(wǎng)吧里面還是在家里面,公司,公司數(shù)據(jù)庫(kù)出了問(wèn)題,你也必須能夠連接到公司的數(shù)據(jù)庫(kù),解決問(wèn)題所以說(shuō)壓力非常大。當(dāng)我壓力很大的時(shí)候,當(dāng)我遇到的問(wèn)題時(shí)候,當(dāng)有很多人催促解決問(wèn)題的時(shí)候,無(wú)論壓力多大,我都會(huì)告訴自己,不要感他們對(duì)你大呼還是小叫,當(dāng)我遇到壓力的時(shí)候及我會(huì)拋開(kāi)壓力。




















