淺談Oracle體系結構(學習筆記)

前言

      在學習oracle中,體系結構是重中之重,掌握的越深入越好。在實際工作遇到疑難問題,其實都可以歸結到體系結構中來解釋,所以我們根據下面的示圖瞭解一下oracle體系結構。其中oracle內存結構不在複述,參照文章http://nijianlong.blog.51cto.com/2913232/1091537

體系結構2

1.oracle服務器

①提供一個開發的、全面的、完整的信息管理平臺。

②oracle實例和oracle數據庫組成。

注:一個實例只能對應一個數據庫

一個數據庫可以由多個實例(RAC)

2.oracle實例

①實例爲用戶同數據庫交互的媒介

②只能打開一個數據庫

③由內存結構(SGA、PGA)和用戶進程

實例

後臺進程

實例中的後臺進程執行用於處理並行用戶請求所需的通用功能,而不會損害系統的完整性和性能。它們把爲每個用戶運行的多個 Oracle 程序所處理的功能統一起來。後臺進程執行 I/O 並監控其它 Oracle 進程以增加並行性,從而使性能和可靠性更加優越。

根據配置情況,Oracle 實例可以包括多個後臺進程,但是每個實例都包括下面五個必需的後臺進程:

① 數據庫寫入程序 (DBW0) 負責將更改的數據從數據庫緩衝區高速緩存寫入數據文件。

② 日誌寫入程序 (LGWR) 將重做日誌緩衝區中註冊的更改寫入重做日誌文件。

③ 系統監控程序 (SMON) 檢查數據庫的一致性,如有必要還會在數據庫打開時啓動數據庫的恢復。

④過程監視器 (PMON) 負責在一個 Oracle 進程失敗時清理資源

⑤檢查點進程 (CKPT) 負責在每當緩衝區高速緩存中的更改永久地記錄在數據庫中時,更新控制文件和數據文件中的數據庫狀態信息。

3.連接Oracle Server

5 

用於連接例程的進程

用戶在給 Oracle 提交 SQL 語句之前,必須同實例連接起來。

① 用戶啓動 SQL*Plus 之類的工具,或者運行使用 Oracle Forms 之類的工具開發的應用程序。這個應用程序或者工具就在用戶進程中執行。

② 在最基本的配置中,當用戶登錄到 Oracle 服務器時,運行 Oracle 服務器的計算機上就會創建一個進程。這個進程稱爲服務器進程。服務器進程代表在客戶機上運行的用戶進程與 Oracle 實例通信。服務器進程代表用戶執行SQL 語句。

連接

連接是用戶進程和 Oracle 服務器之間的通信路徑。數據庫用戶可以用下面三種方式之一連接到 Oracle 服務器:

① 用戶登錄到運行 Oracle 實例的操作系統上,然後啓動訪問該系統中的數據庫的應用程序或工具。通信路徑是使用主機操作系統上的交互進程通信機制建立的。

② 用戶在本地計算機上啓動應用程序或工具,然後通過網絡連接到運行 Oracle實例的計算機。在這項稱爲客戶機-服務器的配置中,網絡軟件用於用戶和Oracle 服務器之間進行的通信。

③ 在三層連接中,用戶計算機通過網絡與應用程序或網絡服務器進行通信,而該應用程序或網絡服務器又通過網絡與運行 Oracle 實例的計算機連接。例如,用戶在網絡計算機上運行瀏覽器來使用位於服務器上的應用程序,這個 服務器從在 UNIX 主機上運行的 Oracle 數據庫中檢索數據。

會話

會話是用戶與 Oracle 服務器的一種特定連接。當用戶由 Oracle 服務器驗證時會話開始,當用戶退出或出現異常終止時會話結束。對某個具體的數據庫用戶來說,如果他從很多工具、應用程序或者終端同時登錄,則可能有很多併發會話。除了一些專用數據庫管理工具以外,啓動數據庫會話還要求 Oracle 服務器可供使用。

4.oracle數據庫

①數據信息的組合

②三種類型文件

  • 數據文件
  • 控制文件
  • 日誌文件

一個 Oracle 數據庫是一個數據單位的集合。 主要目的是爲了儲存和讀取信息,Oracle 數據庫可以分爲邏輯(logical)結構和物理(physical)結構。

物理結構指數據庫中的操作系統文件的集合,包含以下三種文件:

數據文件(data file) 包含數據庫中實際數據。數據包含在用戶定義的表中,而且數據文件還包含數據詞典(data dictionary),

一個數據庫中至少包含一個數據文件。數據文件的特性有: 一個數據文件只能被一個數據庫使用;當數據庫空間不足時,數據文件具有自動擴展的特性;一個或者多個數據文件構成數據庫的邏輯存儲單元叫做表空間(tablespace).

重作日誌(Redo logs) 包含對數據庫的修改記錄,可以在數據失敗後恢復。一個數據需要至少兩個重作日誌文件。

控制文件(Control files) 包含維護和檢驗數據庫一致性的信息。例如:控制文件用來檢驗數據文件和重作日誌文件。

物理結構:

物理結構包括三種文件:

  • 控制文件
  • 數據文件
  • 日誌文件

oracle邏輯結構

  • 數據如何使用服務空間
  • 表空間、段、區、塊的組成層次

7

5.用戶進程(user process)

一個請求連接到oracle服務器的程序

  • 必須首先建立一個連接
  • 並不直接與oracle服務器交互

8

6.服務器進程(server process)

一個與Oracle服務器直接交互的程序

  • 負責執行返回結果
  • 專用服務器(dedicated)或共享服務器(shared server)

7.後臺進程(Background Processes)

  • 必須的後臺進程

     DWRn      PMON     CKPT      LGWR      SMON

  • 可選的後臺進程

    ARCn       LMDn     QMNn       CJQ0        LMON         RECO         Dnnn        LMS         Snnn      LCKn        Pnnn

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