2、軟體結構
oracle甲骨文出品(純屬廢話.png),目前為止還是當今世界最快的資料庫,但是收費高昂,並不是十分受創業公司的青睞,但是裡邊的設計,還是值得學習和借鑑。另外mysql被甲骨文收購後,oracle中的優秀設計多多少少肯定會被用到mysql中,那麼學習一下oracle就顯示還是有那麼一些用處或者好處的。另外在實際的使用過程中,也確實是發現了有共通的地方。
oracle的儲存結構分為邏輯儲存結構和物理儲存結構,邏輯儲存結構聽名字就知道這個東西跟系統或者硬體關係不大,就是oracle的工程師自己定義的oracle的組成部分,就像分布式系統裡的乙個個服務,是我自己劃分的,這個是使用者服務的,那個是訊息的,另外乙個又是支付的等等,都是架構師自己定義的。物理儲存結構聽名字就大概能猜到是跟物理的檔案或者系統有關係,就是你能實實在在看到的物理檔案。
物理儲存結構其實是作業系統中的資料庫的的組成檔案,包括資料檔案,控制檔案和重做日誌檔案。與oracle資料庫有關係,但是從技術看不屬於oracle的附屬檔案,包括密碼檔案(pwd.ora),引數檔案(spfile.ora)和歸檔重做日誌檔案。
資料檔案就是儲存資料的檔案,建立表空間的時候,資料庫會預設生成乙個資料檔案,乙個資料檔案只能屬於乙個表空間。
控制檔案資料庫最小的檔案,但是是最主要的,控制兩字就能體現出他的主要性,像資料庫的名稱,資料檔案和重新日誌檔案的名稱,位置,離線/聯機狀態和大小。
重做日誌檔案使用者在對資料庫的資料進行修改時,oracle其實是現在記憶體中進行修改,經過一段時間後,再集中將記憶體中的修改結果成批儲存到資料檔案中,這麼做的原因是為了提供效能。但是這裡就有乙個檔案,如果資料庫異常,例如斷電等,就會導致記憶體中修改的操作沒有及時儲存到資料庫中,這時就需要一種機制來處理這種資訊,重做日誌檔案就是用來做這件事情的,在寫入資料檔案之前,可能已經分幾批次將更改寫入到了重做日誌檔案中去。
oracle資料庫是例程結構,整個oracle是由例程和資料庫組成,這兩者有很大的區別,資料庫是物理實在存在的,但是例程是由作業系統的記憶體結構和一系列程序組成,可以啟動和關閉,但是要使用資料庫就必須啟動例程,沒有例程資料檔案是無法讀取的,使用者連線資料庫其實就是連線例程,然後通過例程去運算元據庫的。乙個作業系統可以建立多個資料庫,當然需要數量的例程,為了區分不同的例程,就給起了乙個sid來進行區分。
和所有軟體一樣,oracle在硬碟中的資料或者程式是無法執行的,都需要將其指令**和資料裝載到記憶體中才能執行,oracle按照對記憶體使用方法的不同,分為系統全域性區(system global area)和程式全域性區(program global area),這些區劃分為更細小的區,對效能有十分重要的影響(未完待續)
(以上內容均為平時學習歸納總結,如有侵權,請告知)
oracle體系結構
oracle由例項和資料庫組成 例項是由sga system global area 和一系列後台程序組成的,其中sga最主要劃分為共享池 shared pool 資料緩衝區 db cache 和日誌緩衝區 log buffer 後台程序包括pmon smon lckn reco ckpt dbwr...
oracle體系結構
一.oracle資料庫的後台程序 dbwr 資料庫寫程序,負責將更改的資料從資料庫緩衝區寫入資料檔案 smon 系統監控,檢查資料庫的狀態,恢復資料庫的例項 pmon 程序監控,負責oracle程序失敗時資源清理釋放 chpt 檢查點程序,每當緩衝區資料寫入檔案時,更新控制檔案的資料庫狀態資訊 ar...
oracle體系結構
oracle體系結構圖 1.1 為什麼oracle資料庫管理系統要引進非常複雜的體系結構 更高效的使用記憶體,保證資料庫不丟失任何資料 1.2 常用術語 1.2.1 程序 一段記憶體正在執行的程式 1.2.2 後台程序 可以有多個後台程序 1.2.3 緩衝區 臨時儲存資料的記憶體區 1.3 orac...