Oracle11gR2體系結構

安裝oracle軟件----創(chuàng)建數(shù)據(jù)庫----在數(shù)據(jù)庫中創(chuàng)建表----表里存儲信息---這些表文件需要存儲在物理硬盤上面。

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都做網(wǎng)站、網(wǎng)站設計、外貿營銷網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的額敏網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

假如有一個用戶(這個用戶可以是遠程用戶,也可以是本地的,也可以是一個應用程序)連接到oracle數(shù)據(jù)庫上面,用戶是不能直接連接在硬盤上存儲的數(shù)據(jù)文件,所以在oracle中要運行一個實例,實例并不是保存在硬盤上面的,實例是內存的一部分,而庫和表文件是存放在硬盤上面的,用戶不能直接訪問庫里面的數(shù)據(jù),只能訪問實例,實例是一個特殊的內存塊,只有實例能和數(shù)據(jù)庫直接通信,在咱們的實驗環(huán)境中實例和數(shù)據(jù)庫是在同一臺機器上,我們稱之為單實例環(huán)境,對于用戶而言所有的操作都是在實例中完成的,oracle為實例劃分了一個內存塊,這個內存塊我們稱之為SGA,其實oracle實例啟動的時候,將會分配一個SGA系統(tǒng)全局區(qū)并啟動一些oracle的后臺進程(守護進程)。

SGA核心組件介紹:

在oracle中內存=SGA+PGA

一個實例只能有一個SGA,所有的服務器進程和后臺進程都共享一個SGA

PGA:

我們先看一下一個select語句是如何被執(zhí)行的?

如果hr用戶寫了一個select * from scott.emp;

第一步:先做編譯,編譯包含了語法的檢查和語義的檢查。

第二步:如果編譯沒有問題會進入shared pool(共享池 )中,而shared pool 是由library cache和data dictionary cache(數(shù)據(jù)字典緩存)組成。Sql語句第一時間會進入librarycache中,即library cache中會存放被編譯過的正確的sql語句,僅僅是sql語句而已。library cache中沒有緩存的sql語句需要進行硬解析(即需要耗費設備的I/0資源從硬盤讀?。?。假設library cache中有這個sql語句,就不需要做硬解析,接著會查 data dictionary cache。data dictionary cache中緩存了權限和對象數(shù)據(jù)及屬性,所有data dictionary cache檢查hr用戶是否對scott.emp表是否具有訪問權限,如果有權限繼續(xù)往下執(zhí)行,如果沒有權限,直接給hr用戶返回一個結果。如果一條語句從來都沒有被執(zhí)行過,這條語句首先被緩存在share pool中的library cache中,下一次被執(zhí)行的時候直接從share pool中取sql語句。存放sql語句也需要占用空間,share pool的空間也是有限的,為了防止share pool空間不夠用,采用先進先出的規(guī)則即后執(zhí)行的sql語句會覆蓋先執(zhí)行的sql語句來釋放空間,當然share pool的空間越大越好。

我們通過企業(yè)管理器來查看share pool的相關信息
Oracle 11g R2 體系結構
Oracle 11g R2 體系結構
在sql plus中可以用以下方式查看,圖中“0”表示自動化管理
Oracle 11g R2 體系結構
可以從v$sgainfo中查看shared pool size

SQL> select name,bytes/1024/1024||'MB' from v$sgainfo;

Shared Pool Size

256MB

Large Pool Size

16MB

Java Pool Size

16MB

第三步:data buffer cache現(xiàn)在hr用戶可以訪問scott.emp表了,databuffer cache的作用就是從磁盤或存儲中將數(shù)據(jù)塊調入內存,緩存在buffer cache中。

舉例:

用戶第一次訪問scott.emp的內容

SQL> set timing on

SQL> select * from scott.emp;第一次執(zhí)行sql語句

已選擇14行。

已用時間: 00: 00: 00.05

SQL> /再次執(zhí)行上一條命令所用的時間為00: 00: 00.00

已選擇14行。

已用時間: 00: 00: 00.00

總結:buffer cache緩存數(shù)據(jù)本身,library cache緩存sql語句本身。

可以通過show parameter db_cache_size查看buffer cache的大小
Oracle 11g R2 體系結構
第四步:redo log buffer<重做日志緩沖區(qū)>當用戶執(zhí)行insert,update,delete,create,alter等操作后,數(shù)據(jù)發(fā)生了變化,這些變化了的數(shù)據(jù)寫入數(shù)據(jù)緩沖區(qū)(buffer cache)之前,先寫入重做日志緩沖區(qū),同時變化之前的數(shù)據(jù)也放入重做日志緩存中,這樣做,是為了保證在數(shù)據(jù)恢復時oracle就知道哪些事務需要提交,哪些事務需要撤回。

當前題目:Oracle11gR2體系結構
網(wǎng)頁URL:http://bm7419.com/article14/igojde.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內鏈、軟件開發(fā)、響應式網(wǎng)站、靜態(tài)網(wǎng)站小程序開發(fā)、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設