【DBA】 Oracle 學習路線

lhrbest發表於2017-06-26

【DBA】 Oracle 學習路線



出差歸途火車上,有幾個小時的時間,正好可以把Oracle 知識的學習框架梳理一下,這些都是DaveOracle的一些理解,共初學者參考。 本篇文章只介紹知識點,不涉及具體內容。

 

1       學習方法

很多初學者一直在門外徘徊的一個重要原因就是沒有找到正確的學習方法,其實Oracle 需要系統的學習,這個過程可能需要2-3年。


 

最好的資料就是Oracle的官方手冊:http://docs.oracle.com

 

當然,DaveBlog 也是可以參考的,上面大部分文章都是測試過的,保證有效性。

CSDN: http://blog.csdn.net/tianlesoftware (不再更新,老文章依舊可以參考)

CNDBA 社群:http://www.cndba.cn/dave (當前正在使用的部落格)

 

遇到問題的時候,首選google,實在不行在度娘,這2者之間的區別誰用誰知道。

 

學習本身就是一個不斷提升的過程,遇到問題不要怕,多做實驗,前期肯定是要多花點時間的,自己多獨立思考,伸手一族是非常不好的,即使實在不明白,也要先獨立思考幾分鐘,而不是遇到問題就直接問別人,這種情況即使別人告訴你了,下次遇到還是不會。

 

在問別人的時候,也儘量把自己的問題描述清楚,一個好的提問包含以下幾個方便:系統環境,DB 環境,現象,日誌。 這些是基本的資訊,務必自己先分析一下。 通常來說,只要能把問題描述清楚,在結合google,基本都可以解決問題,很多人不會難就難在連問題都描述不行。

 

所以掌握正確的學習方法是第一步

2       Oracle 的體系架構

Oracle 的知識體系很龐大。 全部學完需要花大量的時間,這裡對知識框架進行一個簡單的說明,方便學習。

 

1.      Oracle 程式體系

在這個部分需要了解Oracle 所有程式及其功能。

 

2.      Oracle 記憶體體系

瞭解Oracle 記憶體的組成部分,PGASGA及組成。 這部分關係到資料庫的效能,掌握有利於DB的優化。

 

3.      Oracle 物理組成

Oracle 物理上由哪些檔案組成,每個檔案起什麼作用。

 

以上三部分在官方文件上都有詳細的說明,把官方文件通讀一遍即可瞭解。

3       Oracle 環境搭建系

1.      DB安裝

根據目前的趨勢,至少要掌握X86平臺上Oracle 資料的安裝。

 

2.      Export/import 工具使用

Oracle 10g之前非常有用的資料遷移工具,工具使用簡單,要了解如何使用。

 

3.      Data Pump/expdp/impdp

傳統匯出匯入工具的升級版,最主要的變化是縮短了命令執行的時間。

 

4.      RMAN 備份恢復

對於DBA來說,只要有有效的備份,遇到問題的時候,心裡是不會驚慌的。 RMAN 是生產庫最主要的備份手段。但看到很多不嚴謹的環境中,仍有使用export/import 來進行備份的。

 

只想說,如果你覺得資料不重要,允許資料丟失,那麼隨便折騰,如果覺得資料重要,那麼請使用RMAN來進行。

 

5.      Data Guard

資料庫容災平臺,簡單高效,易維護。 中小企業推薦的容災方式。


 

6.      RAC

Oracle RAC 叢集,高效能,高可用的資料庫平臺,一直都說,RAC 本身最主要的價值是體現在高效能,其次可用。根據通常的理解,任何軟體元件越多,出bug的可能性就越高,維護的難度就會越大。 RAC 就是如此,系統,網路,硬體,DB bug 都可能導致資料庫異常,維護好RAC 需要一定的功底。

4       Oracle 優化

每當有人在群裡問優化的時候都會開玩笑說上快閃記憶體卡,這個是有一定道理的,資料庫的瓶頸在IO,當IO已經無法優化的時候,上快閃記憶體卡確實可以解決效能問題,當然如果你不會優化SQL,上快閃記憶體卡也可以解決,只是提升多少的問題。

 

