當前位置:學者齋 >

IT認證 >Oracle認證 >

oca認證考試指南全冊

oca認證考試指南全冊

IT業對專家的要求很高,職業競爭壓力很大。無論是新進入這個行業的人,還是此行業中的老手,都需要知道他們的那些技術背景能真正吸引到僱主的眼光。下面是小編整理的關於oca認證考試指南全冊,歡迎大家參考!

oca認證考試指南全冊

  1.4 實例內存結構

Oracle實例由稱為系統全局區(SGA)的共享內存塊以及大量的後台進程構成,SGA至少包含三種數據結構

數據庫緩存區緩存

日誌緩衝區

共享池

還可能包含

大池

Java池

流池

用户會話還需要服務器端的內存。此內存不共享,也稱為程序全局區域或PGA,每個會話都有自己專用的PGA。

  1.4.1 數據庫緩衝區緩存

數據庫緩衝區緩存是Oracle用來執行SQL的工作區域

在更新數據時,用户的會話不直接更新磁盤上的'數據。包含關鍵數據的數據塊首先複製到數據庫緩衝區緩存。更改(如插入新行、刪除或修改現有行)應用於數據緩衝區緩存中這些數據塊副本。此後,塊將在緩存中保留一段時間,直至其佔有的緩衝區需要緩存另一塊為止。

在查詢數據時,數據也要經過緩存。會話計算出哪些塊包含關鍵的行,並將它們複製到數據庫緩衝區緩存(如果那裏還未存在)。此後,相關行傳輸到會話的PGA作進一步處理。此後塊會在數據庫緩衝區緩存中保留一段時間。

數據文件的格式被設置為固定大小的塊。錶行和其他數據對象(如索引鍵),存儲在這些塊中。數據庫緩衝區緩存的格式被設置為內存緩衝區,每個可以容納一個塊,與塊不同,行的長度是變化的,行的長度取決於為表定義的列的數量(不管列是否真的包含內容,也不考慮包含什麼內容)。根據塊的大小(由DBA選擇)和行的大小(取決於表設計和使用)。每個塊中可能有多個行,也可能有一個行延伸到多個塊中。

理想狀況下,包含頻繁訪問的數據的所有塊將位於數據庫緩衝區緩存中,從而最大程度地減少磁盤I/O的需要。

select customer_id,customer_name from customers;

update customers set customer_name='Sid' where customer_id=100;

commit

為了執行用户進程提交的SELECT語句,會話的服務器進程將掃描緩衝區緩存中包含相關行的數據塊。如果找到了,就會發生一次緩衝區緩存命中。在本例中,假定緩衝區緩存未命中,服務器進程在將結果發送給用户進程(格式化數據後顯示給銷售代表)之前,會將包含相關行的數據從數據文件讀入緩衝區。

然後,用户進程將UPDATE和COMMIT語句提交給服務器進程執行。在執行UPDATE語句時,如果包含行的塊在緩存中仍然可用,那麼在緩衝區緩存中獎更新行。在本例中,緩衝區緩存命中率為50%:對緩存中的塊有兩次訪問,但只有一次從磁盤讀取塊。如果數據庫緩衝區緩存調整得當,緩存命中率將在90%以上。

注意,緩衝區的更新頻率(或COMMIT的數量)與何時寫回數據文件沒有任何關係。對數據文件執行寫操作由數據庫寫入器後台進程完成。

數據庫緩衝區緩存的大小會對性能產生至關重要的影響。

數據庫緩衝區緩存在實例啟動時分配,從9i開始,可以隨時將其調大或調小。可以採用手動方式重調,也可以根據工作負荷(從10g版本開始)自動重調大小(如果啟用了自動化機制)

標籤: oca 考試指南 全冊
  • 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-hk/itrz/oracle/wv2e1p.html