壹. ORACLE實例
1,ORACLE實例——包括內存結構和後臺進程。
系統全局區域(SGA)和後臺進程被稱為數據庫的實例。
2.ORACLE數據庫——物理操作系統文件的集合。
壹系列物理文件(數據文件、控制文件、在線日誌、參數文件等)的集合。)
3.系統全局區(SGA),系統的全局* * *共享區。
系統全局區是壹個巨大的* * *共享內存區,被視為Oracle數據庫的壹個大緩沖池,這裏的數據可供ORACLE的各個進程使用。它的大小可以通過下面的語句來查看:
SQL select * from v $ sga
名字值
-
固定尺寸39816
可變尺寸259812784
數據庫緩沖區1.049E+09
重做緩沖區327680
更多詳細信息請參考V$sgastat和V$buffer_pool。
它主要包括以下幾個部分:
A.* * *共享池
* * *共享池是SGA中最關鍵的內存段,尤其是在性能和可伸縮性方面。太小的* * *共享池會抑制性能並使系統停止。太大的* * *共享池也會有同樣的效果,管理這個* * *共享池會消耗大量的CPU。* * *共享池使用不當只會帶來災難。* * *共享池可分為以下兩部分:
SQL語句緩沖區(庫緩存)
當用戶提交SQL語句時,Oracle將分析SQL,這類似於編譯,需要相對較長的時間。在分析這個SQL之後,Oracle將把他的分析結果保存在Sharedpool的LibraryCache中。當數據庫第二次執行這個SQL時,Oracle會自動跳過這個分析過程,從而減少系統的運行時間。這就是第壹次SQL運行比第二次稍慢的原因。
下面是parse時代的壹個例子。
SQL select count(*)from sc pass;
計數(*)
-
243
耗時:00:00:00.08
這是當Share_pool和Data buffer都沒有數據緩沖區時所花費的時間。
SQL alter system刷新SHARED _ POOL
系統改變了。
清空Share_pool並保留數據緩沖區。
SQL select count(*)from sc pass;
計數(*)
-
243
耗時:00:00:00.02
SQL select count(*)from sc pass;
計數(*)
-
243
耗時:00:00:00.00
從兩個SQL語句的時間差可以看出,這條SQL的解析時間大約是00:00:00.02。
對於* * *共享池中保存的SQL語句,可以從V$Sqltext和v$Sqlarea中查詢。對於程序員來說,要盡量提高語句的復用率,減少語句的分析時間。設計不良的應用程序可能會破壞整個數據庫的共享池。要提高SQL語句的復用率,首先要養成良好的習慣,盡量使用綁定變量。
數據字典緩存(數據字典緩存)
很明顯,數據字典緩沖區是ORACLE專門為數據字典準備的緩沖池,ORACLE內部使用。沒什麽好說的。
以上內容都是比較基礎的,所以對於剛開始學習的初學者來說,在學習的前期學習壹下本文介紹的內容是很有幫助的。