大世界Oracle體系(未完成)

來源:互聯網
上載者:User

標籤:Oracle   體繫結構   PGA   SGA   

    寫本篇文章主要受兩本書的啟發寫一些個人心得筆記,分享知識,並把書籍推薦給大家閱讀1、《收穫,不止Oracle》 2、《Oracle核心技術》 不涉及編程,設計體系架構思路,如果有編程書更是好!還有官方文檔一定要讀,英語水平差看翻譯也要讀一遍,真正權威來源於官方。我感覺瞭解Oracle Internal時候,儘可能把自己成為設計者的角度去看待問題,如果你能用C寫成底層過程更是了得。

    我們一起來說一說,那麼資料庫分為Instance與Database,我們知道使用者訪問必須通過執行個體才能訪問資料庫,這是硬規定。執行個體與資料庫中都是什麼,使用者訪問還要經過PGA,這又是什麼,下面我們一起來來看一看

    PGA,當我們的通過Socket請求(其實也分為很多種處理,不想細說)我們的指令會先到PGA地區是Program Global Area,這個地區有會儲存會話屬性,存綁定變數等也就是我們使用者串連資訊,然後使用者進程與資料庫建立會話時候,系統會將使用者相關許可權查出來,儲存在這個地區,PGA裡面有進程叫Server process來完成這些工作,而且是私人不是共用!

    SGA,System Global Area,共用記憶體地區,Instance 其實就是 SGA+process(後台),SGA裡面板塊有很多,我認為相對來說shared_pool,database buffer cache,Redo log buffer相對重要,因為每一個組件都很重要,這裡只相對概念,SGA裡面也包含Java pool,Large_pool等,我們那個簡單的查詢語句來說select * from t來說說他怎樣過程。

    Shared_pool共用池,這個其實作用很大,當我們從PGA訪問到執行個體時候先到SGA中,那麼在PGA會產生唯一標識HASH,這時候會在SGA的共用池中尋找著唯一標識,如果找到HASH會從對應資料緩衝緩衝中找到對應的values,把values直接返回使用者,如果找不到就比較麻煩,他會顯示判斷文法是否錯誤,許可權是否正確,解析用什麼樣的方式去查詢,會先預估成本COST,比較成本選擇較低的方式去查詢,那麼當著動作完成後就會產生唯一HASH值儲存到共用池中,然後去資料緩衝緩衝區中查詢。

    資料緩衝緩衝裡面會尋找我們想要的資料,SGA是在記憶體中開闢的空間,這時候沒有我們只能去Database中來實現完成,查詢磁碟中的資料檔案找到就好找不到也好,都必須帶著結果返回給使用者,那麼一條查詢語句粗略的算是完成。

    再說一說執行個體裡面的進程,我們在Linux下,ps aux | grep oracle就會發現很多後台進程,我說幾個裡面主要的進程和功能,PMON,SMON,LCKn,RECO,CKPT,ARCH,包括DBWR,LGWR,我們理解這些詞語英語英語!很重要,基本就是英語翻譯過來的字面意思,下面我們都去說一說,知道怎樣工作,負責什麼工作,重點說一下Redo log與ARCH日誌功能!

    草稿2個多月了 Oracle體系告一段落 以後有空會繼續更新研究

大世界Oracle體系(未完成)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.