面試Oracle 管理和開發工作的感受,以及後續的學習方法



我的Oracle學習方法及其面試感受


下面的方法一部分相剋軍老師總結的,一部分是自己在找工作時的切身感受,希望能給將要轉行的朋友一些建議。

一、目前學習oracle的三派人。1、開發工程師,2、網絡工程師,3、零基礎的學習者。

我是去年年中開始接觸oracle的,自學的了半年,感覺不是很理想,就利用週末報了培訓班,在培訓班裏學了三個月,感覺還是不夠,再招聘網站上看到公司要求感覺,知識儲備還是不夠,總之感覺oracle裏面有很多東西要學。決定重新梳理一下知識,再深入學習。

二、Oracle的重要性。各大公司都有自己的數據庫,實際前段數據庫(OLTP)和後臺的挖掘分析的數據庫(OLAP)

三、學習前提

前提:熟悉linuxunix操作系統、存儲、帶庫。主要是管理和操作系統原理。學習oracle之前,也沒有什麼基礎,對linux和unix完全是零認知。現在正在深入學習linux。

四、學習方法

1、sqlpl/sql(網上視頻,簡單入手,多看書,做實驗)

座位oracle的基本功,需要大家對sqlpl/sql非常的熟悉。特別是sql裏面的多表連接、子查詢、各種新版本的函數,以及pl/sql裏面的所有語法。建議大家拿出足夠的時間來研究這兩塊,不要認爲這是開發人員的工作,他也是DBA的重要工作,而且DBA要求更高。學習要點:多練習、多思考、多測試。

從今年面試幾家公司,切身感受,面試和筆試這部分是重點中的重點,面試題目基本上就是SQL裏面的多表查詢、子查詢、函數,特別是多表查詢,一般都有decodecase函數,再難點的就是複雜查詢,網上基本上都可以搜的到;PL/SQL 基本上是基礎的過程、函數、包和觸發器的基本語法,除非你面試的是針對性很強的報表和基礎開發工作,一般這部分公司要求不高。總之,如果你想獲得一份oracle相關的工作,這部分你一定要很熟悉。否則其他都免談,再面試的時候發現一個現象,就是打字速度要跟上,這樣用人單位會偏向那些打字速度更快的人。

2、oracle管理(體系結構)

這是oracle的難點,oracle技術博大精深,主要的難點就是集中在這裏面。包括oracle的存儲管理、對象管理、內存和進程、undo管理、初始化參數、數據字典視圖、安全、latchlock、權限和角色、資源調度、閃回、日誌原理等。

知道原理以後,通過實驗去證明,講原理總結出來。

這部分跟上在面試的時候基本都是問動態性能視圖的相關問題,主要是查看。還有就是整個體系結構中內存(SGA)部分結構和表空間、跟蹤文件、日誌等基礎的原理和操作

3、備份恢復(聽課、看書、多做實驗、多討論)。

有了第二部分的鋪墊,這一章學習起來很有意思,前提是我們多oracle的日誌原理研究得較深,對oracle的內存和進程研究的較深。策劃一個完美和正確的備份計劃和實施方案(具體要對分析出原理),實施備份;對各種損壞進行恢復;另外可以做一些高難度恢復實驗。

這部分原來我是比較看重的,但是在實際的面試中,公司基本上很少提到方面的問題,後來想想也對,一般數據庫的備份都是資深人員做的事情,大多都是寫好腳本,做一個執行計劃,自動備份。新員工也許你一兩年都沒機會做備份,恢復就更不可能讓新人做了。我建議這部分了解原理即可,深入的等到你的工作崗位上再縱向深入研究。如果是像我這比樣零基礎的朋友,準備轉行進入oracle數據庫的工作,上面是我個人建議,可以把重點放在優化上。

4、優化(單實例優化)(多聽課,最好聽一些專題性的,深入講解的專家課題,還有一些經典的書籍,特別是英文書)。

首先需要大家掌握一些oracle的優化方面的基礎知識,例如深入分析索引原理、分區、等待事件、事件統計模型、動態性能視圖、操作系統的一些性能優化和查看命令,如:top ,iostat,vmatat,sar,pamp,prstat,filemon,nmon,svmon等。

最關鍵的還是三件事情:oracle的動態性能視圖、oracle的報告(tracestatspackawr,addm,ash)、執行計劃;對這三塊要熟悉和分析出來。這個部分的分析和動手實驗很重要。

這個部分是大家想獲得oracle DBA一份滿意的工作,這部分你要好好積累了,我面試的幾家公司都要求是能優化、懂優化、會優化。當然大多朋友都有一點優化的背景,比如:查看消耗CPU、內存最多的幾個SQL語句,然後再根據SQL語句,查看執行計劃,最後再修改語句、測試。還有就索引的優化。這部分是大多數DBA日常乾的事情,如果鎖機制你很熟悉,公司一般也會留下你。因爲生產庫日常出現的問題基本上就在這部分解決,而且解決的方法就那麼幾種,所以大家儘可能把這部分搞透徹。

5、RAC(可以聽聽課,有了前面的基礎以後,基本上自己看懂書了,因此,可以看書,也可以聽一些專題課)

現在RAC的使用越來越多,學習RAC的重點還是:基礎原理+RAC優化。

RAC系統的優化分爲兩個步驟:RAC系統優化和單實例優化;根據RAC的基礎原理,能夠設計高性能的RAC系統,能夠分析RAC性能問題。對RAC的動態性能視圖、等待事件、報告。能夠看懂和分析。

RAC技術對於想獲得數據庫相關的工作的朋友,這部分你加分的地方,不會暫時也沒什麼,但是如果進入工作崗位了,這個一定要會,RAC技術很多公司都在用。

6、GCDGStreamGold Gate等。我們熟悉其體系結構、原理,一些監控性能的工具等。學習這些部分的幾個點:熟悉體系結構、原理;搭建;監控(包括故障和性能);

這部分原來準備的是DG,但是實際面試的幾家公司幾乎不用這個HA技術,可能是DG的實際性能不太理想,也可能是Gold Gate技術更加先進,國內幾個OCM的大師也偏向後者。我也建議大家把Stream Gold Gate學好,以後的自身提升這部分是應該必須掌握的。

7、Sqlpl/sql的性能優化。(多看書、多試驗、多總結)。

8、綜合項目的實踐。

規劃、搭建、測試、管理、排錯、優化、分析。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章