oracle 11g ocp 筆記(1)-- oracle 11g體系結構概述
參考文檔: https://blog.csdn.net/gyming/article/details/41593811
1、oracle系列產品
1.1 服務器分為數據庫服務器、應用服務器和企業管理器。其中企業管理器包括database control application server control 和grid control。
1.2 oracle開發工具包括
內部語言 --sql和plsql
外部語言 java c等
oracle developer suite等
1.3 oracle應用程序
兩個
2、預備知識
oracle概念;
表、行、列 等; 基本查詢;磁盤,內存等概念,所需大小。
3、
3.1單實例體系結構
實例位於RAM和CPU中,暫時的,數據庫存在於磁盤上,可以刪除前一直存在。
實例由內存和後臺進程組成,一個SGA(共享),一個服務器進程對應一個PGA,都可以實現自動管理。
總結:用戶 進程、服務器進程、客戶端、實例和數據集的關系。
3.2分布式數據集體系結構
分布式環境
·實時應用程序集群(RAC) ---- 多個實例打開一個數據庫
·流 ---- 多個Oracle服務器相互之間傳播事務
·數據保護 ---- 主數據庫更新備用數據庫
確定是否是單實例
select parallel from v$instance; -- NO 單實例
select protection_level from v$database; -- 備用數據庫保護, UNPROTECTED未保護
select * from dba_streams_administrator;--尚未配置,不返回任何行。
4.內存結構
SGA--系統全局區域(共享內存).
·數據庫高速緩存區(buffer cache)--可設置,可自動管理,是動態參數。
·日誌緩沖區 ---大小不變,不能自動管理,是靜態參數。
·共享池(Shared pool)
·庫緩存 --最近執行的代碼
·數據字典緩存 --存儲最近使用的對象定義。
·PL/SQL區域 --PL/SQL對象
·SQL查詢和SQL函數結果緩存 (11g版本新功能)
·大池(large pool) --可選
·Java池(java pool) --可選
·流池(streams pool) --可選
·列式內存區(inmemory) -- 12c的新特性,提高OLAP性能,默認不會啟用 --可選
------------------其他視圖等參照如下網站:https://www.cnblogs.com/lanzi/archive/2011/08/08/2131412.html
PGA--程序全局區域(專用內存).
·臨時表
·排序行
·歸並位圖
·變量
·調用堆棧
PGA信息查詢v$pgastat
5、進程結構:
註意典型的實例和數據庫的交互情況。
在Linux和Unix上,所有的進程都是獨立的操作系統進程,都有各自的進程編號.
在Windows上,整個實例只有一個操作系統進程(oracle.exe),Oracle進程作為此線程中的獨立線程運行.
·SMON 系統監視器(System Monitor, SMON)
·PMON 進程監視器(Process Monitor, PMON)
·DBWn 數據庫寫入器(Database Writer, DBWn)
·LGWR 日誌寫入器(Log Writer, LGWR)
·CKPT 檢查點進程(Checkpoint Process, CKPT)
·MMON 管理監視器(Manageability Monitor, MMON) -----AWR的時候要使用
·MMNL管理監視器(Manageability Monitor, MMON) -----AWR的時候要使用,MMON的復制進程
·MMAN 內存管理器(Memory Manager, MMAN)--自動內存管理時候使用。
·ARCn 歸檔進程(Archiver, ARCn)
·RECO--分布式事務的時候使用
1)系統監視器(System Monitor, SMON)
主要任務是通過查找和驗證控制文件來安裝數據庫,通過查找和驗證所有數據文件和聯機日誌文件打開數據庫,打開數據庫後負責執行各種內部管理任務,如比較數據文件中的可用空間.
2)進程監視器(Process Monitor, PMON)
PMON在會話創建時啟動,再會話結束時銷毀. PMON監視所有服務器進程,會話異常退出時,回滾事務,釋放資源.
3)數據庫寫入器(Database Writer, DBWn)
會話通常不將數據或更改寫入磁盤,會話將數據或更改寫入高速緩存區.
DBWn在以下四種情況寫入磁盤文件.
·沒有可用的緩沖區
·臟緩沖區數據過多
·三秒超時
·遇到檢查點
在提交事務時,DBWn不做任何動作.
4)日誌寫入器(Log Writer, LGWR)
當會話對數據高速緩沖區中的塊執行任何更改時,在其將更改應用到塊之前,會將更改矢量寫到日誌緩沖區.
為保證不丟失任何工作,必須在最大程度減少延遲的情況下將這些更改矢量寫入磁盤.
LGWR將日誌緩沖區的內容實時寫入聯機重做日誌文件.當會話發出COMMIT時,LGWR會實時寫入,在LGWR將緩沖區寫入磁盤時,會話將掛起,只有此時才將事務記錄為已經提交(因此是不可逆的).
LGWR是Oracle體系結構中最大的瓶頸之一.DML的速度不可能超過LGWR將更改矢量寫入磁盤的速度.
在以下三種情況下LGWR將轉儲日誌緩沖區寫入到聯機重做日誌文件中:
·會話發出COMMIT.
·日誌緩沖區占有率達1/3.
·DBWn要將臟緩沖區數據寫入文件時.
5)檢查點進程(Checkpoint Process, CKPT)
CKPT發起檢查點,觸發DBWn將臟緩沖區數據寫入磁盤.
8i前,每過一定的時間間隔,就需要設置檢查點.8i及之後,DBWn用增量檢查點代替完全檢查點.
何時出現檢查點:只會應請求這麽做,或在有序關閉數據庫時出現.
alter system checkpoint; -- 強制設置檢查點
6)歸檔進程ARCn
在歸檔日誌模式下,LGWR將日誌緩沖區寫到聯機重做日誌文件中,聯機重做日誌文件一旦變滿,ARCn會制作聯機重做日誌文件的副本(歸檔重做日誌文件),在ARCn將聯機日誌文件成功歸檔到歸檔日誌文件前,不允許覆蓋相應的聯機重做日誌文件.
7)進程對數據庫事務的處理過程
·會話將數據或更改寫入數據高速緩沖區,並在應用到更改的塊之前,將更改矢量寫入日誌緩沖區.
·LGWR將日誌緩沖區的數據實時寫入磁盤聯機日誌文件(在日誌緩沖區占滿1/3,或者會話發出提交事務,或者DBWn要寫臟緩沖區時).
·DBWn按一定的時機寫入磁盤數據文件(緩沖區滿,臟緩沖數據過多,三秒超時,檢查點請求).
·聯機重做日誌文件寫滿時,ARCn將聯機重做日誌文件歸檔到歸檔日誌文件中.
6、數據庫的存儲結構。
1)物理數據庫結構
·控制文件(Control File)
·聯機重做日誌文件(Redo Log File)
·數據文件(Data File)
·實例參數文件(Instance Parameter File)
·口令文件(Password File)
·歸檔重做日誌文件(Archive Redo Log File)
·警報日誌和跟蹤文件(Alert Log and Trance Files)
2)邏輯數據庫結構
·表空間(Tablespace)
·段(Segment)
·區間(Extent)
·塊(Block)
3)數據字典
元數據存儲在SYSTEM和SYSAUX表空間中.
數據字典視圖:
·DBA_ 所有對象
·ALL_ 所有有權訪問的對象
·USER_ 當前用戶的對象
如:
DBA_TABLES 所有表
ALL_TABLES 所有有權限訪問的表
USER_TABLES 當前用戶的表
oracle 11g ocp 筆記(1)-- oracle 11g體系結構概述