it oracle 入門級 體系介紹

                   

                實 例
 
PGA(process global area 程序全局區):
結構:
stack   PGA   session info
  cursor info
sort area

stack 堆棧存放PGA各個部分的指針,Stack Space是用來存儲用戶會話變量數組的存儲區域;
session info:存放會話信息用戶信息,也是數據庫返回目標判斷條件。
cursor info :存放緩存sql語句軟軟解析的位置(默認50條)
sort area:排序區,將返回的結果集,根據執行計劃進行排序。(ORDER BY、GROUP BY、ROLLUP、窗口函數);
(排序動作都在PGA sort area中執行,SGA中不存在排序區)
 


----------------------------------------------------------------------------------------


SGA(system global area 系統全局區):
Fixed Size
  ·oracle 的不同平臺和不同版本下可能不一樣,但對於確定環境是一個固定的值,裏面存儲了SGA各部分組件的信息,可以看作引導建立SGA的區域。

shared pool(共享池)
  library cache
·緩存sql,PL/SQL  
·hash-value
·執行計劃
(三者關係:通過hash-value值=>sql文本=>執行計劃)
  data DICT CACHE
·緩存包括數據字典的定義,如表結構、權限等
 
 
Database buffer cache(數據庫緩衝區)
·數據庫緩衝區的主要作用
在內存中緩存從數據庫中讀取的數據塊
數據庫緩衝區越大,爲用戶已經在內存裏的共享數據提供的內存就越大,
這樣可以減少所需要的磁盤物理讀,調高性能。
 
 
largepool
·sql無關,用於備份加速。減少磁盤I/O
·用於MTS、並行查詢和RMAN。如果使用了MTS或RMAN,large_pool特別有用,它可以降低用戶對share pool的爭用。


Java pool
  ·緩存Java命令服務分析要求
 
Streams pool(如沒有分配空間,需要用時劃分10%的shared pool空間)
·緩存數據同步

Redo log buffer (大小:512KB或1024KB)
·緩存數據塊的變化塊的位置及改變信息
update:sal 800 -> 1000
   redo log) T(事務) F(文件) B(塊) R(ROW) C(COL) V(VAL)
T1 2 155 5 6 800
T1 4 135 5 6 1000
T(事務):包含:SCN(時間指針向量)、RDB
控制文件CPODS
連機日誌保證redo日誌的安全性
 
 
-------------------------------------------------------------------------------------- 
 
PMON過程監視進程(定期發包檢測)
·重起非核心後臺進程
·監控所用用戶會話,回收垃圾資源,回退交易
·動態註冊實列信息到監聽程序
·集羣環境參與採集cpu壓力(負載均衡)
進程失敗,後臺PMON通過下面的方法進行清理
·回退用戶的當前事務處理
·釋放當前保留的所有表鎖或行鎖
·釋放用戶當前保留的其它資源
·重新啓動已失效的調度程序
 

----------------------------------------------------------------------------------------
 
DBWn:數據庫寫進程
作用:
buffer cache中的髒數據寫入磁盤
觸發條件:
1.檢查點
2.灰數據值達到10%buffer cache值
3.發現buffer cache中無可用空間(LRUW算法,LRU)
4.timeout超時
5.集羣環境中的ping請求
6.drop,truncate操作
7.表空間只讀(table space read only)
8.表空間離線(table space offline)
9.熱備份 begin backup

----------------------------------------------------------------------------------------
 
SMON:系統監控進程
1.實列恢復
前滾重做日誌中的更改
打開數據庫供用戶訪問
回退未提交的事務處理
2.合併空閒空間
3.回收臨時段

----------------------------------------------------------------------------------------
 
CKPT:檢查點進程
·在檢查點發信號給DBWn
·使用檢查點信息更新數據文件的標頭
·使用檢查點信息更新控制
啓動檢查點的原因如下:
·確保定期向磁盤寫入內存中發生修改的數據塊,以便在系統或數據庫失敗時不會丟失數據
·縮短例程恢復所需的時間。只需處理最後一個檢查點後面的重做日誌條目以啓動恢復操作
·確保提交的所有數據在關閉期間均已寫入數據文件
CKPT寫入的檢查點信息包括檢查點位置、系統更改號、重做日誌中恢復操作的起始位置以及有關日誌的信息等等。
注:CKPT並不將數據塊寫入磁盤,或將重做塊寫入聯機重做日誌。
 

----------------------------------------------

LGWR:日誌寫進程
·將LOG BUFFER中的日誌寫入硬盤。
觸發:
1.Commit
2.log buffer三分之一滿
3.timeout 3秒
4.DBWn寫入前,日誌寫優先。
5.有1MB重做日誌緩存時

--------------------------------------------------------------------------------

    
ARCn:歸檔程序
可選的後臺進程,用於設置ARCHIVELOG 模式時自動貴練級重做日誌,保留數據庫的全部更改記錄。
任務:當LGWR將再現重做日誌填滿之後,就將起復制到另外一位置,成爲歸檔的重做日誌。
 

==================================================================================

                                                    數據庫

 數據庫的邏輯架構:

 
DB(文件大小限制)
數據文件(大小限制:4M 個 8K = 32G)
數據文件最多65533個,總大小爲2PB)

oracle架構瞭解:

表空間:用來存放數據庫對象的邏輯容器。
 

:數據段,索引段,臨時段,回滾段,區,數據塊

數據段:用來存放表數據
索引段:用來存放表索引
臨時段:用來存放中間結果
回滾段:用於處理異常時,恢復事務
:是數據庫存儲空間分配的邏輯單位,一個範圍有許多的連續數據塊組成,範圍是由段依次分配的,分配的第一個範圍叫初始範圍,以後的分配範圍稱爲增量範圍

數據塊:是數據庫進行IO操作的最小單位,他與操作系統的塊不是一個概念,Oracle數據庫不是以操作系統的塊爲單位來請求數據,而是以多個Oracle數據塊爲單位。




文件結構編輯
數據庫的物理存儲結構是由一些多種物理文件組成,主要有數據文件、控制文件、重做日誌文件、歸檔日誌文件、參數文件、口令文件、警告文件等。[2]

控制文件:存儲實例、數據文件及日誌文件等信息的二進制文件。alter system set control_files=‘路徑’。V$CONTROLFILE。
數據文件:存儲數據,以.dbf做後綴。一句話:一個表空間對多個數據文件,一個數據文件只對一個表空間。dba_data_files/v$datafile。
日誌文件:即Redo Log Files和Archivelog Files。記錄數據庫修改信息。ALTER SYSTEM SWITCH LOGFILE; 。V$LOG。
參數文件:記錄基本參數。spfile和pfile。
警告文件:show parameter background_dump_dest---使用共享服務器連接
跟蹤文件:show parameter user_dump_dest---使用專用服務器連接[2]



 
online redo 聯機日誌
記錄最新的改變(log buffer),循環覆蓋,存在目的:保證實列恢復,保存最新的,事物會滾的基礎,部分閃回技術的基礎。



 

========================================================================================
外部文件 
(這裏大概介紹種類,每種文件的實際用處,請看我的其他筆記。也可百度)
口令文件
password file

審計文件

audit file

參數文件

paramater file

警告文件
trace file  

歸檔文件
archived
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
體系架構全解析:(一個完美的事物,內部總是特別的精緻)

===================================================================

由於本人能力有限,存在字面、表達錯誤請指出。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章