Oracle學習路線

資料與人發表於2021-04-08

【前言】

 

經常有一些專案朋友向我諮詢,如果打算進入DBA這一行或者想更深入的學習一些資料庫的知識,應該怎樣入門,可以透過怎樣一個路線圖來進行學習。

其實關於這個問題,網上已經有了很多內容可以參考。但是既然這麼多朋友諮詢,我打算先整理一下Oracle的學習計劃發出來(後面有時間整理一下MySQL)。

參考一下我走過的路,我的總結與經驗,也許大家能夠有些許的收穫,如果能夠有所借鑑那是最好的。

 

【學習必讀】

 

學習Oracle首先要了解Oracle是什麼,Oracle是個軟體,這個軟體很大,光安裝包就要兩個多G。甚至比作業系統都要大。

Oracle用了做什麼呢,用來管理一些資料,而通常情況下這些資料是不允許出問題的。

我們不光要會使用這個軟體,還要能夠管理資料的同時還有兼顧效能。所以對維護Oracle的人要求是很高的。

 

目前來說有興趣學習Oracle的主要有兩類人:

第一類人是工作中不可避免的會接觸到Oracle的人,比如說一些專案人員、開發人員、測試人員等。這些人把Oracle當成一個軟體使用,會用就ok,出什麼問題網上搜一下資料,解決了萬事大吉,不會去深究原因。

還有一類人事是專職DBA,可以說Oracle技能是吃飯的傢伙,他們致力於把Oracle研究透徹,磨鍊自身具備理論結合實踐的能力。

其實不管是專職的還是非專職的,就我接觸到的情況而言,很多DBA平時維護Oracle看起來沒什麼問題,但其實沒有很好的理論支撐,知其然而不知其所以然,解釋一個簡單的問題就能問倒一大部分的人。

比如說:Oracle的物理儲存架構列出來,分析當前業務架構優缺點?Oracle內部工作原理是什麼樣的?目前有沒有問題,有沒有關注日誌?關注了哪些日誌?

而且很多公司招聘面試的時候,考驗的也是背後的原理居多,基本上沒有機試。面試官問一個問題,即便你會解決但就是說不出原理,那麼你肯定要不了高薪。

持之以恆+好的學習方法+好的學習內容=升職加薪。

總之不管是專業還是非專業,只要工作中需要用到或者說有興趣轉行的,多瞭解一下有好處。

既然Oracle很重要,那麼學習起來肯定是有一些門檻的,也是要下一些功夫的。我儘量把能想到的有關Oracle的內部原理細細的講一下,記住只是會用Oracle遠遠不夠!

 

言歸正傳

Oracle學習的時候一定要注意Oracle原理的研究,有興趣的同學可以閱讀官方文件,這是第一手資料。

 

1、學習前提

本課程不是初級階段的入門學習,最好事先有一些基礎。熟悉Linux作業系統,儲存等,包括管理和操作原理。

 

2、學習方法

操作Oracle就不可避免的要是用Oracle聽得懂的語言,那麼sql就顯得尤為重要。作為Oracle的基本功,需要對sql和plsql比較熟悉,比如涉及一些sql裡的多表關聯,子查詢,常用函式等。

不要以為這是開發人員的工作,同時也是dba的工作。而且對DBA要求更高,不但要求能看懂,還要能找出問題,為什麼?因為將來你要改寫有問題的sql,提升效能。

這裡沒有太多的話可說,就是大量動手做。

 

3、Oracle管理(體系結構)重點

這一部分是Oracle的學習過程中的重中之重,是一切核心所在,也是後面要講的核心內容。

會深入剖析Oracle體系結構,包括Oracle的儲存管理、物件管理、記憶體和程式、undo管理、初始化引數、資料字典檢視、安全、latch和lock、許可權和角色、資源排程、閃回,日誌原理等。

這些東西有一定的深度,學習這一塊的知識,一個重點要求是知根知底,只關注表面的東西沒有任何意義。

水是有源的,樹是有根的,不知道原理的日子是火熱水深的。

對這塊知識的掌握程度直接決定了以後的管理資料庫,包括備份恢復,效能最佳化,故障處理等。

要成為一個兩萬以上薪資的DBA,這一套是必須學會的。

 

4、備份恢復

 

這一部分需要對Oracle的日誌原理有比較深刻的理解。

制定正確的備份計劃和實施方案(原理),實施備份,對各種損壞進行恢復。

好的備份策略比損壞修改更重要。

 

5、最佳化

 

效能沒有最好,只有更好。效能最佳化是一條走不到盡頭的路,這一塊的內容也是Oracle的另一座高山。

這一部分需要掌握一些Oracle的最佳化方面的基礎知識,例如深入分析索引原理、分割槽、等待事件、時間統計模型、動態效能檢視、作業系統的一些效能最佳化和檢視命令。

最關鍵的:Oracle動態效能檢視,Oracle報告,執行計劃,這一部分需要不斷積累經驗。

最佳化不是學出來的,是練出來的。包括但不限於高併發系統,高負載系統、大資料量系統下的實戰演練。

 

6、SQL最佳化

 

這部分可以包含在最佳化的大模組裡,不過SQL最佳化關注的更細緻,專注於SQL層面的效能。

基本上是工作中每天都要做的事情,需要持之以恆的研究,最少每週應該最佳化幾條sql,最消耗資源的3條sql最佳化了,那麼你的系統就會跑的很快了。

 

7、RAC

設計高效能RAC系統,分析RAC效能問題。

 

8、DG

設計業務容災機制,分析DG問題。

 

9、實戰

規劃、搭建、測試、排錯、最佳化、分析

最後提醒一句:運算元據庫,安全第一!安全第一!!安全第一!!!

 

 

【溫馨寄語】

 

看完上面的話可能有點迷糊,不過不要緊,大體聽明白以後知道怎麼學習了。然後一塊一塊學習,跟著一個核心的指導思路學習。

後面的深入學習,主要就是圍繞Oracle體系結構來講,深入剖析Oracle體系結構。

歡迎大家關注【資料與人】,有問題可以留言,祝大家在接下來的學習中有個愉快的過程。

 

[開啟微信]->[掃描下方二維碼]->[關注資料與人] 


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

相關文章