中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle 11g R2 體系結構

發布時間:2020-07-10 06:07:53 來源:網絡 閱讀:346 作者:初心WHQ 欄目:關系型數據庫

安裝oracle軟件----創建數據庫----在數據庫中創建表----表里存儲信息---這些表文件需要存儲在物理硬盤上面。

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

SGA核心組件介紹:

在oracle中內存=SGA+PGA

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

PGA:

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

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

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

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

我們通過企業管理器來查看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現在hr用戶可以訪問scott.emp表了,databuffer cache的作用就是從磁盤或存儲中將數據塊調入內存,緩存在buffer cache中。

舉例:

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

SQL> set timing on

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

已選擇14行。

已用時間: 00: 00: 00.05

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

已選擇14行。

已用時間: 00: 00: 00.00

總結:buffer cache緩存數據本身,library cache緩存sql語句本身。

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

如果對此文有什么問題的話,請加下面微信一起探討
Oracle 11g R2 體系結構

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

淄博市| 比如县| 荥阳市| 定安县| 曲麻莱县| 彰武县| 洮南市| 武汉市| 平邑县| 陈巴尔虎旗| 广平县| 琼海市| 左云县| 湟源县| 宁德市| 疏附县| 蒙城县| 金川县| 哈尔滨市| 贡觉县| 青海省| 开封市| 石阡县| 黔南| 乌兰浩特市| 信宜市| 汝城县| 雷山县| 永胜县| 长顺县| 应城市| 横峰县| 宣化县| 裕民县| 客服| 根河市| 当雄县| 分宜县| 敦化市| 贡觉县| 手机|