這裡看下與優化相關的部分。

 

1.      瞭解Oracle 相關的新特性,比如直接路徑度,自適應遊標,這些特性可能會影響到DB效能,需要先了解。

2.      能看懂資料庫的執行計劃。

3.      瞭解多表關聯的幾種方式(Nest Loophash joinmerge into…

4.      常見Hint的使用

5.      瞭解常見的幾種索引型別及特性,已經執行計劃對索引的選擇是否正確,比如全索引掃描,跳躍掃描等。

6.      永遠都要確保物件上的統計資訊是準確的,這個是CBO 來評估執行計劃的重要參考,只要執行計劃正確,索引合適,這條SQL 的效能不會差到哪裡。

7.      當遇到某條SQL 異常導致資料庫出現效能問題,比如CPU 100%的時候,需要知道判斷SQL執行計劃是否有變化,並知道如何利用SQL profile等來固定正確的執行計劃。

8.      當然,最重要的一個前提,你得會寫SQL,如果連SQL 語句都讀不懂,自然談不上優化。

 

5       DBA的心裡素質

假如你是一個DBA,維護公司的所有DB

 

當應用報告DB 效能突然下降,你是否知道如何處理?

當凌晨2點,接到系統告警,DB當機,你是否願意從暖暖的被窩中爬起來處理故障?

當重大節日,保障過程中出現重大DB問題,一群領導同事圍觀你的時候,你是否還能冷靜的處理問題,小手是否會發抖?

 

所以心裡素質也是DBA 需要提升的必備技能,當你能獨擋一面處理故障的時候,你就成為了一名正在的DBA 但是很多初學者沒明白這點。

 

經常和朋友聊天,說現在的年熱人不向我們當年那會,現在很多的年輕人浮躁,不願意學,還要求多。

 

想當年,我們學習Oracle 的時候,資料很少,都是靠自己慢慢研究,可能一個問題要花幾天來研究,然後把整個解決的過程寫部落格,進行分享,但現在寫部落格的人太少了,而且很多人是是連google,百度,都不去,上來就問別人,名其曰節省時間,實際上真的節省了嗎,問題沒搞懂,不能提升自己,下次遇到問題還是不會,只會浪費很多的時間。

 

每當看到這些迷途中的少年們,也會想到曾經的自己,因為Dave也曾迷茫過,所以最後以Dave部落格上的座右銘與你們共勉:


The important thing in life is to have a great aim, and the determination to attain to it.

 

Dave

2016/11/9

回合肥的高鐵上






About Me

...............................................................................................................................

● 原文地址:http://www.cndba.cn/dave/article/334

● 本文在itpub(http://blog.itpub.net/26736162)、部落格園(http://www.cnblogs.com/lhrbest)和個人微信公眾號(xiaomaimiaolhr)上有同步更新

● 本文itpub地址:http://blog.itpub.net/26736162/abstract/1/

● 本文部落格園地址:http://www.cnblogs.com/lhrbest

● 本文pdf版及小麥苗雲盤地址:http://blog.itpub.net/26736162/viewspace-1624453/

● 資料庫筆試面試題庫及解答:http://blog.itpub.net/26736162/viewspace-2134706/

● QQ群:230161599     微信群:私聊

● 聯絡我請加QQ好友(646634621),註明新增緣由

● 於 2017-06-02 09:00 ~ 2017-06-30 22:00 在魔都完成

● 文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解

● 版權所有,歡迎分享本文,轉載請保留出處

...............................................................................................................................

拿起手機使用微信客戶端掃描下邊的左邊圖片來關注小麥苗的微信公眾號:xiaomaimiaolhr,掃描右邊的二維碼加入小麥苗的QQ群,學習最實用的資料庫技術。

【DBA】 Oracle 學習路線
DBA筆試面試講解
歡迎與我聯絡

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2141277/,如需轉載,請註明出處,否則將追究法律責任。

相關文章