qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          Oracle數據庫體系結構解析

            Oracle 數據庫體系結構圖 如下圖所示,
            縱觀上圖可知,Oracle數據庫服務器大致分為兩個主要部分 既1.Oracle instance (數據庫實例 上半部分)2.database (數據庫 下半部分)。
            用戶不能直接連接到數據庫,而是用戶先發出一個用戶進程, 用戶進程和Oracle服務器發出的服務器進程交互,然后服務器進程再和實例交互,最后實例和底層數據庫交互,從而實現用戶和數據庫的交互。具體過程看下圖:
            下面詳述體系結構中各個組成部分的具體功能和特點
            1.首先先有的整體的認識:
            oracle 服務器=實例+數據庫
            實例=SGA(實例內存)+后臺進程
            內存=SGA+PGA
            SGA=database buffer cache (數據庫高速緩存區緩存)+share pool +redo log buffer
            2.實例內存SGA結構:前三個是必選的,其余是可選的。
            1)database buffer cache(數據庫高速緩存區緩存) :是用來存放執行SQL工作區域 (1)存儲從數據文件中獲得的數據塊的鏡像(2)當獲取和更新數據的時候能夠大幅度提高性能,因為數據庫塊的鏡像會保存一段時間,等下次再執行有關這個塊的操作時,可直接在緩存區操作(3)能夠動態調整大小,也可以對其進行自動管理。
            2)Redo log buffer (在線日志緩沖區): ()記錄所有數據庫的塊的改變,主要用于恢復,大小由log_buffer 決定, 在對數據庫塊進行操作之前,會把所做的所有操作記錄這里。
            3)share pool (共享池):包括library cache (庫高速緩沖區)和database dictionary cache(數據字典緩存)  ,前者主要存儲最近使用的SQL和pl/sql 語句的信息(存一次 多次使用,防止硬解析,) 后者主要存儲最近使用的定義,如表、索引、列、用戶權限、和其他數據庫對象。
            4)Large pool :  是系統全局區的一個可選的部分,是共享服務器的會話內存,以減輕在共享池中的負擔,可動態的改變大小,也可以自動管理。
            5)Java pool:   java 命令的分析,可動態的改變大小,也可以自動管理
            6)Stream pool : 流相關的數據在流池中,提高緩存效果。
            3.接下來介紹實例后臺進程:
            1) pmon (進程檢測進程) :當會話異常終止時 清除失敗的進程 包括 回滾事務、釋放鎖、動態注冊監聽器,
            2) Smon (系統檢測進程):實例恢復(前滾所有重做日志中的改變、回滾沒有提交的事務),釋放臨時表空間。
            3) DBWn(數據寫進程): 將數據庫高速緩存區緩存中的臟塊,刷新到磁盤數據文件中,  寫的條件:1,發生檢查點2,臟緩存到達極限值(1/4)、沒有可用的緩存區時。
            4) LGWR(日志寫進程)將redo log buffer 中的redo 刷新到磁盤日志文件中,  寫的條件:1,commit 的時候,2.達到1/3滿時,3.大小達到1M時,4.每擱三秒 5.在DBWR進程寫數據之前。
            5) CKPT (檢查點進程) : 給dbwn 信號,使它開始寫臟塊。更新數據文件頭和控制文件,(就是把scn號更新為最新的)3秒一次。  常說的一致性 要保證三個scn 號一致,包括數據文件頭的scn號,control files 記錄數據文件頭的scn號,control files 記錄的總的scn號。檢查點進程 觸發的越快,DBWR 寫的就越快,這樣內存中的緩存區臟塊就越少,進而恢復實例所用的時間就會越少,但是頻繁的I/O導致性能下降,所以性能和速度是矛盾的;
            6) ARCn (歸檔進程):將聯機重做日志文件歸檔到(也可以理解為復制)歸檔日志文件 ,如果開啟了歸檔模式  重做日志文件 一般分為兩個組,這兩組是循環復寫的,一個組用來記錄對數據庫的修改,另一組進行歸檔。但是如果記錄修改的那組已經寫滿,這樣本來該再去寫另一組,但是另一組還沒有完成歸檔,這就會出問題,數據庫夯住了。。

          posted on 2014-08-14 09:33 順其自然EVO 閱讀(183) 評論(0)  編輯  收藏 所屬分類: 數據庫

          <2014年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 徐州市| 大庆市| 扶绥县| 贵南县| 白玉县| 临江市| 天等县| 体育| 马关县| 绍兴县| 即墨市| 洛川县| 葫芦岛市| 政和县| 长岭县| 图木舒克市| 会泽县| 金门县| 静乐县| 高雄县| 岳阳县| 收藏| 保山市| 德安县| 板桥市| 岑巩县| 漳浦县| 宁明县| 高邑县| 临颍县| 加查县| 陵川县| 临沂市| 自贡市| 理塘县| 南川市| 泾源县| 定兴县| 启东市| 太仆寺旗| 德州市|