首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 學習心得:DBA 與開發定位、高效學習法、核心架構體系全景圖

     編輯:Oracle 資料庫基礎

一、職涯定位:開發 vs 管理

維度開發 (PL/SQL、Forms)管理 (DBA)
核心技能邏輯思維、程式設計、業務建模原理深度、全局視野、故障處理、效能調優
責任風險專案交付、功能正確性資料安全、系統可用性、誤操作可能導致庫掛掉
經驗依賴技術棧更新快,屬「青春飯」**極度依賴經驗驗積累**,越老越吃香
轉型建議畢業生建議先做開發積累業務與SQL經驗,再轉型 DBA需扎實理論基礎+大量實戰演練

二、高效學習方法論

  1. 看書:建立知識骨架 (官方 Concepts、2 Day DBA)。
  2. 思考:多問「為什麼」,挑戰預設認知。
  3. 寫筆記:整理知識點、記錄疑問、梳理邏輯——**輸出倒逼輸入**。
  4. 做實驗:驗證理論、觀察行為、製造故障再修復。
  5. 再思考、再筆記:形成「模糊→清晰→再模糊(更深層)」的螺旋上升。

忌諱:遇到問題直接發帖問人,未查文檔、未搜論壇、未自行實驗 —— 這是「思維惰性」,註定學不會。

三、Oracle 體系全景架構 (必須建立的心智模型)

1. 物理結構

  • 控制檔:維護資料庫完整性資訊 (至少 1 個,建議多路徑多工)。
  • 資料檔:實際儲存使用者資料。
  • 重做日誌檔:記錄變更,支援崩潰恢復 (至少 2 組)。
  • 參數檔 (PFILE/SPFILE):定義例程特性。
  • 歸檔日誌檔:重做日誌離線備份,支援介質恢復。
  • 密碼檔:鑑別 SYSDBA/SYSOPER 權限。

2. 邏輯結構 (由大到小)

表空間 → 段 → 區 → 區塊

  • 表空間:邏輯儲存單位,一組資料檔集合。
  • 段:物件 (表、索引) 佔用的空間集合。
  • 區:連續區塊,一次性分配單位。
  • 區塊:Oracle 最小 I/O 單位,建庫時指定 (建議 8K+)。

3. 記憶體架構

  • SGA (System Global Area):共享記憶體區,含共用池、資料庫緩衝區、重做日誌緩衝區、大池等。所有程序共享。
  • PGA (Program Global Area):私有記憶體區,含排序區、游標狀態等。每程序獨有,建立時分配、結束時釋放。

4. 後台進程

5. 例程與 SCN

例程 = SGA + 後台進程。一次只能掛載/開啟一個資料庫。
SCN (System Change Number):系統內部單調遞增序號,是資料一致性、恢復排序的核心基石。

四、深入進階路線圖

  • DBA 路線:OCP 認證 → 研讀 Oracle Concepts / 官方文檔 → 專題攻關:RMAN、RAC、Data Guard、SQL Tuning、Backup & Recovery、Performance Tuning。
  • 開發路線:精通 PL/SQL (SQL 優化、存儲程序/函數/觸發器/套件) → 掌握 Oracle Developer Suite (Forms/Reports)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
進程職責
DBWn將髒緩衝寫入資料檔
LGWR將重做日誌緩衝寫入線上重做日誌檔
SMON執行執行個體恢復、整理暫存段、合併自由空間
PMON清理失敗程序資源、釋放鎖、重註冊監聽
CKPT檢查點:更新控制檔/資料檔標頭 SCN
ARCn歸檔滿載重做日誌組
RECO解決分散式交易失敗