Oracle12C體系結構(二)
5個重要組成部分
1.連線資料庫例項的服務:為Oracle系統的體系結構中協同工作的方式;
2.伺服器程序;
3.檔案系統管理;
4.記憶體區域管理:尤其是系統全域性區(SGA,SystemGlobal Area)的特點和作用;
5.後臺程序
3個重點體系結構
1.記憶體結構,程序結構,儲存結構
2.
3.通過上圖,可以看出每一個Oracle伺服器都會包含兩個主要組成部分,即Oracle例項,Oracle資料庫(物理體系)
4.Oracle伺服器,Oracle例項(instance),Oracle資料庫(database)的關係
1.如將Oracle比作一輛汽車,那麼例項就像汽車的發動機(核心),在啟動
2.例項與資料庫的關係是資料庫可以由多個例項裝載和開啟,而例項可以在任何時間點上裝載,開啟一個數據庫;
Oracle例項體系
1.資料庫啟動,會自動分配SGA(系統全域性區)記憶體,構成Oracle的記憶體結構,而後再啟動若干個常駐記憶體的作業系統程序,已構成Oracel的程序結構,記憶體區域與後臺程序就構成了一個Oracle例項;
2.每個執行的Oracle資料庫都對應一個Oracle例項(或者稱為例程)。每個例項啟動時都會分配各自的記憶體結構與程序結構;
3.Oracle例項標記:在作業系統中如果存在多個Oracle
記憶體結構
1.記憶體儲存了資料字典資訊,關於物件,邏輯結構,許可權等元資料,緩衝的應用資料,SQL語句,PL/SQL和Java程式資料,以及事務等資訊。除了這些,還包含軟體程式碼區和程式程式碼區(PGA)
1.
2.共享區
(1).包括高速緩衝區,和資料字典緩衝區,資料庫高速緩衝區又包括共享sql區,私有sql區,共享PL/SQL區,及控制結構區
1).私有sql區:用來存放sql語句執行時與之有關的每一個會話的私有資料。在專用伺服器中,私有
2).共享SQL區:使用者執行sql時,Oracle會將最近執行的sql語句的文字,編譯後的語法分析樹和執行計劃存入共享區。而將sql語句中的變數值存入私有Sql區。當伺服器再次執行相同的sql語句時,伺服器程序將不再進行語句分析,而是直接執行共享sql區內已經存在的內容;
3).共享PL/SQL區:Oracel執行一個PL/SQL語句前,會先將程式單元放入共享PL/SQL區,而程式單元內的SQL語句將被放到SQL區中,當需要再次執行相同的程式單元時,直接從記憶體中呼叫,不用再次訪問磁碟;
4).結構控制區:供例項內部使用的一段記憶體區,存放了鎖方面的資訊;
3.資料庫緩衝區
(1).該區是SGA中的一個高速緩衝區域,用來儲存最近從資料檔案中讀取的資料塊,表,索引資料庫。當用戶處理查詢時,伺服器程序會先從資料庫緩衝區查詢所需要的資料庫,緩衝區中沒有時才會訪問磁碟資料;
4.重做日誌緩衝區
(1).當用戶通過sql語句更改資料後,伺服器程序會在重做日誌緩衝區中記錄這些修改。資料庫發生意外後,可通過此記錄恢復資料
5.大池
(1).可選的記憶體區。大池提供額外的記憶體,供一些消耗大量記憶體的操作使用;
6.Java池
(1).該處存放了Java文字,語法分析等資訊。如果要安裝Java VM就必須啟用Java池;
7.Streams池
(1).該區域是10g新新增的。它用來存放資訊。它存放的內容是共享的。利用該池管理資訊比原來捕獲和管理訊息更容易;
8.資料字典緩衝區
(1).它包含了資料庫的結構,使用者資訊和資料庫的表,檢視等資訊;還有所有表和檢視的名詞,以及許可權等資訊;
9.程式全域性區(PGA)
(1).程式全域性區:包括會話資訊,堆疊空間,排序區以及遊標狀態;
1).會話資訊存放的是會話的許可權,角色,會話效能統計等資訊;
2).堆疊空間記憶體放的是變數,陣列和屬於會話的其他資訊;
3).排序區則是用於排序的一段專用空間;
4).遊標狀態存放的則是當前使用的各種遊標的處理階段;
(2).當用戶程序連線到Oracle後,伺服器會建立一個會話,同時分配一個PGA區,該區由一個使用者程序使用,不能共享;
1).對專用伺服器(一個數據庫連線對應一個專用伺服器程序),PGA儲存堆疊空間資訊,會話資訊,遊標狀態和排序區。
2).對共享伺服器,PGA僅儲存堆疊空間資訊,而會話資訊,遊標狀態,排序區儲存在SGA中。
3).PGA結構如圖:
A.
3種類型的程序
1.使用者程序,伺服器程序和後臺程序,使用者程序與伺服器程序的關係,如圖
(1).
(2).當用戶需要在Oracle進行操作時,首先要建立連線,從而建立使用者程序與伺服器程序之間的通訊通道。當用戶與伺服器建立了連線之後,就會通過一個會話來表示,不同會話間的操作彼此獨立;
(3).Oracle的後臺程序與例項同時啟動,主要作用是維持資料庫的物理結構和記憶體結構,後臺程序的結構如下:
1.
2.上圖主要的後臺程序作用如下:
(1).系統監控程序(SMON):資料庫啟動時,SMON會使用聯機重做日誌檔案恢復崩潰的例項;
(2).程序監控程序(PMON):主要是監視使用者程序的執行;當用戶程序失敗時,清除使用者程序和程序所佔用的資源;
(3).檢查點程序(CKPT):用來控制資料檔案,控制檔案和重做日誌檔案之間的協調同步;
(4).資料庫寫程序(DBWO):此程序負責管理資料庫緩衝區以及資料字典緩衝區;
(5).日誌寫程序(LOWR):負責重做日誌緩衝區的內容寫入聯機重做日誌檔案;
(6).歸檔程序(ARCO):將寫滿的重做日誌檔案轉存到指定的裝置上,以保證先前的重做日誌檔案不至於被覆蓋;
(7).恢復程序(RECO):用於恢復分散式資料庫環境中失敗的事務;
(8).作業佇列程序(SNPn):可以完成一些應用程式的週期性執行工作。
(9).鎖程序(LCKn):用於鎖定資料庫物件,不被資料庫其他程序更改。
Oracle物理體系
1.該體系就是資料庫的物理體系,就是存放在磁碟上的結構檔案;在資料庫中的所有資料,都儲存在這些物理檔案中;
2.控制檔案(Control file):控制檔案用於控制資料庫的物理結構。它記錄了資料庫中所有檔案的控制資訊;
3.資料檔案(Data File):每個Oracle資料庫都有一個或多個物理的資料檔案。一個數據庫的資料檔案包含全部資料庫資料。
4.重做日誌檔案(Log File):Oracle用重做日誌檔案來儲存所有資料庫事務的日誌;
5.引數檔案(Parameter File):儲存Oracle配置有關的資訊,一般有如下3類引數檔案:
(1).初始化引數檔案:用於在資料庫啟動例項時配置資料庫,該檔案主要設定資料庫例項名稱,主要使用檔案的位置,例項所需要的記憶體區域大小等;
(2).配置引數檔案:在資料對應多個例項的時候才會存在,如果一個數據庫只對應一個例項則不會產生此檔案。此檔案一般被命名為config.org,該檔案一般由初始化引數檔案呼叫;
(3).二進位制引數檔案:會存在兩種引數檔案,一種是pfile,此檔案是基於文字格式化的引數檔案,含有資料庫的配置引數。另一種Server Parameter File,伺服器引數檔案,此檔案是基於二進位制格式的引數檔案,含有資料庫及例程的引數和數值;
相關推薦
Oracle12C體系結構(二)
5個重要組成部分 1.連線資料庫例項的服務:為Oracle系統的體系結構中協同工作的方式; 2.伺服器程序; 3.檔案系統管理; 4.記憶體區域管理:尤其是系統全域性區(SGA,Syste
Oracle 數據庫 體系結構 (二):服務器結構
header 創建 共享服務器 pga 保存 設置 最大的 img 內存結構 目錄 前言 Oracle 內存結構 Oracle 進程結構 文章總結 前言 上一篇文章體現了 Oracle 數據庫的一些基本結構和存儲結構,這篇文章將會講到Oracle的服務器結構,實
Oracle 資料庫 體系結構 (二):伺服器結構
目錄 前言 Oracle 記憶體結構 Oracle 程序結構 文章總結 前言 上一篇文章體現了 Oracle 資料庫的一些基本結構和儲存結構,這篇文章將會講到Oracle的伺服器結構,實際上就是主要講例項的結構。需要把這些底層的結構瞭解,在生產環境
Spring MVC體系結構(二)
目錄 前言 總結 前言 在上一篇博文中,我們學習了Spring MVC的原理、處理流程及其體系結構,完成了請求與處理器之間的對映。今天,我們繼續深入學習Spring MVC的一些知識,主要是引數傳遞(View到Controller、Controll
計算機操作系統(二)--- 處理器體系結構(三)(轉)
存儲器 階段 block ia32 便是 過程 原則 數量 href 文章部分圖片文字來自參考文章,參考文章總結地很好。 指令處理階段 為了降低實現的復雜性,采用統一的框架,這樣可以共用一些部件.我們將Y86的指令處理組織成如下幾個
數據結構(二):線性表的使用原則以及鏈表的應用-稀疏矩陣的三元組表示
查找 triple 表的操作 結構 循環鏈表 循環 大於 ria 幫助 上一篇博文中主要總結線性表中的鏈式存儲結構實現,比方單向鏈表、循環鏈表。還通過對照鏈表和順序表的多項式的存儲表示。說明鏈表的長處。能夠參看上篇博文http://blog.csdn.net/lg125
數據結構(二)線性表——鏈表
erro urn 找到 頭結點 tee 存在 結構 strong 函數 通常情況下,鏈接可分為單鏈表、雙向鏈表和循環鏈表三種常用類型。 一、單鏈表基本操作的實現 使用鏈式存儲結構來實現的線性表稱為鏈表。首元結點、頭結點、頭指針、空指針。 1.單鏈表的類型定義 typede
循環結構(二)
更新 加速 color () 條件 使用 .... style 循環 for循環for(參數初始化;條件判斷;更新循環變量){ 循環操作;} 表達式全省略,無條件判斷,循環變量無改變應在循環體內設法結束循環,否則會造成死循環 break語句break:改變程序控制流
Linux 系統目錄結構(二)
執行文件 icm sel 系統管理員 修改 tmp win 開始 通用 Linux 系統目錄結構 登錄系統後,在當前命令窗口下輸入命令: ls / 你會看到如下圖所示: 樹狀目錄結構: 以下是對這些目錄的解釋: /bin:bin是Binary的縮寫, 這個目錄存
第六章:循環結構(二)
結構 不執行 三種 表達式 成了 不改變 條件 運算符 步驟 第六章:循環結構(二) 一. for 循環 1.循環結構的四個組成部分 (1). 初始部分:設置循環的初始狀態,比如我們設置記錄循環次數的變量 i 為 0 . (2). 循環體:重復執行的代碼 .
[數據結構(二)]七種排序算法的C++簡單實現
末尾 技術分享 下標 ima http 直接 wap temp 部分 一.冒泡排序(Bubble Sort) 基本思想:兩兩比較相鄰記錄的關鍵字,如果反序則交換,直到沒有反序的記錄為止。 //冒泡排序 void BubbleSort(int *p, int lengt
數據結構(二)——線性表簡介
pen 線性 virtual spa 多個 集合 mes index esp 數據結構(二)——線性表簡介 一、線性表簡介 1、線性表簡介 線性表是具有相同類型的n個數據元素的有限序列A0,A1,A2,...,An-1。Ai是表項,n是表的長度。 2、線性表的表現形式 線性
InnoDB體系架構(二)內存
heap 數量 logs 架構 競爭 targe 應用 pct 默認 InnoDB體系架構(二)內存 上篇文章 InnoDB體系架構(一)後臺線程 介紹了MySQL InnoDB存儲引擎後臺線程:Master Thread、IO Thread、Purge Thread、
小白的java學習之路 “ 選擇結構(二)”
pre ring 問題 -s stat 適合 static 之路 span switch 選擇結構: 為什麽使用switch選擇結構: switch選擇結構可以更好地解決等值判斷問題。 switch選擇結構的四個關鍵字: switch case default
Python數據結構(二)
對象 ret long [] 消費 序列 thead priority 實例 array固定類型的數據序列,與list類似,只不過成員必須是相同的基本類型 array.typecodes #包含所有可用類型代碼的字符串bBuhHiIlLqQfd 輸入代碼C型Python
數據結構(二)鏈表
形式 時間 資源 結構 實現 線性 插入 一個數 簡單 一、表的常見操作 對於一個鏈表,某個元素有其前驅和後繼。對表的操作:find返回關鍵字首次出現的位置;insert和delete插入和刪除某個元素;findkth返回某個位置上的元素;二、表的簡單數組實現 定
初識 makefile 的結構(二)
makefile 文件結構 makefile 組成 我們在上節中說到 makefile 的本質就是一個腳本程序,用來解釋執行的。那麽它的意義是用於定義源文件間的依賴關系,說明如何編譯各個源文件並生成可執行文件。我們來看看依賴的定義,如下 下來我們來分析下 makefi
Spring MVC體系結構(五)
conf let dispatch classpath 名稱 val 針對 控制 情況 一、spring mvc框架搭建步驟 1、導入jar文件 spring-web-3.2.0.RELEASE spring-webmvc-3.2.0.RELEASE
C語言數據結構(二)
span 有關 sel [] lec 原則 存儲 情況 規格 算法和算法的衡量 一、算法 算法是為了解決某類問題而規定的一個有限長的操作序列。一個算法必須滿足以下五個重要特性: 1.有窮性 對於任意一組合法輸入值,在執行又窮步驟之後一定能結束,即:算法中的每個步驟都能在
數據結構(二)棧與隊列---遞歸之漢羅塔
隊列 金剛 最終 想法 兩個 實現 ... 分享 命令 (一)漢羅塔的了解 大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片黃金圓盤。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。並且規定,在小圓盤上不能放大圓盤,在三