版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Version 1.0廈門理工學(xué)院計(jì)算機(jī)系大型數(shù)據(jù)庫(kù)技術(shù)大型數(shù)據(jù)庫(kù)技術(shù)第第2 2章章 OracleOracle數(shù)據(jù)庫(kù)體系結(jié)構(gòu)數(shù)據(jù)庫(kù)體系結(jié)構(gòu)教 師:陳玉明E-Mail:Page 1內(nèi)容簡(jiǎn)介內(nèi)容簡(jiǎn)介2廈門理工學(xué)院計(jì)算機(jī)系概概 要要DBA的職責(zé)的職責(zé)Oracle體系結(jié)構(gòu)由內(nèi)存結(jié)構(gòu)、進(jìn)程結(jié)構(gòu)、體系結(jié)構(gòu)由內(nèi)存結(jié)構(gòu)、進(jìn)程結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)組成存儲(chǔ)結(jié)構(gòu)組成內(nèi)存結(jié)構(gòu)由內(nèi)存結(jié)構(gòu)由SGA、PGA組成組成存儲(chǔ)結(jié)構(gòu)由邏輯存儲(chǔ)、物理存儲(chǔ)組成存儲(chǔ)結(jié)構(gòu)由邏輯存儲(chǔ)、物理存儲(chǔ)組成進(jìn)程結(jié)構(gòu)由用戶進(jìn)程和進(jìn)程結(jié)構(gòu)由用戶進(jìn)程和Oracle進(jìn)程組成進(jìn)程組成.3廈門理工學(xué)院計(jì)算機(jī)系什么是什么是DBA?數(shù)據(jù)庫(kù)管理員是一個(gè)或一組全面負(fù)責(zé)管理和控制
2、數(shù)據(jù)庫(kù)系統(tǒng)的人員。簡(jiǎn)稱:DBA(Data Base Administrator)4廈門理工學(xué)院計(jì)算機(jī)系DBA的主要職責(zé)的主要職責(zé)了解了解ORACLE數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)負(fù)責(zé)數(shù)據(jù)庫(kù)管理系統(tǒng)的安裝和升級(jí)負(fù)責(zé)數(shù)據(jù)庫(kù)管理系統(tǒng)的安裝和升級(jí)啟動(dòng)和關(guān)閉數(shù)據(jù)庫(kù)啟動(dòng)和關(guān)閉數(shù)據(jù)庫(kù)管理和監(jiān)控?cái)?shù)據(jù)庫(kù)用戶管理和監(jiān)控?cái)?shù)據(jù)庫(kù)用戶管理數(shù)據(jù)庫(kù)特權(quán)管理數(shù)據(jù)庫(kù)特權(quán)管理存儲(chǔ)空間管理存儲(chǔ)空間建立數(shù)據(jù)庫(kù)建立數(shù)據(jù)庫(kù)后備和恢復(fù)數(shù)據(jù)庫(kù)后備和恢復(fù)數(shù)據(jù)庫(kù)5廈門理工學(xué)院計(jì)算機(jī)系DBA與理論知識(shí)與理論知識(shí)作為一名合格的DBA,必須深入地掌握Oracle 10g數(shù)據(jù)庫(kù)的體系結(jié)構(gòu).在理論知識(shí)的指導(dǎo)下,才會(huì)使許多難以理解和掌握的操作變得容易.6
3、廈門理工學(xué)院計(jì)算機(jī)系Oracle工作原理工作原理客戶客戶服務(wù)器服務(wù)器服務(wù)器進(jìn)程服務(wù)器進(jìn)程(PGA區(qū)區(qū))用戶進(jìn)程用戶進(jìn)程(SQL語(yǔ)句語(yǔ)句)Oracle server數(shù)據(jù)庫(kù)系統(tǒng)處理過(guò)程示意數(shù)據(jù)庫(kù)系統(tǒng)處理過(guò)程示意7廈門理工學(xué)院計(jì)算機(jī)系處理過(guò)程可以簡(jiǎn)單的描述為處理過(guò)程可以簡(jiǎn)單的描述為:1.用戶在其機(jī)器上運(yùn)行基于用戶在其機(jī)器上運(yùn)行基于Oracle的應(yīng)用程序的應(yīng)用程序(如如:SQL*PLUS、PL/SQL Developer等等),即啟動(dòng)用戶進(jìn)程即啟動(dòng)用戶進(jìn)程.2.客戶機(jī)、服務(wù)器之間建立連接客戶機(jī)、服務(wù)器之間建立連接(Connect).3.服務(wù)器為用戶建立會(huì)話服務(wù)器為用戶建立會(huì)話(Session),并為該
4、會(huì)話建立一個(gè)并為該會(huì)話建立一個(gè)PGA(Program Global Area,程序全局區(qū)程序全局區(qū))以存儲(chǔ)與該會(huì)話相關(guān)的信息以存儲(chǔ)與該會(huì)話相關(guān)的信息.在同一個(gè)連接中在同一個(gè)連接中,不同的用戶有不同的會(huì)話不同的用戶有不同的會(huì)話.4.啟動(dòng)服務(wù)進(jìn)程啟動(dòng)服務(wù)進(jìn)程,由該服務(wù)進(jìn)程負(fù)責(zé)執(zhí)行該會(huì)話的各項(xiàng)任務(wù)由該服務(wù)進(jìn)程負(fù)責(zé)執(zhí)行該會(huì)話的各項(xiàng)任務(wù).5.用戶進(jìn)程發(fā)送用戶進(jìn)程發(fā)送SQL語(yǔ)句語(yǔ)句(select、update、commit.)6.服務(wù)器進(jìn)程解析、編譯、執(zhí)行服務(wù)器進(jìn)程解析、編譯、執(zhí)行SQL語(yǔ)句,然后將結(jié)果寫入數(shù)據(jù)庫(kù)并返回語(yǔ)句,然后將結(jié)果寫入數(shù)據(jù)庫(kù)并返回結(jié)果給用戶進(jìn)程。結(jié)果給用戶進(jìn)程。7.用戶進(jìn)程接收返回的用
5、戶進(jìn)程接收返回的SQL執(zhí)行結(jié)果。執(zhí)行結(jié)果。8.在應(yīng)用程序中顯示在應(yīng)用程序中顯示SQL執(zhí)行結(jié)果執(zhí)行結(jié)果.Oracle工作原理工作原理客戶客戶服務(wù)器服務(wù)器進(jìn)程服務(wù)器進(jìn)程(PGA區(qū))用戶進(jìn)程(SQL語(yǔ)句)Oracle server8廈門理工學(xué)院計(jì)算機(jī)系處理查詢處理查詢用戶進(jìn)程用戶進(jìn)程服務(wù)器進(jìn)程服務(wù)器進(jìn)程解析解析StatementOKHandle執(zhí)行執(zhí)行OKHandle提取提取ResultsSELECT *FROM empORDER BY ename;9廈門理工學(xué)院計(jì)算機(jī)系總體結(jié)構(gòu)總體結(jié)構(gòu)總體結(jié)構(gòu)的三大部分總體結(jié)構(gòu)的三大部分10廈門理工學(xué)院計(jì)算機(jī)系總體結(jié)構(gòu)總體結(jié)構(gòu)11廈門理工學(xué)院計(jì)算機(jī)系總體結(jié)構(gòu)總體結(jié)
6、構(gòu)其中其中:內(nèi)存結(jié)構(gòu):內(nèi)存結(jié)構(gòu):包括包括SGA和和PGA.使用內(nèi)存最多的使用內(nèi)存最多的是是SGA,同時(shí)也是影響數(shù)據(jù)庫(kù)性能的最大參數(shù)同時(shí)也是影響數(shù)據(jù)庫(kù)性能的最大參數(shù).進(jìn)程結(jié)構(gòu):進(jìn)程結(jié)構(gòu):包括前臺(tái)進(jìn)程、后臺(tái)進(jìn)程包括前臺(tái)進(jìn)程、后臺(tái)進(jìn)程.前臺(tái)進(jìn)程前臺(tái)進(jìn)程是指服務(wù)進(jìn)程和用戶進(jìn)程是指服務(wù)進(jìn)程和用戶進(jìn)程.前臺(tái)進(jìn)程是根據(jù)實(shí)際前臺(tái)進(jìn)程是根據(jù)實(shí)際需要而運(yùn)行的,并在需要結(jié)束后立刻結(jié)束。后臺(tái)需要而運(yùn)行的,并在需要結(jié)束后立刻結(jié)束。后臺(tái)進(jìn)程是指在進(jìn)程是指在Oracle數(shù)據(jù)庫(kù)啟動(dòng)后數(shù)據(jù)庫(kù)啟動(dòng)后,自動(dòng)啟動(dòng)的幾自動(dòng)啟動(dòng)的幾個(gè)操作系統(tǒng)進(jìn)程個(gè)操作系統(tǒng)進(jìn)程.存儲(chǔ)結(jié)構(gòu):存儲(chǔ)結(jié)構(gòu):包括控制文件、數(shù)據(jù)結(jié)構(gòu)、日志文包括控制文件、數(shù)據(jù)結(jié)構(gòu)、日
7、志文件等操作系統(tǒng)文件件等操作系統(tǒng)文件.12廈門理工學(xué)院計(jì)算機(jī)系存儲(chǔ)結(jié)構(gòu)存儲(chǔ)結(jié)構(gòu)Oracle數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)分為邏輯存儲(chǔ)結(jié)構(gòu)和物理存數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)分為邏輯存儲(chǔ)結(jié)構(gòu)和物理存儲(chǔ)結(jié)構(gòu)儲(chǔ)結(jié)構(gòu),這兩種存儲(chǔ)結(jié)構(gòu)既相互獨(dú)立又相互聯(lián)系這兩種存儲(chǔ)結(jié)構(gòu)既相互獨(dú)立又相互聯(lián)系.數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)結(jié)結(jié)構(gòu)構(gòu)數(shù)據(jù)文件數(shù)據(jù)文件日志文件日志文件控制文件控制文件參數(shù)文件參數(shù)文件物理結(jié)構(gòu)物理結(jié)構(gòu)表空間表空間段段范圍范圍數(shù)據(jù)庫(kù)塊數(shù)據(jù)庫(kù)塊邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)13廈門理工學(xué)院計(jì)算機(jī)系物理存儲(chǔ)結(jié)構(gòu)物理存儲(chǔ)結(jié)構(gòu)物理存儲(chǔ)結(jié)構(gòu)主要描述物理存儲(chǔ)結(jié)構(gòu)主要描述Oracle數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)的外部存儲(chǔ)結(jié)構(gòu)外部存儲(chǔ)結(jié)構(gòu),即在操作系統(tǒng)種如何組織、即在操作系統(tǒng)種如何組織、
8、管理數(shù)據(jù)管理數(shù)據(jù).因此,物理存儲(chǔ)結(jié)構(gòu)是和操作系統(tǒng)平臺(tái)因此,物理存儲(chǔ)結(jié)構(gòu)是和操作系統(tǒng)平臺(tái)有關(guān)的有關(guān)的.14廈門理工學(xué)院計(jì)算機(jī)系邏輯存儲(chǔ)結(jié)構(gòu)邏輯存儲(chǔ)結(jié)構(gòu)邏輯存儲(chǔ)結(jié)構(gòu)主要描述邏輯存儲(chǔ)結(jié)構(gòu)主要描述Oracle數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)的內(nèi)部存儲(chǔ)結(jié)構(gòu)內(nèi)部存儲(chǔ)結(jié)構(gòu),即從技術(shù)概念上描述在即從技術(shù)概念上描述在Oracle數(shù)據(jù)庫(kù)種如何組織、管理數(shù)據(jù)數(shù)據(jù)庫(kù)種如何組織、管理數(shù)據(jù).因此因此,邏輯存儲(chǔ)結(jié)構(gòu)是和操作系統(tǒng)平臺(tái)無(wú)邏輯存儲(chǔ)結(jié)構(gòu)是和操作系統(tǒng)平臺(tái)無(wú)關(guān)的關(guān)的,是由是由Oracle數(shù)據(jù)庫(kù)創(chuàng)建和管理的數(shù)據(jù)庫(kù)創(chuàng)建和管理的.15廈門理工學(xué)院計(jì)算機(jī)系DBA注意注意DBA必須對(duì)這兩種存儲(chǔ)結(jié)構(gòu)有清晰的理解,并且要清楚在一個(gè)具體數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)中
9、,這兩種存儲(chǔ)結(jié)構(gòu)的具體對(duì)應(yīng)關(guān)系,否則就不能進(jìn)行正常的管理操作、數(shù)據(jù)庫(kù)備份與恢復(fù)、性能優(yōu)化等。16廈門理工學(xué)院計(jì)算機(jī)系存儲(chǔ)結(jié)構(gòu)存儲(chǔ)結(jié)構(gòu)物理存儲(chǔ)結(jié)構(gòu)與邏輯存儲(chǔ)結(jié)構(gòu)之間的關(guān)系物理存儲(chǔ)結(jié)構(gòu)與邏輯存儲(chǔ)結(jié)構(gòu)之間的關(guān)系從物理上看從物理上看,數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)由由控制文件、數(shù)據(jù)文控制文件、數(shù)據(jù)文件、重做日志文件件、重做日志文件等等操作系統(tǒng)文件組成;操作系統(tǒng)文件組成;從邏輯上來(lái)看,數(shù)據(jù)從邏輯上來(lái)看,數(shù)據(jù)庫(kù)是由庫(kù)是由系統(tǒng)表空間、系統(tǒng)表空間、用戶表空間等用戶表空間等組成。組成。表空間是最大的邏輯表空間是最大的邏輯單位,塊是最小的邏單位,塊是最小的邏輯單位。輯單位。邏輯存儲(chǔ)結(jié)構(gòu)中的塊邏輯存儲(chǔ)結(jié)構(gòu)中的塊最后對(duì)應(yīng)到操作系統(tǒng)最后
10、對(duì)應(yīng)到操作系統(tǒng)中的塊中的塊.17廈門理工學(xué)院計(jì)算機(jī)系Version 1.0廈門理工學(xué)院計(jì)算機(jī)系大型數(shù)據(jù)庫(kù)技術(shù)大型數(shù)據(jù)庫(kù)技術(shù)Oracle 10g體系結(jié)構(gòu)體系結(jié)構(gòu)- 2.1 物理結(jié)構(gòu)物理結(jié)構(gòu)Page 18Oracle數(shù)據(jù)庫(kù)物理結(jié)構(gòu)數(shù)據(jù)庫(kù)物理結(jié)構(gòu) 數(shù)據(jù)文件數(shù)據(jù)文件 日志文件日志文件 控制文件控制文件 參數(shù)文件參數(shù)文件19廈門理工學(xué)院計(jì)算機(jī)系 數(shù)據(jù)文件數(shù)據(jù)文件(Data File)是物理存儲(chǔ)是物理存儲(chǔ)Oracle數(shù)數(shù)據(jù)庫(kù)數(shù)據(jù)的文件。其特點(diǎn)如下:據(jù)庫(kù)數(shù)據(jù)的文件。其特點(diǎn)如下: 每一個(gè)數(shù)據(jù)文件只與一個(gè)數(shù)據(jù)庫(kù)相聯(lián)系。每一個(gè)數(shù)據(jù)文件只與一個(gè)數(shù)據(jù)庫(kù)相聯(lián)系。 數(shù)據(jù)文件一旦被建立則不能修改其大小。數(shù)據(jù)文件一旦被建立則
11、不能修改其大小。 一個(gè)表空間可包含一個(gè)或多個(gè)數(shù)據(jù)文件。一個(gè)表空間可包含一個(gè)或多個(gè)數(shù)據(jù)文件。 一個(gè)數(shù)據(jù)文件只能屬于一個(gè)表空間一個(gè)數(shù)據(jù)文件只能屬于一個(gè)表空間.數(shù)據(jù)文件數(shù)據(jù)文件(Data File)20廈門理工學(xué)院計(jì)算機(jī)系重做日志文件重做日志文件(Redo File) 重做日志文件重做日志文件(Redo Log File)記錄所有對(duì)數(shù)據(jù)記錄所有對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的修改,以備恢復(fù)數(shù)據(jù)時(shí)使用。其特點(diǎn)如下:庫(kù)數(shù)據(jù)的修改,以備恢復(fù)數(shù)據(jù)時(shí)使用。其特點(diǎn)如下: 每一個(gè)數(shù)據(jù)庫(kù)至少包含兩個(gè)日志文件組。每一個(gè)數(shù)據(jù)庫(kù)至少包含兩個(gè)日志文件組。 日志文件組以循環(huán)方式進(jìn)行寫操作。日志文件組以循環(huán)方式進(jìn)行寫操作。 每一個(gè)日志文件成員對(duì)
12、應(yīng)一個(gè)物理文件。每一個(gè)日志文件成員對(duì)應(yīng)一個(gè)物理文件。21廈門理工學(xué)院計(jì)算機(jī)系日志切換日志切換(Log Switch) 日志切換日志切換(Log Switch)是為實(shí)現(xiàn)日志文件組是為實(shí)現(xiàn)日志文件組的循環(huán)使用而設(shè)置的。出現(xiàn)日志開關(guān)的情況如下:的循環(huán)使用而設(shè)置的。出現(xiàn)日志開關(guān)的情況如下: 當(dāng)一個(gè)日志文件組被填滿時(shí)當(dāng)一個(gè)日志文件組被填滿時(shí) 關(guān)閉數(shù)據(jù)庫(kù)時(shí)關(guān)閉數(shù)據(jù)庫(kù)時(shí) DBA手動(dòng)切換日志手動(dòng)切換日志22廈門理工學(xué)院計(jì)算機(jī)系日志文件寫操作日志文件寫操作Log File 1Log File 2Member 2.1Member 1.123廈門理工學(xué)院計(jì)算機(jī)系鏡像日志文件鏡像日志文件 鏡像日志文件鏡像日志文件是為
13、防止日志文件的丟失,在不是為防止日志文件的丟失,在不同磁盤上同時(shí)維護(hù)兩個(gè)或多個(gè)聯(lián)機(jī)日志文件的同磁盤上同時(shí)維護(hù)兩個(gè)或多個(gè)聯(lián)機(jī)日志文件的副本。副本。 其特點(diǎn)如下:其特點(diǎn)如下: 每個(gè)日志文件組至少包含兩個(gè)日志文件成員。每個(gè)日志文件組至少包含兩個(gè)日志文件成員。 每組的成員數(shù)目相同。每組的成員數(shù)目相同。 同組的所有成員同時(shí)被修改。同組的所有成員同時(shí)被修改。 同組的成員大小相同同組的成員大小相同,不同組的成員大小可不同不同組的成員大小可不同.24廈門理工學(xué)院計(jì)算機(jī)系鏡像日志文件操作鏡像日志文件操作Log File 1Log File 2Member 2.1Member 1.1Log File 3Log F
14、ile 4Member 2.2Member 1.2Disk 1Disk 225廈門理工學(xué)院計(jì)算機(jī)系控制文件控制文件 控制文件(Control File)是一個(gè)較小的是一個(gè)較小的二進(jìn)制文件,用于描述數(shù)據(jù)庫(kù)結(jié)構(gòu)。二進(jìn)制文件,用于描述數(shù)據(jù)庫(kù)結(jié)構(gòu)。描述信息如下:描述信息如下:數(shù)據(jù)庫(kù)建立的日期。數(shù)據(jù)庫(kù)建立的日期。數(shù)據(jù)庫(kù)名。數(shù)據(jù)庫(kù)名。數(shù)據(jù)庫(kù)中所有數(shù)據(jù)數(shù)據(jù)庫(kù)中所有數(shù)據(jù)文件和日志文件的文件和日志文件的文件名及路徑。文件名及路徑。恢復(fù)數(shù)據(jù)庫(kù)時(shí)所需恢復(fù)數(shù)據(jù)庫(kù)時(shí)所需的同步信息。的同步信息。要點(diǎn)注意:要點(diǎn)注意:在打開和存取數(shù)據(jù)庫(kù)時(shí)在打開和存取數(shù)據(jù)庫(kù)時(shí)都要訪問(wèn)該文件。都要訪問(wèn)該文件。鏡像控制文件。鏡像控制文件。記錄控制
15、文件名及路徑記錄控制文件名及路徑的參數(shù)為:的參數(shù)為:CONTROL_FILES26廈門理工學(xué)院計(jì)算機(jī)系參數(shù)文件參數(shù)文件 參數(shù)文件(參數(shù)文件(Parameter File)是一個(gè)文本文件,是一個(gè)文本文件,可直接使用操作系統(tǒng)下的文本編輯器對(duì)其內(nèi)容進(jìn)行修可直接使用操作系統(tǒng)下的文本編輯器對(duì)其內(nèi)容進(jìn)行修改。該文件只在建立數(shù)據(jù)庫(kù)或啟動(dòng)實(shí)例時(shí)才被訪問(wèn),改。該文件只在建立數(shù)據(jù)庫(kù)或啟動(dòng)實(shí)例時(shí)才被訪問(wèn),在修改該文件之前必須關(guān)閉實(shí)例。在修改該文件之前必須關(guān)閉實(shí)例。 初始參數(shù)文件:初始參數(shù)文件:init.ora 生成參數(shù)文件:生成參數(shù)文件:initSID.ora config.ora位于OracleHome下,如:C
16、:oracleadminTestDBpfile27廈門理工學(xué)院計(jì)算機(jī)系參數(shù)文件的作用參數(shù)文件的作用參數(shù)文件的作用:參數(shù)文件的作用: 確定存儲(chǔ)結(jié)構(gòu)的大小。確定存儲(chǔ)結(jié)構(gòu)的大小。 設(shè)置數(shù)據(jù)庫(kù)的全部缺省值。設(shè)置數(shù)據(jù)庫(kù)的全部缺省值。 設(shè)置數(shù)據(jù)庫(kù)的范圍。設(shè)置數(shù)據(jù)庫(kù)的范圍。 設(shè)置數(shù)據(jù)庫(kù)的各種物理屬性。設(shè)置數(shù)據(jù)庫(kù)的各種物理屬性。 優(yōu)化數(shù)據(jù)庫(kù)性能。優(yōu)化數(shù)據(jù)庫(kù)性能。28廈門理工學(xué)院計(jì)算機(jī)系參數(shù)文件的數(shù)據(jù)類型參數(shù)文件的數(shù)據(jù)類型參數(shù)文件中參數(shù)的數(shù)據(jù)類型:參數(shù)文件中參數(shù)的數(shù)據(jù)類型: 整型整型 例:例:DB_BLOCK_SIZE = 2048 字符型字符型 例:例:DB_NAME = ora9 邏輯型邏輯型 例:例:CH
17、ECKPOINT_PROCESS = true29廈門理工學(xué)院計(jì)算機(jī)系Version 1.0廈門理工學(xué)院計(jì)算機(jī)系大型數(shù)據(jù)庫(kù)技術(shù)大型數(shù)據(jù)庫(kù)技術(shù)Oracle 10g體系結(jié)構(gòu)體系結(jié)構(gòu)-2.2 邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)Page 30Oralce的邏輯結(jié)構(gòu)組成的邏輯結(jié)構(gòu)組成Oracle的邏輯結(jié)構(gòu)的邏輯結(jié)構(gòu)是由一個(gè)或多個(gè)表空間組成。是由一個(gè)或多個(gè)表空間組成。 一個(gè)表空間一個(gè)表空間(tablespace)由一組段組成由一組段組成 一個(gè)段一個(gè)段(segment)由一組區(qū)組成由一組區(qū)組成 一個(gè)區(qū)一個(gè)區(qū)(extent)由一批數(shù)據(jù)庫(kù)塊組成由一批數(shù)據(jù)庫(kù)塊組成 一個(gè)數(shù)據(jù)庫(kù)塊一個(gè)數(shù)據(jù)庫(kù)塊(block)對(duì)應(yīng)一個(gè)或多個(gè)物理塊對(duì)應(yīng)一個(gè)
18、或多個(gè)物理塊31廈門理工學(xué)院計(jì)算機(jī)系邏輯結(jié)構(gòu)示意圖邏輯結(jié)構(gòu)示意圖TablespaceDatabase BlocksExtent84KSegment112KDatabaseDataFile表空間表空間段段區(qū)區(qū)塊塊32廈門理工學(xué)院計(jì)算機(jī)系數(shù)據(jù)庫(kù)塊數(shù)據(jù)庫(kù)塊(Block) 數(shù)據(jù)庫(kù)塊(數(shù)據(jù)庫(kù)塊(Database Block)是數(shù)據(jù)庫(kù)是數(shù)據(jù)庫(kù)使用的使用的I/O最小單元,又稱邏輯塊或最小單元,又稱邏輯塊或ORACLE塊。塊。 一個(gè)數(shù)據(jù)庫(kù)塊對(duì)應(yīng)一個(gè)或多個(gè)物理塊,一個(gè)數(shù)據(jù)庫(kù)塊對(duì)應(yīng)一個(gè)或多個(gè)物理塊,塊的大小由參數(shù)塊的大小由參數(shù)DB_BLOCK_SIZE確定。確定。33廈門理工學(xué)院計(jì)算機(jī)系數(shù)據(jù)庫(kù)塊數(shù)據(jù)庫(kù)塊(Bloc
19、k) 塊的大小是操作系統(tǒng)塊大小的整數(shù)倍塊的大小是操作系統(tǒng)塊大小的整數(shù)倍. 以以Win2K為例為例,操作系統(tǒng)塊操作系統(tǒng)塊(OS block)的大的大小為小為4kb,所以,所以O(shè)racle Block的大小可以是的大小可以是4kb,8kb,16kb等等。等等。 如果塊的大小為如果塊的大小為4kb,某表每行的數(shù)據(jù)是,某表每行的數(shù)據(jù)是100 bytes.,如果某查詢語(yǔ)句只返回,如果某查詢語(yǔ)句只返回1行數(shù)據(jù)行數(shù)據(jù),那么,在將數(shù)據(jù)讀入到數(shù)據(jù)高速緩存時(shí)那么,在將數(shù)據(jù)讀入到數(shù)據(jù)高速緩存時(shí),讀取讀取的數(shù)據(jù)量時(shí)的數(shù)據(jù)量時(shí)4kb而不是而不是100 bytes.34廈門理工學(xué)院計(jì)算機(jī)系區(qū)區(qū)(extent) 區(qū)區(qū)(Ex
20、tent)是數(shù)據(jù)庫(kù)存儲(chǔ)空間分配是數(shù)據(jù)庫(kù)存儲(chǔ)空間分配的邏輯單位,一個(gè)的邏輯單位,一個(gè)區(qū)區(qū)由一組數(shù)據(jù)庫(kù)由一組數(shù)據(jù)庫(kù)塊組成,塊組成,區(qū)區(qū)是由段分配的,分配的是由段分配的,分配的第一個(gè)第一個(gè)區(qū)區(qū)稱稱初始初始區(qū)區(qū),以后分配的,以后分配的區(qū)區(qū)稱稱增量增量區(qū)區(qū)。35廈門理工學(xué)院計(jì)算機(jī)系段段(segment) 段(段(Segment)是表空間中一個(gè)指定是表空間中一個(gè)指定類型的邏輯存儲(chǔ)結(jié)構(gòu),它由一個(gè)或多個(gè)類型的邏輯存儲(chǔ)結(jié)構(gòu),它由一個(gè)或多個(gè)區(qū)組成組成,段將占用并增長(zhǎng)存儲(chǔ)空間。,段將占用并增長(zhǎng)存儲(chǔ)空間。36廈門理工學(xué)院計(jì)算機(jī)系段的分類段的分類引導(dǎo)段引導(dǎo)段(Bootstrap Segment)存儲(chǔ)數(shù)據(jù)字典表的定義段的
21、分類段的分類回滾段回滾段(Rollback Segment)存儲(chǔ)修改之前的位置和值索引段索引段(Index Segment)存儲(chǔ)表上最佳查詢的所有索引數(shù)據(jù)臨時(shí)段臨時(shí)段(Temporary Segment)存儲(chǔ)表排序操作期間建立的臨時(shí)表的數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)(表表)段段(Data Segment)存儲(chǔ)表中的所有數(shù)據(jù)37廈門理工學(xué)院計(jì)算機(jī)系表空間表空間(tablespace) 表空間是最大的邏輯單位表空間是最大的邏輯單位,對(duì)應(yīng)一個(gè)或?qū)?yīng)一個(gè)或多個(gè)數(shù)據(jù)文件,表空間的大小是它多個(gè)數(shù)據(jù)文件,表空間的大小是它所對(duì)應(yīng)的數(shù)據(jù)文件大小的總和所對(duì)應(yīng)的數(shù)據(jù)文件大小的總和。38廈門理工學(xué)院計(jì)算機(jī)系表空間與數(shù)據(jù)庫(kù)之間的關(guān)系表空
22、間與數(shù)據(jù)庫(kù)之間的關(guān)系數(shù)據(jù)庫(kù)、表空間、數(shù)據(jù)文件、方案對(duì)象數(shù)據(jù)庫(kù)、表空間、數(shù)據(jù)文件、方案對(duì)象(schema object)之間的關(guān)系之間的關(guān)系39廈門理工學(xué)院計(jì)算機(jī)系Oracle 10g創(chuàng)建的表空間創(chuàng)建的表空間 Oracle 10g自動(dòng)創(chuàng)建的表空間有自動(dòng)創(chuàng)建的表空間有:Example(實(shí)例表空間實(shí)例表空間)Sysaux(輔助系統(tǒng)表空間輔助系統(tǒng)表空間)System(系統(tǒng)表空間系統(tǒng)表空間)Temp(臨時(shí)表空間臨時(shí)表空間)Undotbs(重做表空間重做表空間)Users(用戶的表空間用戶的表空間)40廈門理工學(xué)院計(jì)算機(jī)系SYSTEM(系統(tǒng)系統(tǒng))表空間表空間 System : 系統(tǒng)表空間系統(tǒng)表空間,存放關(guān)
23、于表空存放關(guān)于表空間的名稱、控制文件、數(shù)據(jù)文件等管理間的名稱、控制文件、數(shù)據(jù)文件等管理信息,是最重要的表空間信息,是最重要的表空間. 它屬于它屬于Sys、System兩個(gè)兩個(gè)schema(方案方案),僅被這兩個(gè)或其他具有,僅被這兩個(gè)或其他具有足夠權(quán)限的用戶使用。足夠權(quán)限的用戶使用。 但是均不可刪除或者重命名但是均不可刪除或者重命名System表空間表空間.41廈門理工學(xué)院計(jì)算機(jī)系其他表空間其他表空間 Temp: 臨時(shí)表空間存放臨時(shí)表和臨時(shí)數(shù)臨時(shí)表空間存放臨時(shí)表和臨時(shí)數(shù)據(jù),用于排序。據(jù),用于排序。 Users: 用戶表空間,永久存放用戶對(duì)象用戶表空間,永久存放用戶對(duì)象和私有信息,也被成為數(shù)據(jù)表空
24、間。和私有信息,也被成為數(shù)據(jù)表空間。 Sysaux:輔助系統(tǒng)表空間,用于減少系輔助系統(tǒng)表空間,用于減少系統(tǒng)負(fù)荷,提高系統(tǒng)的作業(yè)效率統(tǒng)負(fù)荷,提高系統(tǒng)的作業(yè)效率. 一般地:系統(tǒng)用戶使用一般地:系統(tǒng)用戶使用system表空表空間間,非系統(tǒng)用戶使用非系統(tǒng)用戶使用Users表空間表空間42廈門理工學(xué)院計(jì)算機(jī)系Version 1.0廈門理工學(xué)院計(jì)算機(jī)系大型數(shù)據(jù)庫(kù)技術(shù)大型數(shù)據(jù)庫(kù)技術(shù)Oracle 10g體系結(jié)構(gòu)體系結(jié)構(gòu)-2.3 軟件結(jié)構(gòu)軟件結(jié)構(gòu)Page 43例程例程(instance)Oracle數(shù)據(jù)庫(kù)結(jié)構(gòu)又稱為例程結(jié)構(gòu)數(shù)據(jù)庫(kù)結(jié)構(gòu)又稱為例程結(jié)構(gòu).數(shù)據(jù)庫(kù)啟動(dòng)時(shí):數(shù)據(jù)庫(kù)啟動(dòng)時(shí): Oracle首先要在內(nèi)存中獲取、劃
25、分、保留首先要在內(nèi)存中獲取、劃分、保留各種用途的區(qū)域各種用途的區(qū)域,運(yùn)行各種用途的后臺(tái)運(yùn)行各種用途的后臺(tái),即:即:創(chuàng)建一個(gè)例程創(chuàng)建一個(gè)例程(instance); 然后由該例程裝載然后由該例程裝載(mount)、打開、打開(open)數(shù)據(jù)庫(kù);數(shù)據(jù)庫(kù); 最后由這個(gè)例程來(lái)訪問(wèn)和控制數(shù)據(jù)庫(kù)的各種最后由這個(gè)例程來(lái)訪問(wèn)和控制數(shù)據(jù)庫(kù)的各種物理結(jié)構(gòu)物理結(jié)構(gòu)44廈門理工學(xué)院計(jì)算機(jī)系例程例程(instance)如果把如果把Oracle數(shù)據(jù)庫(kù)比作一部汽車,數(shù)據(jù)庫(kù)比作一部汽車,instance相當(dāng)于汽車的發(fā)動(dòng)機(jī)一樣相當(dāng)于汽車的發(fā)動(dòng)機(jī)一樣,啟動(dòng)啟動(dòng)oracle數(shù)據(jù)庫(kù)前提應(yīng)先啟動(dòng)數(shù)據(jù)庫(kù)前提應(yīng)先啟動(dòng)instance.45廈
26、門理工學(xué)院計(jì)算機(jī)系例程例程(instance)當(dāng)用戶連接到數(shù)據(jù)庫(kù)并使用數(shù)據(jù)庫(kù)時(shí),實(shí)際上當(dāng)用戶連接到數(shù)據(jù)庫(kù)并使用數(shù)據(jù)庫(kù)時(shí),實(shí)際上是連接到該數(shù)據(jù)庫(kù)的例程,通過(guò)例程來(lái)連接、是連接到該數(shù)據(jù)庫(kù)的例程,通過(guò)例程來(lái)連接、使用數(shù)據(jù)庫(kù)。使用數(shù)據(jù)庫(kù)。所以例程是用戶和數(shù)據(jù)庫(kù)之間的中間層。所以例程是用戶和數(shù)據(jù)庫(kù)之間的中間層。例程與數(shù)據(jù)庫(kù)的區(qū)別:例程與數(shù)據(jù)庫(kù)的區(qū)別: 數(shù)據(jù)庫(kù)指的是存儲(chǔ)數(shù)據(jù)的物理結(jié)構(gòu),總是實(shí)際存在數(shù)據(jù)庫(kù)指的是存儲(chǔ)數(shù)據(jù)的物理結(jié)構(gòu),總是實(shí)際存在的;的; 例程則是由內(nèi)存結(jié)構(gòu)和一系列進(jìn)程組成,可以啟動(dòng)例程則是由內(nèi)存結(jié)構(gòu)和一系列進(jìn)程組成,可以啟動(dòng)和關(guān)閉。和關(guān)閉。46廈門理工學(xué)院計(jì)算機(jī)系Oracle Instance
27、的組成的組成實(shí)例實(shí)例( INSTANCE ) 是存取和控制數(shù)據(jù)庫(kù)的軟件機(jī)制,它由系統(tǒng)全局區(qū)是存取和控制數(shù)據(jù)庫(kù)的軟件機(jī)制,它由系統(tǒng)全局區(qū)(System Global Area,簡(jiǎn)稱簡(jiǎn)稱SGA)和后臺(tái)進(jìn)程組成。和后臺(tái)進(jìn)程組成。后臺(tái)進(jìn)程后臺(tái)進(jìn)程實(shí)例實(shí)例SGA數(shù)據(jù)數(shù)據(jù)高速緩存高速緩存共享池共享池日志日志高速緩存高速緩存47廈門理工學(xué)院計(jì)算機(jī)系軟件結(jié)構(gòu)軟件結(jié)構(gòu)內(nèi)存結(jié)構(gòu)內(nèi)存結(jié)構(gòu)進(jìn)程結(jié)構(gòu)進(jìn)程結(jié)構(gòu)內(nèi)存結(jié)構(gòu)內(nèi)存結(jié)構(gòu)和和進(jìn)程結(jié)構(gòu)進(jìn)程結(jié)構(gòu)共同組成了軟件結(jié)構(gòu)共同組成了軟件結(jié)構(gòu)48廈門理工學(xué)院計(jì)算機(jī)系內(nèi)存結(jié)構(gòu)內(nèi)存結(jié)構(gòu)內(nèi)存結(jié)構(gòu)是內(nèi)存結(jié)構(gòu)是Oracle數(shù)據(jù)庫(kù)體系中最為重?cái)?shù)據(jù)庫(kù)體系中最為重要的一部分,內(nèi)存也是影響數(shù)據(jù)庫(kù)性能要
28、的一部分,內(nèi)存也是影響數(shù)據(jù)庫(kù)性能的第一因素的第一因素.按照內(nèi)存的使用方法的不同按照內(nèi)存的使用方法的不同,Oracle數(shù)據(jù)數(shù)據(jù)庫(kù)的內(nèi)存又可以分為庫(kù)的內(nèi)存又可以分為SGA(Syste Global Area)和和PGA(Program Global Area).49廈門理工學(xué)院計(jì)算機(jī)系系統(tǒng)全局區(qū)系統(tǒng)全局區(qū)(SGA) SGA是是ORACLE系統(tǒng)為實(shí)例分配的一組共系統(tǒng)為實(shí)例分配的一組共享緩沖存儲(chǔ)區(qū),用于存放數(shù)據(jù)庫(kù)數(shù)據(jù)和控制信享緩沖存儲(chǔ)區(qū),用于存放數(shù)據(jù)庫(kù)數(shù)據(jù)和控制信息,以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的管理和操作。息,以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的管理和操作。 每個(gè)例程都只有一個(gè)每個(gè)例程都只有一個(gè)SGA. 它是不同用戶進(jìn)程與服
29、務(wù)進(jìn)程進(jìn)行通信的它是不同用戶進(jìn)程與服務(wù)進(jìn)程進(jìn)行通信的中心中心,數(shù)據(jù)庫(kù)的各種操作主要在數(shù)據(jù)庫(kù)的各種操作主要在SGA中進(jìn)行中進(jìn)行,所所以稱其為系統(tǒng)全局區(qū)以稱其為系統(tǒng)全局區(qū). 創(chuàng)建例程時(shí),Oracle為SGA分配內(nèi)存; 終止例程時(shí),釋放SGA所占用的內(nèi)存.50廈門理工學(xué)院計(jì)算機(jī)系系統(tǒng)全局區(qū)系統(tǒng)全局區(qū)(SGA)系統(tǒng)全局區(qū)由以下幾個(gè)部分組成:51廈門理工學(xué)院計(jì)算機(jī)系數(shù)據(jù)高速緩存數(shù)據(jù)高速緩存(Database Buffer Cache)保存最近從數(shù)據(jù)文件中讀取的數(shù)據(jù)塊保存最近從數(shù)據(jù)文件中讀取的數(shù)據(jù)塊,其中的其中的數(shù)據(jù)被所有用戶共享數(shù)據(jù)被所有用戶共享.兩個(gè)參數(shù)影響兩個(gè)參數(shù)影響DBC: DB_BLOCK_SI
30、ZE 緩沖區(qū)數(shù)據(jù)塊大小緩沖區(qū)數(shù)據(jù)塊大小 DB_BLOCK_BUFFERS 緩沖區(qū)數(shù)據(jù)塊個(gè)數(shù)緩沖區(qū)數(shù)據(jù)塊個(gè)數(shù)52廈門理工學(xué)院計(jì)算機(jī)系初次訪問(wèn)數(shù)據(jù)時(shí)初次訪問(wèn)數(shù)據(jù)時(shí),Oracle將將讀取磁盤上的數(shù)據(jù)文件讀取磁盤上的數(shù)據(jù)文件,將數(shù)將數(shù)據(jù)放入數(shù)據(jù)高速緩存,再處據(jù)放入數(shù)據(jù)高速緩存,再處理數(shù)據(jù);理數(shù)據(jù);如果數(shù)據(jù)已經(jīng)位于數(shù)據(jù)高速如果數(shù)據(jù)已經(jīng)位于數(shù)據(jù)高速緩存中時(shí)緩存中時(shí),Oracle直接操作直接操作數(shù)據(jù)。數(shù)據(jù)。數(shù)據(jù)緩沖區(qū)數(shù)據(jù)文件數(shù)據(jù)高速緩存數(shù)據(jù)高速緩存(Database Buffer Cache)53廈門理工學(xué)院計(jì)算機(jī)系數(shù)據(jù)高速緩存數(shù)據(jù)高速緩存(DBC)DBC的緩存塊分為三類的緩存塊分為三類:臟緩存塊 存放已經(jīng)
31、被修改過(guò)的緩存塊存放已經(jīng)被修改過(guò)的緩存塊. 當(dāng)當(dāng)SQL修改某個(gè)緩存塊中的數(shù)據(jù),則這修改某個(gè)緩存塊中的數(shù)據(jù),則這個(gè)緩存塊被標(biāo)記為臟緩存塊個(gè)緩存塊被標(biāo)記為臟緩存塊空閑緩存塊 等待寫入數(shù)據(jù)的空閑緩存塊等待寫入數(shù)據(jù)的空閑緩存塊.命中緩存塊 最近正在被訪問(wèn)的緩存塊最近正在被訪問(wèn)的緩存塊.54廈門理工學(xué)院計(jì)算機(jī)系管理緩存塊的列表管理緩存塊的列表Oracle通過(guò)通過(guò)2個(gè)列表來(lái)管理上述緩存塊個(gè)列表來(lái)管理上述緩存塊: 臟列表臟列表(DIRTY) 包括被修改過(guò)但尚未寫到數(shù)據(jù)文件的包括被修改過(guò)但尚未寫到數(shù)據(jù)文件的緩沖塊。緩沖塊。 LRU(Least Recently Used)列表列表 包括空閑緩沖塊、命中緩存塊包
32、括空閑緩沖塊、命中緩存塊,以及以及還沒(méi)有移到臟列表的緩沖塊。還沒(méi)有移到臟列表的緩沖塊。55廈門理工學(xué)院計(jì)算機(jī)系數(shù)據(jù)高速緩存工作原理數(shù)據(jù)高速緩存工作原理1.讀數(shù)據(jù)入讀數(shù)據(jù)入DBC之前之前,先在先在LRU中搜索空閑緩存塊中搜索空閑緩存塊;在搜索過(guò)程中如果發(fā)現(xiàn)臟緩在搜索過(guò)程中如果發(fā)現(xiàn)臟緩存塊存塊,則將其移入則將其移入DIRTY;2.找到足夠的空閑塊找到足夠的空閑塊,將所有數(shù)據(jù)讀入;將所有數(shù)據(jù)讀入;3.3,4.如果空閑塊不足,則暫停搜索,如果空閑塊不足,則暫停搜索,Oralce立刻啟動(dòng)立刻啟動(dòng)DBWR進(jìn)程進(jìn)程,將將DIRTY中的臟緩存塊數(shù)據(jù)寫入數(shù)據(jù)文件釋放足夠的空閑緩存塊。中的臟緩存塊數(shù)據(jù)寫入數(shù)據(jù)文件
33、釋放足夠的空閑緩存塊。數(shù)據(jù)庫(kù)寫進(jìn)程數(shù)據(jù)庫(kù)寫進(jìn)程56廈門理工學(xué)院計(jì)算機(jī)系重做日志高速緩存重做日志高速緩存 當(dāng)執(zhí)行當(dāng)執(zhí)行DML(Data Manipulation Language, 數(shù)據(jù)操縱語(yǔ)言數(shù)據(jù)操縱語(yǔ)言)如如:update、delete、insert或者或者create、alter、drop 等語(yǔ)句時(shí)等語(yǔ)句時(shí),Oracle都會(huì)為這些操作都會(huì)為這些操作生成重做記錄生成重做記錄. 重做日志高速緩存就是用于存儲(chǔ)重重做日志高速緩存就是用于存儲(chǔ)重做記錄的緩存做記錄的緩存.57廈門理工學(xué)院計(jì)算機(jī)系重做日志高速緩存工作原理重做日志高速緩存工作原理為提高效率為提高效率,重做記錄并不直接寫入磁盤的重做日志文件
34、重做記錄并不直接寫入磁盤的重做日志文件,而是先寫入重做日而是先寫入重做日志緩存志緩存;當(dāng)重做日志緩存中的重做記錄達(dá)到一定數(shù)量時(shí)當(dāng)重做日志緩存中的重做記錄達(dá)到一定數(shù)量時(shí),由由LGWR進(jìn)程寫入重做日進(jìn)程寫入重做日志志.(先內(nèi)存后磁盤先內(nèi)存后磁盤)當(dāng)當(dāng)2個(gè)個(gè)(至少至少2個(gè)個(gè))重做日志切換時(shí)重做日志切換時(shí),由由ARCH將重做日志中的數(shù)據(jù)寫入歸檔日將重做日志中的數(shù)據(jù)寫入歸檔日志文件,以做備份志文件,以做備份.日志寫進(jìn)程日志寫進(jìn)程歸檔進(jìn)程歸檔進(jìn)程58廈門理工學(xué)院計(jì)算機(jī)系共享池共享池(Shared Pool) 共享池保存了最近執(zhí)行的共享池保存了最近執(zhí)行的SQL語(yǔ)句、語(yǔ)句、PL/SQL程序和數(shù)據(jù)字典信息程序和
35、數(shù)據(jù)字典信息,是對(duì)是對(duì)SQL語(yǔ)句和語(yǔ)句和PL/SQL程序進(jìn)行語(yǔ)法分析、編程序進(jìn)行語(yǔ)法分析、編譯、執(zhí)行的內(nèi)存區(qū)譯、執(zhí)行的內(nèi)存區(qū).59廈門理工學(xué)院計(jì)算機(jī)系共享池共享池(Shared Pool)共享池共享池由庫(kù)緩存和數(shù)據(jù)字典緩存組成。參數(shù)SHARED_POOL_SIZE 確定共享池的大小。庫(kù)緩存庫(kù)緩存(Library Cache)區(qū)包括區(qū)包括解析用戶進(jìn)程提交的解析用戶進(jìn)程提交的SQL語(yǔ)句或語(yǔ)句或PL/SQL程序程序保存最近解析過(guò)的保存最近解析過(guò)的 SQL語(yǔ)句或語(yǔ)句或PL/SQL程序程序數(shù)據(jù)字典區(qū)數(shù)據(jù)字典區(qū)(Dictionary cache)用于存放數(shù)據(jù)字典信息用于存放數(shù)據(jù)字典信息行。行。60廈門理工
36、學(xué)院計(jì)算機(jī)系 Oracle DBMS執(zhí)行各種執(zhí)行各種SQL、PL/SQL之前之前,要對(duì)其進(jìn)行語(yǔ)法上的解析、對(duì)象上的確認(rèn)、權(quán)要對(duì)其進(jìn)行語(yǔ)法上的解析、對(duì)象上的確認(rèn)、權(quán)限上的判斷、操作上的優(yōu)化等一系列操作,并限上的判斷、操作上的優(yōu)化等一系列操作,并生成執(zhí)行計(jì)劃。生成執(zhí)行計(jì)劃。 庫(kù)緩存保存了已經(jīng)解析的庫(kù)緩存保存了已經(jīng)解析的SQL和和PL/SQL。 庫(kù)緩存庫(kù)緩存61廈門理工學(xué)院計(jì)算機(jī)系數(shù)據(jù)字典緩存數(shù)據(jù)字典緩存 在在Oracle運(yùn)行過(guò)程中運(yùn)行過(guò)程中,Oracle會(huì)頻繁的對(duì)數(shù)會(huì)頻繁的對(duì)數(shù)據(jù)字典中的表、視圖進(jìn)行訪問(wèn),以便確定操作據(jù)字典中的表、視圖進(jìn)行訪問(wèn),以便確定操作的數(shù)據(jù)對(duì)象是否存在、是否具有合適的權(quán)限等的
37、數(shù)據(jù)對(duì)象是否存在、是否具有合適的權(quán)限等信息。信息。 數(shù)據(jù)字典緩保存了最常用的數(shù)據(jù)字典信息。數(shù)據(jù)字典緩保存了最常用的數(shù)據(jù)字典信息。 數(shù)據(jù)字典緩存中存放的記錄是一條一條的數(shù)據(jù)字典緩存中存放的記錄是一條一條的, 而其他緩存區(qū)中保存的是數(shù)據(jù)塊而其他緩存區(qū)中保存的是數(shù)據(jù)塊.62廈門理工學(xué)院計(jì)算機(jī)系大池大池大池用于需要大內(nèi)存操作提供相對(duì)獨(dú)立的內(nèi)存空大池用于需要大內(nèi)存操作提供相對(duì)獨(dú)立的內(nèi)存空間,以便提高性能。間,以便提高性能。大池是可選的內(nèi)存結(jié)構(gòu)。大池是可選的內(nèi)存結(jié)構(gòu)。 DBA可以決定是否需要在可以決定是否需要在SGA中創(chuàng)建大池。中創(chuàng)建大池。 需要大池的操作需要大池的操作: 數(shù)據(jù)庫(kù)備份和恢復(fù)數(shù)據(jù)庫(kù)備份和恢復(fù)
38、 大量排序的大量排序的SQL語(yǔ)句語(yǔ)句 并行化的數(shù)據(jù)庫(kù)操作并行化的數(shù)據(jù)庫(kù)操作63廈門理工學(xué)院計(jì)算機(jī)系Java池池 8i以后提供的對(duì)以后提供的對(duì)Java的支持的支持,用于存用于存放放Java代碼、代碼、Java程序等程序等. 一般不小于一般不小于20M,以便虛擬機(jī)運(yùn)行以便虛擬機(jī)運(yùn)行.64廈門理工學(xué)院計(jì)算機(jī)系PGA(Program Global Area) PGA是用戶進(jìn)程連接到數(shù)據(jù)庫(kù)是用戶進(jìn)程連接到數(shù)據(jù)庫(kù),并創(chuàng)建一個(gè)并創(chuàng)建一個(gè)對(duì)應(yīng)的會(huì)話時(shí),由對(duì)應(yīng)的會(huì)話時(shí),由Oracle為服務(wù)進(jìn)程分配的,為服務(wù)進(jìn)程分配的,專門用于當(dāng)前用戶會(huì)話的內(nèi)存區(qū)。專門用于當(dāng)前用戶會(huì)話的內(nèi)存區(qū)。 PGA是非共享的,而是非共享的,
39、而SGA是共享的。是共享的。 PGA大小由操作系統(tǒng)決定,并且分配后保大小由操作系統(tǒng)決定,并且分配后保持不變;持不變; 會(huì)話終止時(shí),自動(dòng)釋放會(huì)話終止時(shí),自動(dòng)釋放PGA所占的內(nèi)存。所占的內(nèi)存。65廈門理工學(xué)院計(jì)算機(jī)系PGA的組成的組成排序區(qū)會(huì)話區(qū)游標(biāo)區(qū)堆棧區(qū)PGA服務(wù)器進(jìn)程服務(wù)器進(jìn)程66廈門理工學(xué)院計(jì)算機(jī)系排序區(qū)排序區(qū) 執(zhí)行執(zhí)行order by、group by等包含排序等包含排序操作的操作的SQL語(yǔ)句時(shí)所產(chǎn)生的臨時(shí)數(shù)據(jù)語(yǔ)句時(shí)所產(chǎn)生的臨時(shí)數(shù)據(jù). Oracle將準(zhǔn)備排序的數(shù)據(jù)先臨時(shí)存儲(chǔ)將準(zhǔn)備排序的數(shù)據(jù)先臨時(shí)存儲(chǔ)到排序區(qū)中,并在排序區(qū)中排序,然后到排序區(qū)中,并在排序區(qū)中排序,然后將排序好的數(shù)據(jù)返回給用
40、戶將排序好的數(shù)據(jù)返回給用戶.67廈門理工學(xué)院計(jì)算機(jī)系會(huì)話區(qū)會(huì)話區(qū) 保存會(huì)話所具有的權(quán)限、角色、性能保存會(huì)話所具有的權(quán)限、角色、性能統(tǒng)計(jì)信息統(tǒng)計(jì)信息.68廈門理工學(xué)院計(jì)算機(jī)系游標(biāo)區(qū)游標(biāo)區(qū) 當(dāng)運(yùn)行帶有游標(biāo)當(dāng)運(yùn)行帶有游標(biāo)(course)的的PL/SQL語(yǔ)句時(shí),語(yǔ)句時(shí),Oracle會(huì)在共享池中為該語(yǔ)句會(huì)在共享池中為該語(yǔ)句分配上下文分配上下文(Context),游標(biāo)實(shí)際上是,游標(biāo)實(shí)際上是指向該上下文的指針。指向該上下文的指針。69廈門理工學(xué)院計(jì)算機(jī)系堆棧區(qū)堆棧區(qū) 保存會(huì)話中的綁定變量、會(huì)話變量以保存會(huì)話中的綁定變量、會(huì)話變量以及及SQL語(yǔ)句運(yùn)行時(shí)的內(nèi)存結(jié)構(gòu)信息。語(yǔ)句運(yùn)行時(shí)的內(nèi)存結(jié)構(gòu)信息。 例如:例如:
41、select * from emp where emp=:a; :a就是綁定變量就是綁定變量,提示用戶輸入提示用戶輸入. 在等待用戶輸入時(shí),先將該變量存入在等待用戶輸入時(shí),先將該變量存入堆棧,以便可以同時(shí)運(yùn)行其他語(yǔ)句堆棧,以便可以同時(shí)運(yùn)行其他語(yǔ)句.70廈門理工學(xué)院計(jì)算機(jī)系進(jìn)程結(jié)構(gòu)進(jìn)程結(jié)構(gòu) 進(jìn)程時(shí)操作系統(tǒng)中的一個(gè)概念,是一個(gè)可以進(jìn)程時(shí)操作系統(tǒng)中的一個(gè)概念,是一個(gè)可以獨(dú)立調(diào)用的活動(dòng),用于完成指定的任務(wù)。獨(dú)立調(diào)用的活動(dòng),用于完成指定的任務(wù)。 進(jìn)程與程序的區(qū)別是:進(jìn)程與程序的區(qū)別是: 進(jìn)程是動(dòng)態(tài)創(chuàng)建的,完成后銷毀;程序是靜態(tài)的實(shí)進(jìn)程是動(dòng)態(tài)創(chuàng)建的,完成后銷毀;程序是靜態(tài)的實(shí)體,可以復(fù)制、編輯。體,可以復(fù)
42、制、編輯。 進(jìn)程強(qiáng)調(diào)執(zhí)行過(guò)程,程序僅僅是指令的有序集合。進(jìn)程強(qiáng)調(diào)執(zhí)行過(guò)程,程序僅僅是指令的有序集合。 進(jìn)程在內(nèi)存中,程序在外存中。進(jìn)程在內(nèi)存中,程序在外存中。 71廈門理工學(xué)院計(jì)算機(jī)系進(jìn)程種類進(jìn)程種類Oracle包括用戶進(jìn)程和包括用戶進(jìn)程和Oracle進(jìn)程兩類:進(jìn)程兩類:用 戶 進(jìn) 程服務(wù)器進(jìn)程后 臺(tái) 進(jìn) 程Oracle進(jìn)程進(jìn)程72廈門理工學(xué)院計(jì)算機(jī)系用戶進(jìn)程用戶進(jìn)程 當(dāng)用戶運(yùn)行一個(gè)應(yīng)用程序當(dāng)用戶運(yùn)行一個(gè)應(yīng)用程序時(shí),就建立一個(gè)用戶進(jìn)程。時(shí),就建立一個(gè)用戶進(jìn)程。73廈門理工學(xué)院計(jì)算機(jī)系服務(wù)器進(jìn)程服務(wù)器進(jìn)程 服務(wù)器進(jìn)程服務(wù)器進(jìn)程:處理用戶進(jìn)程的請(qǐng)求。處理用戶進(jìn)程的請(qǐng)求。 處理過(guò)程:分析分析SQL命
43、令并生成執(zhí)行方案。命令并生成執(zhí)行方案。從數(shù)據(jù)緩沖存儲(chǔ)區(qū)中讀取數(shù)據(jù)。從數(shù)據(jù)緩沖存儲(chǔ)區(qū)中讀取數(shù)據(jù)。將執(zhí)行結(jié)果返回給用戶。將執(zhí)行結(jié)果返回給用戶。74廈門理工學(xué)院計(jì)算機(jī)系后臺(tái)進(jìn)程后臺(tái)進(jìn)程后臺(tái)進(jìn)程后臺(tái)進(jìn)程 為所有數(shù)據(jù)庫(kù)用戶異步完成各種任務(wù)。主要的后臺(tái)進(jìn)程有主要的后臺(tái)進(jìn)程有 DBWR 數(shù)據(jù)庫(kù)寫進(jìn)程數(shù)據(jù)庫(kù)寫進(jìn)程 LGWR 日志寫進(jìn)程日志寫進(jìn)程 CKPT 檢查點(diǎn)寫進(jìn)程檢查點(diǎn)寫進(jìn)程 SMON 系統(tǒng)監(jiān)控進(jìn)程系統(tǒng)監(jiān)控進(jìn)程 PMON 進(jìn)程監(jiān)控進(jìn)程進(jìn)程監(jiān)控進(jìn)程 ARCH 歸檔進(jìn)程歸檔進(jìn)程 RECO 恢復(fù)進(jìn)程恢復(fù)進(jìn)程 LCKn 封鎖進(jìn)程封鎖進(jìn)程75廈門理工學(xué)院計(jì)算機(jī)系DBWR(數(shù)據(jù)寫數(shù)據(jù)寫)DBWR(Data Base
44、Writer) 將數(shù)據(jù)緩沖區(qū)中所有修改過(guò)的緩沖塊將數(shù)據(jù)緩沖區(qū)中所有修改過(guò)的緩沖塊數(shù)據(jù)寫到數(shù)據(jù)文件中,并使用數(shù)據(jù)寫到數(shù)據(jù)文件中,并使用LRU算法算法來(lái)保持緩沖區(qū)中的數(shù)據(jù)塊為最近經(jīng)常使來(lái)保持緩沖區(qū)中的數(shù)據(jù)塊為最近經(jīng)常使用的,以減少用的,以減少I/O次數(shù)。次數(shù)。 該進(jìn)程在啟動(dòng)實(shí)例時(shí)自動(dòng)啟動(dòng)。該進(jìn)程在啟動(dòng)實(shí)例時(shí)自動(dòng)啟動(dòng)。76廈門理工學(xué)院計(jì)算機(jī)系LGWR(日志寫日志寫)LGWR(Log Writer) 將日志緩沖區(qū)中的所有記錄將日志緩沖區(qū)中的所有記錄項(xiàng)寫到日志文件中。項(xiàng)寫到日志文件中。 該進(jìn)程在啟動(dòng)實(shí)例時(shí)自動(dòng)啟該進(jìn)程在啟動(dòng)實(shí)例時(shí)自動(dòng)啟動(dòng)。動(dòng)。77廈門理工學(xué)院計(jì)算機(jī)系啟動(dòng)啟動(dòng)LGWR進(jìn)行寫操作的條件進(jìn)行寫
45、操作的條件用戶進(jìn)程提交一個(gè)事務(wù)(用戶進(jìn)程提交一個(gè)事務(wù)(Commit)日志緩沖區(qū)達(dá)到日志緩沖區(qū)達(dá)到1/3范圍范圍DBWR對(duì)一個(gè)檢查點(diǎn)需要清除緩沖對(duì)一個(gè)檢查點(diǎn)需要清除緩沖塊塊出現(xiàn)超時(shí)(出現(xiàn)超時(shí)(3秒鐘內(nèi)未活動(dòng),則進(jìn)行秒鐘內(nèi)未活動(dòng),則進(jìn)行一次寫操作。)一次寫操作。)78廈門理工學(xué)院計(jì)算機(jī)系A(chǔ)RCH(歸檔進(jìn)程歸檔進(jìn)程)ARCH(Archiver) 在日志文件組出現(xiàn)切換時(shí),將在日志文件組出現(xiàn)切換時(shí),將舊日志文件的內(nèi)容拷貝到脫機(jī)存儲(chǔ)舊日志文件的內(nèi)容拷貝到脫機(jī)存儲(chǔ)介質(zhì)上,出現(xiàn)介質(zhì)失敗時(shí)用于恢復(fù)介質(zhì)上,出現(xiàn)介質(zhì)失敗時(shí)用于恢復(fù)數(shù)據(jù)。數(shù)據(jù)。ARCH存儲(chǔ)介質(zhì)79廈門理工學(xué)院計(jì)算機(jī)系其他后臺(tái)進(jìn)程其他后臺(tái)進(jìn)程SMON(
46、System Monitor,系統(tǒng)監(jiān)控進(jìn)程系統(tǒng)監(jiān)控進(jìn)程) 負(fù)責(zé)完成自動(dòng)實(shí)例恢復(fù)。該進(jìn)程在啟動(dòng)實(shí)例時(shí)自負(fù)責(zé)完成自動(dòng)實(shí)例恢復(fù)。該進(jìn)程在啟動(dòng)實(shí)例時(shí)自動(dòng)啟動(dòng)。動(dòng)啟動(dòng)。PMON(Process Monitor,進(jìn)程監(jiān)控進(jìn)程進(jìn)程監(jiān)控進(jìn)程) 撤消異常中斷的用戶進(jìn)程,并釋放該進(jìn)程已獲得撤消異常中斷的用戶進(jìn)程,并釋放該進(jìn)程已獲得的系統(tǒng)資源或鎖。的系統(tǒng)資源或鎖。80廈門理工學(xué)院計(jì)算機(jī)系RECO(Recover,恢復(fù)進(jìn)程恢復(fù)進(jìn)程) 在分布式操作的情況下,恢復(fù)一個(gè)事在分布式操作的情況下,恢復(fù)一個(gè)事務(wù)的失敗。務(wù)的失敗。LCKn(Lock,鎖進(jìn)程鎖進(jìn)程) 在并行服務(wù)器系統(tǒng)間加鎖,最多可加在并行服務(wù)器系統(tǒng)間加鎖,最多可加1
47、0個(gè)鎖,分別為個(gè)鎖,分別為L(zhǎng)CK0,LCK1,LCK9。其他后臺(tái)進(jìn)程其他后臺(tái)進(jìn)程81廈門理工學(xué)院計(jì)算機(jī)系體系結(jié)構(gòu)的示例體系結(jié)構(gòu)的示例處理SQL語(yǔ)句的三個(gè)階段 語(yǔ)法分析語(yǔ)法分析 執(zhí)行執(zhí)行 返回指令返回指令Server共享池?cái)?shù)據(jù)緩沖區(qū)日志緩沖區(qū)UserUserUserSQL SELECT ename FROM emp ;Server共享池?cái)?shù)據(jù)緩沖區(qū)日志緩沖區(qū)UserUserUserSMITHALLENWARD Server共享池?cái)?shù)據(jù)緩沖區(qū)日志緩沖區(qū)82廈門理工學(xué)院計(jì)算機(jī)系體系結(jié)構(gòu)的示例體系結(jié)構(gòu)的示例SELECT操作操作SQL SELECT sal FROM emp WHERE job = CLER
48、K ;Server共享池?cái)?shù)據(jù)緩沖區(qū)UserUserUserB1B2EMP TableBlock 1Block283廈門理工學(xué)院計(jì)算機(jī)系體系結(jié)構(gòu)的示例體系結(jié)構(gòu)的示例UPDATE操作 為了支持讀一致性,恢復(fù)和回滾,所有修為了支持讀一致性,恢復(fù)和回滾,所有修改操作需要回滾段。修改操作執(zhí)行:改操作需要回滾段。修改操作執(zhí)行: 將數(shù)據(jù)塊送到數(shù)據(jù)緩沖區(qū)將數(shù)據(jù)塊送到數(shù)據(jù)緩沖區(qū) 將回滾塊送到數(shù)據(jù)緩沖區(qū)將回滾塊送到數(shù)據(jù)緩沖區(qū) 在修改行上設(shè)置行鎖在修改行上設(shè)置行鎖 保存回滾數(shù)據(jù)到回滾段塊保存回滾數(shù)據(jù)到回滾段塊 將修改寫到數(shù)據(jù)塊將修改寫到數(shù)據(jù)塊84廈門理工學(xué)院計(jì)算機(jī)系體系結(jié)構(gòu)的示例體系結(jié)構(gòu)的示例SQL SELECT
49、sal FROM emp WHERE job = CLERK ;Server1UserUserUser1Server2UserUserUser2共享池?cái)?shù)據(jù)緩沖區(qū)B1B2R2R1EMP TableBlock 1Block2RB01R1R2Data File 1Data File 2 SQL UPDATE emp SET sal = sal * 1.1 WHERE job = CLERK ;UPDATE操作85廈門理工學(xué)院計(jì)算機(jī)系Version 1.0廈門理工學(xué)院計(jì)算機(jī)系大型數(shù)據(jù)庫(kù)技術(shù)大型數(shù)據(jù)庫(kù)技術(shù)Oracle 10g體系結(jié)構(gòu)體系結(jié)構(gòu)-2.4 數(shù)據(jù)字典數(shù)據(jù)字典Page 86數(shù)據(jù)字典數(shù)據(jù)字典 數(shù)據(jù)字典是數(shù)據(jù)字典是Oracle數(shù)據(jù)庫(kù)的核心組件數(shù)據(jù)庫(kù)的核心組件,它由一系列只讀的數(shù)據(jù)字典表和數(shù)據(jù)字它由一系列只讀的數(shù)據(jù)字典表和數(shù)據(jù)字典視圖組成典視圖組成. 數(shù)據(jù)字典中記錄了
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人力資源居間合同模板
- 能源貿(mào)易購(gòu)銷及服務(wù)合同
- 農(nóng)產(chǎn)品批發(fā)市場(chǎng)居間合同
- 木工工程勞務(wù)分包合同
- 企業(yè)品牌宣傳與推廣營(yíng)銷合同
- 數(shù)字頻道承包合同
- 私人品酒師紅酒品鑒課程購(gòu)買合同
- 直播平臺(tái)搭建及運(yùn)營(yíng)合同
- 電子商務(wù)運(yùn)營(yíng)托管服務(wù)合同
- 2024年房地產(chǎn)項(xiàng)目銷售代理合同
- 國(guó)家電網(wǎng)招聘2025-企業(yè)文化復(fù)習(xí)試題含答案
- 醫(yī)院物業(yè)服務(wù)組織機(jī)構(gòu)及人員的配備、培訓(xùn)管理方案
- 外觀判定標(biāo)準(zhǔn)
- 江西上饒市2025屆數(shù)學(xué)高二上期末檢測(cè)試題含解析
- 腦卒中后吞咽障礙患者進(jìn)食護(hù)理團(tuán)體標(biāo)準(zhǔn)
- 工行人工智能風(fēng)控
- 2023風(fēng)電機(jī)組預(yù)應(yīng)力混凝土塔筒與基礎(chǔ)結(jié)構(gòu)設(shè)計(jì)標(biāo)準(zhǔn)
- 小學(xué)語(yǔ)文閱讀教學(xué)落實(shí)學(xué)生核心素養(yǎng)方法的研究-結(jié)題報(bào)告
- 一年級(jí)的成長(zhǎng)歷程
- 2024年南京鐵道職業(yè)技術(shù)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 正月十五元宵節(jié)介紹課件
評(píng)論
0/150
提交評(píng)論