Oracle數(shù)據(jù)庫(kù)教程第01章課件_第1頁(yè)
Oracle數(shù)據(jù)庫(kù)教程第01章課件_第2頁(yè)
Oracle數(shù)據(jù)庫(kù)教程第01章課件_第3頁(yè)
Oracle數(shù)據(jù)庫(kù)教程第01章課件_第4頁(yè)
Oracle數(shù)據(jù)庫(kù)教程第01章課件_第5頁(yè)
已閱讀5頁(yè),還剩67頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 Oracle 簡(jiǎn)介簡(jiǎn)介pOracleOracle的原義是的原義是“神喻神喻”,即神說(shuō)的話。,即神說(shuō)的話。在中國(guó)商代,出現(xiàn)了刻在龜殼上的文字,在中國(guó)商代,出現(xiàn)了刻在龜殼上的文字,被稱為神的指示。所以,在中國(guó),被稱為神的指示。所以,在中國(guó),Oracle Oracle 被翻譯成被翻譯成“甲骨文甲骨文”。p在數(shù)據(jù)庫(kù)領(lǐng)域,在數(shù)據(jù)庫(kù)領(lǐng)域,OracleOracle代表兩個(gè)含義:代表兩個(gè)含義: 一是一是OracleOracle(甲骨文)公司;另一是指(甲骨文)公司;另一是指該公司的數(shù)據(jù)庫(kù)系統(tǒng)產(chǎn)品該公司的數(shù)據(jù)庫(kù)系統(tǒng)產(chǎn)品OracleOracle數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)管理系統(tǒng)。管理系統(tǒng)。第第1章章 Oracle 10g簡(jiǎn)介

2、簡(jiǎn)介 本章知識(shí)點(diǎn)本章知識(shí)點(diǎn)pOracle 10gOracle 10g數(shù)據(jù)庫(kù)的版本數(shù)據(jù)庫(kù)的版本pOracle 10gOracle 10g體系結(jié)構(gòu)體系結(jié)構(gòu) Oracle 10g的四個(gè)版本的四個(gè)版本pOracleOracle數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)10g10g標(biāo)準(zhǔn)版標(biāo)準(zhǔn)版1 1pOracleOracle數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)10g10g標(biāo)準(zhǔn)版標(biāo)準(zhǔn)版pOracleOracle數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)10g10g企業(yè)版企業(yè)版pOracleOracle數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)10g10g個(gè)人版?zhèn)€人版1.1 Oracle 10g產(chǎn)品概述產(chǎn)品概述 p OracleOracle數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)10g10g標(biāo)準(zhǔn)版標(biāo)準(zhǔn)版1 1(Oracle Oracle Data

3、base 10gDatabase 10g Standard Edition OneStandard Edition One)1 1、為工作組、部門級(jí)和互聯(lián)網(wǎng)、為工作組、部門級(jí)和互聯(lián)網(wǎng)/ /內(nèi)聯(lián)網(wǎng)應(yīng)用程序提供了前內(nèi)聯(lián)網(wǎng)應(yīng)用程序提供了前所未有的易用性和很高的性價(jià)比。所未有的易用性和很高的性價(jià)比。2 2、從針對(duì)小型商務(wù)的單服務(wù)器環(huán)境到大型的分布式部門、從針對(duì)小型商務(wù)的單服務(wù)器環(huán)境到大型的分布式部門環(huán)境,包含了構(gòu)建關(guān)鍵商務(wù)的應(yīng)用程序所必需的全部環(huán)境,包含了構(gòu)建關(guān)鍵商務(wù)的應(yīng)用程序所必需的全部工具。工具。3 3、Standard Edition One Standard Edition One 僅許可在最

4、高容量為兩個(gè)處理僅許可在最高容量為兩個(gè)處理器的服務(wù)器上使用。器的服務(wù)器上使用。Oracle 10g產(chǎn)品概述產(chǎn)品概述p OracleOracle數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)10g10g標(biāo)準(zhǔn)版(標(biāo)準(zhǔn)版(Oracle Oracle Database 10gDatabase 10g Standard EditionStandard Edition) 1 1、該版本提供了標(biāo)準(zhǔn)版、該版本提供了標(biāo)準(zhǔn)版1 1的前所未有的易用性、能力和性的前所未有的易用性、能力和性能,并且利用真正應(yīng)用集群提供了對(duì)更大型的計(jì)算機(jī)能,并且利用真正應(yīng)用集群提供了對(duì)更大型的計(jì)算機(jī)和服務(wù)集群的支持。和服務(wù)集群的支持。2 2、它可以在最高容量為、它可以在

5、最高容量為4 4個(gè)處理器的單臺(tái)服務(wù)器、或者在個(gè)處理器的單臺(tái)服務(wù)器、或者在一個(gè)支持最多一個(gè)支持最多4 4個(gè)處理器的服務(wù)器的集群上使用。個(gè)處理器的服務(wù)器的集群上使用。 Oracle 10g產(chǎn)品概述產(chǎn)品概述p OracleOracle數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)10g10g企業(yè)版(企業(yè)版(Oracle Oracle Database 10gDatabase 10g Enterprise EditionEnterprise Edition)1 1、為關(guān)鍵任務(wù)的應(yīng)用程序提供了高效、可靠、安全的數(shù)、為關(guān)鍵任務(wù)的應(yīng)用程序提供了高效、可靠、安全的數(shù)據(jù)管理。據(jù)管理。2 2、為企業(yè)提供了滿足當(dāng)今關(guān)鍵任務(wù)應(yīng)用程序的可用性和、為企業(yè)

6、提供了滿足當(dāng)今關(guān)鍵任務(wù)應(yīng)用程序的可用性和可伸縮性需求的工具和功能。可伸縮性需求的工具和功能。3 3、包含了、包含了OracleOracle數(shù)據(jù)庫(kù)的所有組件,并且能夠通過(guò)購(gòu)買數(shù)據(jù)庫(kù)的所有組件,并且能夠通過(guò)購(gòu)買選項(xiàng)和程序包得到進(jìn)一步增強(qiáng)。選項(xiàng)和程序包得到進(jìn)一步增強(qiáng)。 支持支持OLTPOLTP(聯(lián)機(jī)事務(wù)處理),有大規(guī)模的實(shí)時(shí)生產(chǎn)(聯(lián)機(jī)事務(wù)處理),有大規(guī)模的實(shí)時(shí)生產(chǎn)數(shù)據(jù)產(chǎn)生的企業(yè)環(huán)境中。數(shù)據(jù)產(chǎn)生的企業(yè)環(huán)境中。 Oracle 10g產(chǎn)品概述產(chǎn)品概述p OracleOracle數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)10g10g個(gè)人版(個(gè)人版(Oracle Oracle Database 10gDatabase 10g Person

7、al EditionPersonal Edition) 需要與需要與OracleOracle數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)10g10g標(biāo)準(zhǔn)版標(biāo)準(zhǔn)版1 1、Oracle Oracle 數(shù)據(jù)庫(kù)標(biāo)數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)版和準(zhǔn)版和 Oracle Oracle 數(shù)據(jù)庫(kù)企業(yè)版完全兼容的單用戶開(kāi)發(fā)數(shù)據(jù)庫(kù)企業(yè)版完全兼容的單用戶開(kāi)發(fā)和部署。和部署。1.2 Oracle 10g數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)構(gòu) Oracle 10gOracle 10g數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu) 數(shù)據(jù)庫(kù)服務(wù)器是信息管理的關(guān)鍵數(shù)據(jù)庫(kù)服務(wù)器是信息管理的關(guān)鍵1.2.1Oracle 10g體系結(jié)構(gòu)概述體系結(jié)構(gòu)概述 p一個(gè)服務(wù)器可以實(shí)現(xiàn)以下功能:一個(gè)

8、服務(wù)器可以實(shí)現(xiàn)以下功能:p在多用戶網(wǎng)絡(luò)環(huán)境中管理大量的數(shù)據(jù),從而保證在多用戶網(wǎng)絡(luò)環(huán)境中管理大量的數(shù)據(jù),從而保證許多用戶同時(shí)訪問(wèn)相同的數(shù)據(jù)。許多用戶同時(shí)訪問(wèn)相同的數(shù)據(jù)。p防止沒(méi)有授權(quán)的訪問(wèn)。防止沒(méi)有授權(quán)的訪問(wèn)。1.1.提供有效的故障恢復(fù)解決方案。提供有效的故障恢復(fù)解決方案。 1.2.1Oracle 10g體系結(jié)構(gòu)概述體系結(jié)構(gòu)概述pOracleOracle數(shù)據(jù)庫(kù)是按照規(guī)定的單位進(jìn)行管數(shù)據(jù)庫(kù)是按照規(guī)定的單位進(jìn)行管理的數(shù)據(jù)集合,用于存儲(chǔ)并獲取相關(guān)信理的數(shù)據(jù)集合,用于存儲(chǔ)并獲取相關(guān)信息。息。pOracleOracle數(shù)據(jù)庫(kù)是第一個(gè)為企業(yè)網(wǎng)格計(jì)算數(shù)據(jù)庫(kù)是第一個(gè)為企業(yè)網(wǎng)格計(jì)算(grid computingg

9、rid computing)而設(shè)計(jì)的數(shù)據(jù)庫(kù)系)而設(shè)計(jì)的數(shù)據(jù)庫(kù)系統(tǒng),統(tǒng),Oracle 10gOracle 10g的的g g就代表就代表grid grid computingcomputing。 pOracleOracle數(shù)據(jù)庫(kù)把數(shù)據(jù)存儲(chǔ)在文件中,這數(shù)據(jù)庫(kù)把數(shù)據(jù)存儲(chǔ)在文件中,這些保存數(shù)據(jù)庫(kù)不同信息的文件組成了些保存數(shù)據(jù)庫(kù)不同信息的文件組成了OracleOracle的物理結(jié)構(gòu)。的物理結(jié)構(gòu)。 1.2.1Oracle 10g體系結(jié)構(gòu)概述體系結(jié)構(gòu)概述數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)可以按照邏輯結(jié)構(gòu)和物理結(jié)數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)可以按照邏輯結(jié)構(gòu)和物理結(jié)構(gòu)來(lái)劃分構(gòu)來(lái)劃分 : : 邏輯結(jié)構(gòu) 物理結(jié)構(gòu) 文件 1 文件 2 文件 3 文

10、件 4 文件 n 文件 邏輯單元 1 邏輯單元 2 邏輯單元 邏輯單元 n 多用戶網(wǎng)絡(luò)環(huán)境 用戶 1 用戶 2 用戶 3 用戶 4 用戶 用戶 n 1.2.1Oracle 10g體系結(jié)構(gòu)概述體系結(jié)構(gòu)概述pOracleOracle將數(shù)據(jù)庫(kù)按照規(guī)定的結(jié)構(gòu)劃分為將數(shù)據(jù)庫(kù)按照規(guī)定的結(jié)構(gòu)劃分為不同級(jí)別的邏輯單元。這里指的邏輯單不同級(jí)別的邏輯單元。這里指的邏輯單元包括表、視圖等常見(jiàn)的數(shù)據(jù)庫(kù)組件。元包括表、視圖等常見(jiàn)的數(shù)據(jù)庫(kù)組件。p邏輯結(jié)構(gòu)和物理結(jié)構(gòu)是分離的,對(duì)物理邏輯結(jié)構(gòu)和物理結(jié)構(gòu)是分離的,對(duì)物理結(jié)構(gòu)的管理可以不影響對(duì)邏輯存儲(chǔ)結(jié)構(gòu)結(jié)構(gòu)的管理可以不影響對(duì)邏輯存儲(chǔ)結(jié)構(gòu)的訪問(wèn)。的訪問(wèn)。 1.2.2網(wǎng)格結(jié)構(gòu)網(wǎng)格結(jié)

11、構(gòu) p 網(wǎng)格計(jì)算是一種新的網(wǎng)格計(jì)算是一種新的ITIT結(jié)構(gòu),它可以開(kāi)結(jié)構(gòu),它可以開(kāi)發(fā)出高效低耗的企業(yè)信息系統(tǒng)。發(fā)出高效低耗的企業(yè)信息系統(tǒng)。p 使用網(wǎng)格計(jì)算,連接并重組許多獨(dú)立的、使用網(wǎng)格計(jì)算,連接并重組許多獨(dú)立的、模塊化的硬件和軟件組件。模塊化的硬件和軟件組件。p 網(wǎng)格計(jì)算的目的是解決企業(yè)信息技術(shù)中網(wǎng)格計(jì)算的目的是解決企業(yè)信息技術(shù)中的一些常見(jiàn)問(wèn)題。與其他計(jì)算模型相比,的一些常見(jiàn)問(wèn)題。與其他計(jì)算模型相比,以網(wǎng)格形式設(shè)計(jì)和實(shí)現(xiàn)的系統(tǒng)可以提供以網(wǎng)格形式設(shè)計(jì)和實(shí)現(xiàn)的系統(tǒng)可以提供更高質(zhì)量的服務(wù)、更低的成本和更大的更高質(zhì)量的服務(wù)、更低的成本和更大的靈活性。靈活性。 1.2.2網(wǎng)格結(jié)構(gòu)網(wǎng)格結(jié)構(gòu) 區(qū)分網(wǎng)格計(jì)算和

12、其他計(jì)算方式區(qū)分網(wǎng)格計(jì)算和其他計(jì)算方式: :p虛擬(虛擬(VirtualizationVirtualization) 相互獨(dú)立的資源(例如計(jì)相互獨(dú)立的資源(例如計(jì)算機(jī)、磁盤、應(yīng)用程序組件和信息資源等)按照類型算機(jī)、磁盤、應(yīng)用程序組件和信息資源等)按照類型組織在一個(gè)池中,供用戶使用。這種方式打破了資源組織在一個(gè)池中,供用戶使用。這種方式打破了資源提供者和用戶之間的硬編碼聯(lián)系,系統(tǒng)可以根據(jù)特定提供者和用戶之間的硬編碼聯(lián)系,系統(tǒng)可以根據(jù)特定的需要自動(dòng)準(zhǔn)備資源,而用戶不需要了解整個(gè)過(guò)程。的需要自動(dòng)準(zhǔn)備資源,而用戶不需要了解整個(gè)過(guò)程。p提供(提供(ProvisioningProvisioning) 用戶

13、通過(guò)虛擬層申請(qǐng)資源,用戶通過(guò)虛擬層申請(qǐng)資源,由系統(tǒng)來(lái)決定如何滿足用戶的特定需求,從而對(duì)系統(tǒng)由系統(tǒng)來(lái)決定如何滿足用戶的特定需求,從而對(duì)系統(tǒng)進(jìn)行整體的優(yōu)化。進(jìn)行整體的優(yōu)化。1.2.2網(wǎng)格結(jié)構(gòu)網(wǎng)格結(jié)構(gòu) p網(wǎng)絡(luò)資源管理包括以下內(nèi)容:網(wǎng)絡(luò)資源管理包括以下內(nèi)容:p基礎(chǔ)資源基礎(chǔ)資源 構(gòu)成數(shù)據(jù)存儲(chǔ)和程序執(zhí)行環(huán)境的軟件和構(gòu)成數(shù)據(jù)存儲(chǔ)和程序執(zhí)行環(huán)境的軟件和硬件。硬件資源包括磁盤、處理器、內(nèi)存和網(wǎng)絡(luò)等,硬件。硬件資源包括磁盤、處理器、內(nèi)存和網(wǎng)絡(luò)等,軟件則包括數(shù)據(jù)庫(kù)、存儲(chǔ)管理、系統(tǒng)管理、應(yīng)用服軟件則包括數(shù)據(jù)庫(kù)、存儲(chǔ)管理、系統(tǒng)管理、應(yīng)用服務(wù)器和操作系統(tǒng)等。通過(guò)擴(kuò)展多個(gè)計(jì)算機(jī)的計(jì)算能務(wù)器和操作系統(tǒng)等。通過(guò)擴(kuò)展多個(gè)計(jì)算機(jī)的

14、計(jì)算能力以及多個(gè)磁盤或磁盤組的存儲(chǔ)能力,可以排除單力以及多個(gè)磁盤或磁盤組的存儲(chǔ)能力,可以排除單個(gè)資源故障所造成的影響,保障系統(tǒng)安全有效地運(yùn)個(gè)資源故障所造成的影響,保障系統(tǒng)安全有效地運(yùn)行。行。p應(yīng)用程序應(yīng)用程序 業(yè)務(wù)邏輯和處理流程的編碼。業(yè)務(wù)邏輯和處理流程的編碼。p信息信息 用戶需要的數(shù)據(jù)。信息可能保存在數(shù)據(jù)庫(kù)或用戶需要的數(shù)據(jù)。信息可能保存在數(shù)據(jù)庫(kù)或文件系統(tǒng)中,也可能以郵件格式或應(yīng)用程序自定義文件系統(tǒng)中,也可能以郵件格式或應(yīng)用程序自定義格式保存。格式保存。1.2.2網(wǎng)格結(jié)構(gòu)網(wǎng)格結(jié)構(gòu) pOracle 10gOracle 10g的網(wǎng)格計(jì)算能力如下:的網(wǎng)格計(jì)算能力如下:p服務(wù)器虛擬(服務(wù)器虛擬(Ser

15、ver VirtualizationServer Virtualization) OracleOracle實(shí)時(shí)應(yīng)用集實(shí)時(shí)應(yīng)用集群(群(RACRAC)可以使一個(gè)數(shù)據(jù)庫(kù)運(yùn)行在網(wǎng)格的多個(gè)節(jié)點(diǎn)上,將多可以使一個(gè)數(shù)據(jù)庫(kù)運(yùn)行在網(wǎng)格的多個(gè)節(jié)點(diǎn)上,將多個(gè)普通計(jì)算機(jī)的處理資源集中使用。個(gè)普通計(jì)算機(jī)的處理資源集中使用。OracleOracle在跨計(jì)算機(jī)分配工在跨計(jì)算機(jī)分配工作負(fù)載的能力方面具有獨(dú)特的靈活性,因?yàn)樗俏ㄒ徊恍枰S作負(fù)載的能力方面具有獨(dú)特的靈活性,因?yàn)樗俏ㄒ徊恍枰S工作進(jìn)程一起對(duì)數(shù)據(jù)進(jìn)行分區(qū)和分配的數(shù)據(jù)庫(kù)技術(shù)。工作進(jìn)程一起對(duì)數(shù)據(jù)進(jìn)行分區(qū)和分配的數(shù)據(jù)庫(kù)技術(shù)。p存儲(chǔ)虛擬(存儲(chǔ)虛擬(Storage Vir

16、tualizationStorage Virtualization) Oracle 10gOracle 10g的自動(dòng)存的自動(dòng)存儲(chǔ)管理(儲(chǔ)管理(ASMASM)特性提供了數(shù)據(jù)庫(kù)和存儲(chǔ)之間的一個(gè)虛擬層,特性提供了數(shù)據(jù)庫(kù)和存儲(chǔ)之間的一個(gè)虛擬層,這樣多個(gè)磁盤可以被看作是一個(gè)單獨(dú)的磁盤組,在保證數(shù)據(jù)庫(kù)這樣多個(gè)磁盤可以被看作是一個(gè)單獨(dú)的磁盤組,在保證數(shù)據(jù)庫(kù)在線的情況下,磁盤可以動(dòng)態(tài)地加載或移除。在線的情況下,磁盤可以動(dòng)態(tài)地加載或移除。p網(wǎng)格管理網(wǎng)格管理 網(wǎng)格計(jì)算將多服務(wù)器和多磁盤集成在一起,并且對(duì)網(wǎng)格計(jì)算將多服務(wù)器和多磁盤集成在一起,并且對(duì)它們實(shí)現(xiàn)動(dòng)態(tài)分配,因此獨(dú)立的資源可以實(shí)現(xiàn)自我管理和集中它們實(shí)現(xiàn)動(dòng)態(tài)分

17、配,因此獨(dú)立的資源可以實(shí)現(xiàn)自我管理和集中管理就變得非常重要。管理就變得非常重要。Oracle 10gOracle 10g的網(wǎng)格控制特性提供了將多的網(wǎng)格控制特性提供了將多系統(tǒng)集成管理為一個(gè)邏輯組的控制臺(tái),可以管理網(wǎng)格中獨(dú)立的系統(tǒng)集成管理為一個(gè)邏輯組的控制臺(tái),可以管理網(wǎng)格中獨(dú)立的節(jié)點(diǎn),集中維護(hù)各組系統(tǒng)的配置和安全設(shè)置。節(jié)點(diǎn),集中維護(hù)各組系統(tǒng)的配置和安全設(shè)置。1.2.3數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu) pOracle Oracle 數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)包括方案數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)包括方案(schemaschema)對(duì)象、數(shù)據(jù)塊()對(duì)象、數(shù)據(jù)塊(data blockdata block)、)、區(qū)間(區(qū)間(exte

18、ntextent)、段()、段(segmentsegment)和表空)和表空間(間(tablespacetablespace)等。數(shù)據(jù)庫(kù)由若干個(gè)表)等。數(shù)據(jù)庫(kù)由若干個(gè)表空間組成,表空間由表組成,表由段組成,空間組成,表空間由表組成,表由段組成,段由區(qū)間組成,區(qū)間則由數(shù)據(jù)塊組成。段由區(qū)間組成,區(qū)間則由數(shù)據(jù)塊組成。 1.2.3數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu) p表空間和表、段、區(qū)間、數(shù)據(jù)塊的關(guān)系表空間和表、段、區(qū)間、數(shù)據(jù)塊的關(guān)系 表 段 區(qū)間 1 區(qū)間 2 區(qū)間 3 區(qū)間 4 區(qū)間 n 區(qū)間 表空間 表 1 表 2 表 3 表 4 表 表 n 區(qū)間 數(shù)據(jù) 1 數(shù)據(jù) 2 數(shù)據(jù) 數(shù)據(jù) n 段 1 段 2

19、段 3 段 4 段 段 n 方案方案 p 方案是一組數(shù)據(jù)庫(kù)對(duì)象的集合。在創(chuàng)建方案是一組數(shù)據(jù)庫(kù)對(duì)象的集合。在創(chuàng)建用戶的時(shí)候,會(huì)同時(shí)生成一個(gè)與用戶同用戶的時(shí)候,會(huì)同時(shí)生成一個(gè)與用戶同名的方案,此方案歸同名用戶所有。名的方案,此方案歸同名用戶所有。p 方案對(duì)象直接處理數(shù)據(jù)庫(kù)數(shù)據(jù)的邏輯結(jié)方案對(duì)象直接處理數(shù)據(jù)庫(kù)數(shù)據(jù)的邏輯結(jié)構(gòu),例如表(構(gòu),例如表(tabletable)、視圖()、視圖(viewview)、)、索引(索引(indexindex)和簇()和簇(ClustersClusters)等。)等。 方案方案p表表 數(shù)據(jù)庫(kù)中最常用的數(shù)據(jù)存儲(chǔ)單元,它包數(shù)據(jù)庫(kù)中最常用的數(shù)據(jù)存儲(chǔ)單元,它包括所有用戶可以訪問(wèn)的

20、數(shù)據(jù)。作為關(guān)系型數(shù)括所有用戶可以訪問(wèn)的數(shù)據(jù)。作為關(guān)系型數(shù)據(jù)庫(kù),據(jù)庫(kù),OracleOracle表由行和列組成。表由行和列組成。列行列名方案方案 p視圖視圖 虛擬的表,它在物理上并不存在。視圖可虛擬的表,它在物理上并不存在。視圖可以把表或其他視圖的數(shù)據(jù)按照一定的條件組合起來(lái),以把表或其他視圖的數(shù)據(jù)按照一定的條件組合起來(lái),所以也可以把它看成是一個(gè)存儲(chǔ)的查詢。視圖并不所以也可以把它看成是一個(gè)存儲(chǔ)的查詢。視圖并不包含數(shù)據(jù),它只是從基表中讀取數(shù)據(jù)。包含數(shù)據(jù),它只是從基表中讀取數(shù)據(jù)。 方案方案p索引索引 與表相關(guān)聯(lián)的可選結(jié)構(gòu)。創(chuàng)建索引與表相關(guān)聯(lián)的可選結(jié)構(gòu)。創(chuàng)建索引可以提高讀取數(shù)據(jù)的效率。索引的功能類可以提高

21、讀取數(shù)據(jù)的效率。索引的功能類似于書的目錄一樣,讀者可以通過(guò)目錄很似于書的目錄一樣,讀者可以通過(guò)目錄很快地在書中找到需要的內(nèi)容,快地在書中找到需要的內(nèi)容,OracleOracle索引索引提供對(duì)表數(shù)據(jù)的訪問(wèn)路徑,從而使用戶能提供對(duì)表數(shù)據(jù)的訪問(wèn)路徑,從而使用戶能夠快速定位指定的信息。夠快速定位指定的信息。p在圖書中,索引就是內(nèi)容和相應(yīng)頁(yè)號(hào)的清在圖書中,索引就是內(nèi)容和相應(yīng)頁(yè)號(hào)的清單。在數(shù)據(jù)庫(kù)中,索引就是表中數(shù)據(jù)和相單。在數(shù)據(jù)庫(kù)中,索引就是表中數(shù)據(jù)和相應(yīng)存儲(chǔ)位置的列表。對(duì)于包含了大量數(shù)據(jù)應(yīng)存儲(chǔ)位置的列表。對(duì)于包含了大量數(shù)據(jù)的表來(lái)說(shuō),如果沒(méi)有索引,那么對(duì)表中的的表來(lái)說(shuō),如果沒(méi)有索引,那么對(duì)表中的數(shù)據(jù)檢索時(shí)

22、速度可能慢得令人難以忍受。數(shù)據(jù)檢索時(shí)速度可能慢得令人難以忍受。 p索引是一種可選的數(shù)據(jù)結(jié)構(gòu),在一個(gè)表上是否索引是一種可選的數(shù)據(jù)結(jié)構(gòu),在一個(gè)表上是否建立索引,不會(huì)對(duì)表的使用方式產(chǎn)生任何影響。建立索引,不會(huì)對(duì)表的使用方式產(chǎn)生任何影響。但是如果在表中的某些字段上建立了索引,能但是如果在表中的某些字段上建立了索引,能夠顯著地提高對(duì)該表的查詢速度,并且可以在夠顯著地提高對(duì)該表的查詢速度,并且可以在很大程度上減少查詢時(shí)的硬盤很大程度上減少查詢時(shí)的硬盤I/OI/O操作。操作。p如果一個(gè)表中包含有很多條記錄,當(dāng)對(duì)表執(zhí)行如果一個(gè)表中包含有很多條記錄,當(dāng)對(duì)表執(zhí)行查詢時(shí),必須將所有的記錄一一取出,以便將查詢時(shí),必須

23、將所有的記錄一一取出,以便將每一條記錄與查詢條件進(jìn)行比較,然后再返回每一條記錄與查詢條件進(jìn)行比較,然后再返回滿足條件的記錄。這樣進(jìn)行操作的時(shí)間開(kāi)銷和滿足條件的記錄。這樣進(jìn)行操作的時(shí)間開(kāi)銷和I/OI/O開(kāi)銷都是很巨大的,這時(shí)可以考慮通過(guò)索開(kāi)銷都是很巨大的,這時(shí)可以考慮通過(guò)索引來(lái)減小開(kāi)銷。引來(lái)減小開(kāi)銷。p簇簇 有些表共享公共的列,并經(jīng)常被有些表共享公共的列,并經(jīng)常被同時(shí)訪問(wèn),為了提高數(shù)據(jù)存取的效率,同時(shí)訪問(wèn),為了提高數(shù)據(jù)存取的效率,把這些表在物理上存儲(chǔ)在一起,得到的把這些表在物理上存儲(chǔ)在一起,得到的表的組合就是簇。與索引相似,簇并不表的組合就是簇。與索引相似,簇并不影響應(yīng)用程序的設(shè)計(jì)。用戶和應(yīng)用程

24、序影響應(yīng)用程序的設(shè)計(jì)。用戶和應(yīng)用程序并不關(guān)心表是否是簇的一部分,因?yàn)闊o(wú)并不關(guān)心表是否是簇的一部分,因?yàn)闊o(wú)論表在不在簇中,訪問(wèn)表的論表在不在簇中,訪問(wèn)表的SQLSQL語(yǔ)句都是語(yǔ)句都是一樣的。一樣的。 數(shù)據(jù)塊數(shù)據(jù)塊 p數(shù)據(jù)塊是數(shù)據(jù)塊是OracleOracle管理數(shù)管理數(shù)據(jù)庫(kù)存儲(chǔ)空間的最小數(shù)據(jù)庫(kù)存儲(chǔ)空間的最小數(shù)據(jù)存儲(chǔ)單位。據(jù)存儲(chǔ)單位。p一個(gè)數(shù)據(jù)塊對(duì)應(yīng)磁盤上一個(gè)數(shù)據(jù)塊對(duì)應(yīng)磁盤上一定數(shù)量的數(shù)據(jù)庫(kù)空間,一定數(shù)量的數(shù)據(jù)庫(kù)空間,標(biāo)準(zhǔn)的數(shù)據(jù)塊大小由初標(biāo)準(zhǔn)的數(shù)據(jù)塊大小由初始參數(shù)始參數(shù)DB_BLOCK_SIZEDB_BLOCK_SIZE指指定。定。p數(shù)據(jù)塊既是邏輯單位,數(shù)據(jù)塊既是邏輯單位,也是物理單位。也是物理單位

25、。 行行數(shù)數(shù)據(jù)據(jù) 空空閑閑空空間間 行行目目錄錄 表表目目錄錄 公公共共的的變變長(zhǎng)長(zhǎng)頭頭 數(shù)據(jù)塊的格式數(shù)據(jù)塊的格式p公共的變長(zhǎng)頭:包含數(shù)據(jù)塊的通用信息,如地公共的變長(zhǎng)頭:包含數(shù)據(jù)塊的通用信息,如地址塊和段類型等。址塊和段類型等。p表目錄:包含在此塊中有行數(shù)據(jù)的表的信息。表目錄:包含在此塊中有行數(shù)據(jù)的表的信息。p行目錄:包含此塊中實(shí)際行數(shù)據(jù)的信息(包括行目錄:包含此塊中實(shí)際行數(shù)據(jù)的信息(包括在行數(shù)據(jù)區(qū)中每個(gè)行數(shù)據(jù)片的地址)。在行數(shù)據(jù)區(qū)中每個(gè)行數(shù)據(jù)片的地址)。p空閑空間空閑空間p行數(shù)據(jù):包含表或索引數(shù)據(jù)。行數(shù)據(jù)的存儲(chǔ)可行數(shù)據(jù):包含表或索引數(shù)據(jù)。行數(shù)據(jù)的存儲(chǔ)可以跨越數(shù)據(jù)塊,也即,一行數(shù)據(jù)可以分別存儲(chǔ)

26、以跨越數(shù)據(jù)塊,也即,一行數(shù)據(jù)可以分別存儲(chǔ)在不同的數(shù)據(jù)塊中。在不同的數(shù)據(jù)塊中。區(qū)間區(qū)間 p 區(qū)間是數(shù)據(jù)庫(kù)存儲(chǔ)空間中分配的區(qū)間是數(shù)據(jù)庫(kù)存儲(chǔ)空間中分配的一個(gè)邏輯單元,由一組相鄰的數(shù)一個(gè)邏輯單元,由一組相鄰的數(shù)據(jù)塊組成,它是據(jù)塊組成,它是OracleOracle分配磁盤分配磁盤空間的最小單位??臻g的最小單位。p MINEXTENTSMINEXTENTS定義了段所能包含的定義了段所能包含的最小區(qū)間數(shù)量,在創(chuàng)建段時(shí),它最小區(qū)間數(shù)量,在創(chuàng)建段時(shí),它所包含的區(qū)間數(shù)量只能為所包含的區(qū)間數(shù)量只能為MINEXTENTSMINEXTENTS。 段段 p 段由一組區(qū)間組成。 段類型說(shuō)明數(shù)據(jù)段每個(gè)不在簇中的表都有一個(gè)數(shù)據(jù)

27、段。表中的所有數(shù)據(jù)都存儲(chǔ)在數(shù)據(jù)段的區(qū)間中。每個(gè)簇都有一個(gè)數(shù)據(jù)段。簇中每個(gè)表的數(shù)據(jù)都存儲(chǔ)在簇的數(shù)據(jù)段中索引段每個(gè)索引都有一個(gè)索引段,存儲(chǔ)所有的索引數(shù)據(jù)臨時(shí)段當(dāng)執(zhí)行SQL語(yǔ)句需要臨時(shí)工作區(qū)時(shí),Oracle 將創(chuàng)建臨時(shí)段。執(zhí)行完畢后,臨時(shí)段的區(qū)間將被系統(tǒng)回收,以備需要時(shí)分配使用回滾段如果當(dāng)前系統(tǒng)處于自動(dòng)重做管理模式,則數(shù)據(jù)庫(kù)服務(wù)器使用表空間來(lái)管理重做空間。這是Oracle公司推薦使用的模式。但是,如果使用手動(dòng)重做管理模式,則數(shù)據(jù)庫(kù)管理員需要?jiǎng)?chuàng)建一個(gè)或多個(gè)回滾段,用于臨時(shí)存儲(chǔ)重做信息?;貪L段中的信息將在數(shù)據(jù)庫(kù)恢復(fù)過(guò)程中使用到表空間表空間 p數(shù)據(jù)庫(kù)可以劃分?jǐn)?shù)據(jù)庫(kù)可以劃分為若干的邏輯存儲(chǔ)為若干的邏輯存儲(chǔ)單

28、元,這些存儲(chǔ)單單元,這些存儲(chǔ)單元被稱為表空間。元被稱為表空間。p每個(gè)數(shù)據(jù)庫(kù)都至每個(gè)數(shù)據(jù)庫(kù)都至少有一個(gè)系統(tǒng)表空少有一個(gè)系統(tǒng)表空間(稱為間(稱為SYSTEMSYSTEM表表空間)??臻g)。p在創(chuàng)建表時(shí),需在創(chuàng)建表時(shí),需要定義保存表的表要定義保存表的表空間??臻g。 表空間說(shuō)明大文件表空間(Bigfile Tablespaces)Oracle 10g提供的一種新的表空間,它只能包含一個(gè)大文件,但文件大小可以達(dá)到4G個(gè)數(shù)據(jù)塊系統(tǒng)表空間(SYSTEM Tablespace)Oracle數(shù)據(jù)庫(kù)必須具備的部分。用于存放表空間名稱、表空間所包含的數(shù)據(jù)文件等管理數(shù)據(jù)庫(kù)自身所需要的信息輔助表空間(SYSAUX Ta

29、blespace)系統(tǒng)表空間的輔助表空間,很多數(shù)據(jù)庫(kù)組件把系統(tǒng)表空間作為存儲(chǔ)數(shù)據(jù)的默認(rèn)位置撤消表空間(Undo Tablespace)用于事務(wù)的回滾和撤銷的表空間臨時(shí)表空間(Temporary Tablespace)用于存儲(chǔ)數(shù)據(jù)庫(kù)的臨時(shí)表用戶表空間(Users Tablespace)用于存儲(chǔ)用戶的私有數(shù)據(jù)表空間表空間p大文件表空間:是大文件表空間:是oracle 10goracle 10g中一種新中一種新的表空間類型。只能包含一個(gè)單獨(dú)的大的表空間類型。只能包含一個(gè)單獨(dú)的大文件,而不是若干個(gè)小文件,所以不需文件,而不是若干個(gè)小文件,所以不需要考慮增加數(shù)據(jù)文件和處理多個(gè)文件的要考慮增加數(shù)據(jù)文件和處

30、理多個(gè)文件的開(kāi)銷。開(kāi)銷。 在創(chuàng)建表空間時(shí),系統(tǒng)默認(rèn)創(chuàng)建小文件在創(chuàng)建表空間時(shí),系統(tǒng)默認(rèn)創(chuàng)建小文件表空間表空間(smallfile tablespace),(smallfile tablespace),這是傳這是傳統(tǒng)的統(tǒng)的oracleoracle表空間類型。系統(tǒng)表空間和表空間類型。系統(tǒng)表空間和輔助表空間只能使用小文件表空間創(chuàng)建。輔助表空間只能使用小文件表空間創(chuàng)建。p系統(tǒng)表空間:每個(gè)系統(tǒng)表空間:每個(gè)oracleoracle數(shù)據(jù)庫(kù)都包含數(shù)據(jù)庫(kù)都包含一個(gè)一個(gè)SYSTEMSYSTEM表空間,當(dāng)數(shù)據(jù)庫(kù)創(chuàng)建時(shí),表空間,當(dāng)數(shù)據(jù)庫(kù)創(chuàng)建時(shí),它會(huì)自動(dòng)創(chuàng)建;當(dāng)數(shù)據(jù)庫(kù)打開(kāi)時(shí),它始它會(huì)自動(dòng)創(chuàng)建;當(dāng)數(shù)據(jù)庫(kù)打開(kāi)時(shí),它始終在線。

31、包含整個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)字典表。終在線。包含整個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)字典表。p輔助表空間:數(shù)據(jù)庫(kù)組件將輔助表空間:數(shù)據(jù)庫(kù)組件將SYSAUXSYSAUX表空表空間作為存儲(chǔ)數(shù)據(jù)的默認(rèn)位置,當(dāng)數(shù)據(jù)庫(kù)間作為存儲(chǔ)數(shù)據(jù)的默認(rèn)位置,當(dāng)數(shù)據(jù)庫(kù)創(chuàng)建或升級(jí)時(shí),它會(huì)自動(dòng)創(chuàng)建。在進(jìn)行創(chuàng)建或升級(jí)時(shí),它會(huì)自動(dòng)創(chuàng)建。在進(jìn)行普通的數(shù)據(jù)庫(kù)操作時(shí),普通的數(shù)據(jù)庫(kù)操作時(shí),OracleOracle數(shù)據(jù)庫(kù)服數(shù)據(jù)庫(kù)服務(wù)器不允許刪除務(wù)器不允許刪除SYSAUXSYSAUX表空間,也不能表空間,也不能對(duì)其進(jìn)行改名操作。對(duì)其進(jìn)行改名操作。p撤銷表空間:每個(gè)數(shù)據(jù)庫(kù)中都可以包含撤銷表空間:每個(gè)數(shù)據(jù)庫(kù)中都可以包含多個(gè)多個(gè)undoundo表空間,在自動(dòng)撤銷管理模式表

32、空間,在自動(dòng)撤銷管理模式中,每個(gè)中,每個(gè)OracleOracle實(shí)例都指定了唯一一個(gè)實(shí)例都指定了唯一一個(gè)undoundo表空間。表空間。UndoUndo區(qū)間由區(qū)間由OracleOracle自動(dòng)創(chuàng)自動(dòng)創(chuàng)建并維護(hù)。建并維護(hù)。p臨時(shí)表空間:如果系統(tǒng)表空間是本地的,臨時(shí)表空間:如果系統(tǒng)表空間是本地的,則在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)至少要?jiǎng)?chuàng)建一個(gè)默認(rèn)則在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)至少要?jiǎng)?chuàng)建一個(gè)默認(rèn)的臨時(shí)表空間。如果刪除所有的臨時(shí)表的臨時(shí)表空間。如果刪除所有的臨時(shí)表空間,則空間,則SYSTEMSYSTEM表空間被用作臨時(shí)表空表空間被用作臨時(shí)表空間。間。p在線和離線表空間:除了在線和離線表空間:除了SYSTEMSYSTEM表空間表空間

33、外,數(shù)據(jù)庫(kù)管理員可以將其他任何表空外,數(shù)據(jù)庫(kù)管理員可以將其他任何表空間設(shè)置為在線和離線狀態(tài)。間設(shè)置為在線和離線狀態(tài)。p表空間和方案的關(guān)系:表空間和方案的關(guān)系: 同一方案中的對(duì)象可以存儲(chǔ)在不同的同一方案中的對(duì)象可以存儲(chǔ)在不同的 表空間中。表空間中。 表空間可以存儲(chǔ)不同方案中的對(duì)象。表空間可以存儲(chǔ)不同方案中的對(duì)象。表空間表空間p數(shù)據(jù)庫(kù)、表空間和數(shù)據(jù)文件的關(guān)系數(shù)據(jù)庫(kù)、表空間和數(shù)據(jù)文件的關(guān)系p每個(gè)表空間由一個(gè)或多個(gè)數(shù)據(jù)文件組成。數(shù)據(jù)文件用于在每個(gè)表空間由一個(gè)或多個(gè)數(shù)據(jù)文件組成。數(shù)據(jù)文件用于在物理上存儲(chǔ)表空間中所有邏輯結(jié)構(gòu)的數(shù)據(jù)。物理上存儲(chǔ)表空間中所有邏輯結(jié)構(gòu)的數(shù)據(jù)。p表空間中數(shù)據(jù)文件的大小之和就是表空

34、間的存儲(chǔ)容量(圖表空間中數(shù)據(jù)文件的大小之和就是表空間的存儲(chǔ)容量(圖中系統(tǒng)表空間存儲(chǔ)容量為中系統(tǒng)表空間存儲(chǔ)容量為2MB2MB,用戶表空間的存儲(chǔ)容量為,用戶表空間的存儲(chǔ)容量為4MB4MB)。)。p數(shù)據(jù)庫(kù)中表空間的存儲(chǔ)容量之和就是數(shù)據(jù)庫(kù)的存儲(chǔ)容量。數(shù)據(jù)庫(kù)中表空間的存儲(chǔ)容量之和就是數(shù)據(jù)庫(kù)的存儲(chǔ)容量。1.2.4數(shù)據(jù)庫(kù)物理結(jié)構(gòu)數(shù)據(jù)庫(kù)物理結(jié)構(gòu) p 物理結(jié)構(gòu)由構(gòu)成數(shù)據(jù)庫(kù)的操作系統(tǒng)文物理結(jié)構(gòu)由構(gòu)成數(shù)據(jù)庫(kù)的操作系統(tǒng)文件所決定。件所決定。p 每個(gè)每個(gè)OracleOracle數(shù)據(jù)庫(kù)都由數(shù)據(jù)庫(kù)都由3 3種類型的文件種類型的文件組成:數(shù)據(jù)文件、日志文件和控制文組成:數(shù)據(jù)文件、日志文件和控制文件。件。 數(shù)據(jù)文件數(shù)據(jù)文件 p

35、 OracleOracle數(shù)據(jù)庫(kù)有一個(gè)或多個(gè)物理的數(shù)數(shù)據(jù)庫(kù)有一個(gè)或多個(gè)物理的數(shù)據(jù)文件。數(shù)據(jù)庫(kù)的數(shù)據(jù)文件包含全部據(jù)文件。數(shù)據(jù)庫(kù)的數(shù)據(jù)文件包含全部數(shù)據(jù)庫(kù)數(shù)據(jù)。邏輯數(shù)據(jù)物理地存儲(chǔ)在數(shù)據(jù)庫(kù)數(shù)據(jù)。邏輯數(shù)據(jù)物理地存儲(chǔ)在數(shù)據(jù)文件中。數(shù)據(jù)文件有下列特征:數(shù)據(jù)文件中。數(shù)據(jù)文件有下列特征:p一個(gè)數(shù)據(jù)文件僅與一個(gè)數(shù)據(jù)庫(kù)聯(lián)系。一個(gè)數(shù)據(jù)文件僅與一個(gè)數(shù)據(jù)庫(kù)聯(lián)系。p當(dāng)數(shù)據(jù)庫(kù)容量越界時(shí),數(shù)據(jù)文件能夠自動(dòng)擴(kuò)展。當(dāng)數(shù)據(jù)庫(kù)容量越界時(shí),數(shù)據(jù)文件能夠自動(dòng)擴(kuò)展。1.1.一個(gè)或多個(gè)數(shù)據(jù)文件組成一個(gè)表空間。一個(gè)或多個(gè)數(shù)據(jù)文件組成一個(gè)表空間。日志文件日志文件 p 每個(gè)數(shù)據(jù)庫(kù)有兩個(gè)或多個(gè)日志文件組,日志文件組用于收集數(shù)據(jù)庫(kù)日志。p 日志的主要功

36、能是記錄對(duì)數(shù)據(jù)所作的修改,所以對(duì)數(shù)據(jù)庫(kù)作的全部修改記錄在日志中。 p 為了防止日志文件本身的故障,Oracle允許鏡像日志,在不同磁盤上維護(hù)兩個(gè)或多個(gè)日志副本??刂莆募刂莆募?p 每個(gè)每個(gè)OracleOracle數(shù)據(jù)庫(kù)有一個(gè)控制文數(shù)據(jù)庫(kù)有一個(gè)控制文件,記錄數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)。件,記錄數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)。p 控制文件包含數(shù)據(jù)庫(kù)名、數(shù)據(jù)庫(kù)控制文件包含數(shù)據(jù)庫(kù)名、數(shù)據(jù)庫(kù)數(shù)據(jù)文件和日志文件的名字、位置數(shù)據(jù)文件和日志文件的名字、位置和數(shù)據(jù)庫(kù)建立日期等信息。和數(shù)據(jù)庫(kù)建立日期等信息。控制文件控制文件 控制文件控制文件(Control FileControl File)是一個(gè)較小的二進(jìn)制是一個(gè)較小的二進(jìn)制文件,用

37、于描述數(shù)據(jù)庫(kù)結(jié)構(gòu)。文件,用于描述數(shù)據(jù)庫(kù)結(jié)構(gòu)。描述信息如下:描述信息如下:p數(shù)據(jù)庫(kù)建立的日期。數(shù)據(jù)庫(kù)建立的日期。p數(shù)據(jù)庫(kù)名。數(shù)據(jù)庫(kù)名。p數(shù)據(jù)庫(kù)中所有數(shù)據(jù)數(shù)據(jù)庫(kù)中所有數(shù)據(jù)文件和日志文件的文件和日志文件的文件名及路徑。文件名及路徑。p恢復(fù)數(shù)據(jù)庫(kù)時(shí)所需恢復(fù)數(shù)據(jù)庫(kù)時(shí)所需的同步信息。的同步信息。要點(diǎn)注意:要點(diǎn)注意:p在打開(kāi)和存取數(shù)據(jù)庫(kù)時(shí)在打開(kāi)和存取數(shù)據(jù)庫(kù)時(shí)都要訪問(wèn)該文件。都要訪問(wèn)該文件。p記錄控制文件名及路徑記錄控制文件名及路徑的參數(shù)為:的參數(shù)為:CONTROL_FILES1.2.5數(shù)據(jù)庫(kù)例程數(shù)據(jù)庫(kù)例程 p每個(gè)運(yùn)行的每個(gè)運(yùn)行的OracleOracle數(shù)據(jù)庫(kù)都對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù)都對(duì)應(yīng)一個(gè)OracleOracle

38、例程(例程(InstanceInstance),也可以稱為),也可以稱為實(shí)例。實(shí)例。p當(dāng)數(shù)據(jù)庫(kù)服務(wù)器上的一個(gè)數(shù)據(jù)庫(kù)啟動(dòng)時(shí),當(dāng)數(shù)據(jù)庫(kù)服務(wù)器上的一個(gè)數(shù)據(jù)庫(kù)啟動(dòng)時(shí),OracleOracle將分配一塊內(nèi)存區(qū)間,叫做系統(tǒng)將分配一塊內(nèi)存區(qū)間,叫做系統(tǒng)全局區(qū)(全局區(qū)(SGASGA),并啟動(dòng)一個(gè)或多個(gè)),并啟動(dòng)一個(gè)或多個(gè)OracleOracle進(jìn)程。進(jìn)程。pSGASGA和和OracleOracle進(jìn)程結(jié)合在一起,就是一個(gè)進(jìn)程結(jié)合在一起,就是一個(gè)OracleOracle例程。例程。 例程例程(instance)(instance)p Oracle Oracle數(shù)據(jù)庫(kù)結(jié)構(gòu)又稱為例程結(jié)構(gòu)數(shù)據(jù)庫(kù)結(jié)構(gòu)又稱為例程結(jié)構(gòu).

39、.p 數(shù)據(jù)庫(kù)啟動(dòng)時(shí):數(shù)據(jù)庫(kù)啟動(dòng)時(shí): Oracle首先要在內(nèi)存中獲取、劃分、保留各種用途的區(qū)域,運(yùn)行各種用途的后臺(tái),即:創(chuàng)建一個(gè)例程(instance); 然后由該例程裝載(mount)、打開(kāi)(open)數(shù)據(jù)庫(kù); 最后由這個(gè)例程來(lái)訪問(wèn)和控制數(shù)據(jù)庫(kù)的各種物理結(jié)構(gòu)p如果把如果把OracleOracle數(shù)據(jù)庫(kù)比作一部汽車,數(shù)據(jù)庫(kù)比作一部汽車,instanceinstance相當(dāng)于汽車的發(fā)動(dòng)機(jī)一樣相當(dāng)于汽車的發(fā)動(dòng)機(jī)一樣, ,啟動(dòng)啟動(dòng)oracleoracle數(shù)據(jù)庫(kù)前數(shù)據(jù)庫(kù)前提應(yīng)先啟動(dòng)提應(yīng)先啟動(dòng)instance.instance.p當(dāng)用戶連接到數(shù)據(jù)庫(kù)并使用數(shù)據(jù)庫(kù)時(shí),實(shí)際當(dāng)用戶連接到數(shù)據(jù)庫(kù)并使用數(shù)據(jù)庫(kù)時(shí),實(shí)際

40、上是連接到該數(shù)據(jù)庫(kù)的例程,通過(guò)例程來(lái)連上是連接到該數(shù)據(jù)庫(kù)的例程,通過(guò)例程來(lái)連接、使用數(shù)據(jù)庫(kù)。接、使用數(shù)據(jù)庫(kù)。p所以例程是用戶和數(shù)據(jù)庫(kù)之間的中間層。所以例程是用戶和數(shù)據(jù)庫(kù)之間的中間層。p例程與數(shù)據(jù)庫(kù)的區(qū)別:例程與數(shù)據(jù)庫(kù)的區(qū)別: 數(shù)據(jù)庫(kù)指的是存儲(chǔ)數(shù)據(jù)的物理結(jié)構(gòu),總是實(shí)際存在的; 例程則是由內(nèi)存結(jié)構(gòu)和一系列進(jìn)程組成,可以啟動(dòng)和關(guān)閉。 1.2.6內(nèi)部存儲(chǔ)結(jié)構(gòu)內(nèi)部存儲(chǔ)結(jié)構(gòu) p內(nèi)存結(jié)構(gòu)是內(nèi)存結(jié)構(gòu)是OracleOracle數(shù)據(jù)庫(kù)體系中最為重要數(shù)據(jù)庫(kù)體系中最為重要的一部分,內(nèi)存也是影響數(shù)據(jù)庫(kù)性能的的一部分,內(nèi)存也是影響數(shù)據(jù)庫(kù)性能的第一因素第一因素. .p按照內(nèi)存的使用方法的不同按照內(nèi)存的使用方法的不同,Ora

41、cle,Oracle數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)的內(nèi)存又可以分為的內(nèi)存又可以分為SGA(System Global Area)SGA(System Global Area)和和PGA(Program Global Area).PGA(Program Global Area).內(nèi)存結(jié)構(gòu)內(nèi)存結(jié)構(gòu)p 系統(tǒng)全局區(qū)(系統(tǒng)全局區(qū)(System Global AreaSystem Global Area,SGASGA)p 程序全局區(qū)(程序全局區(qū)(Program Global AreaProgram Global Area,PGAPGA) 系統(tǒng)全局區(qū)系統(tǒng)全局區(qū)(SGA)(SGA)SGA是是ORACLEORACLE系統(tǒng)為實(shí)例分

42、配的一組共享緩系統(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.SGA. 它是不同用戶進(jìn)程與服務(wù)進(jìn)程進(jìn)行通信的它是不同用戶進(jìn)程與服務(wù)進(jìn)程進(jìn)行通信的中心中心, ,數(shù)據(jù)庫(kù)的各種操作主要在數(shù)據(jù)庫(kù)的各種操作主要在SGASGA中進(jìn)行中進(jìn)行, ,所所以稱其為系統(tǒng)全局區(qū)以稱其為系統(tǒng)全局區(qū). . 創(chuàng)建例程時(shí)創(chuàng)建例程時(shí),Oracle,Oracle為為SGASGA分配內(nèi)存分配內(nèi)存; ; 終止例程時(shí)終止例程時(shí), ,釋放釋放SGASGA所占用的內(nèi)存所占用

43、的內(nèi)存. .數(shù)據(jù)庫(kù)緩沖區(qū)數(shù)據(jù)庫(kù)緩沖區(qū)(Database Buffer Cache)(Database Buffer Cache)p保存最近從數(shù)據(jù)文件中讀取的數(shù)據(jù)塊保存最近從數(shù)據(jù)文件中讀取的數(shù)據(jù)塊, ,其其中的數(shù)據(jù)被所有用戶共享中的數(shù)據(jù)被所有用戶共享. .p兩個(gè)參數(shù)影響兩個(gè)參數(shù)影響DBCDBC: DB_BLOCK_SIZE 緩沖區(qū)數(shù)據(jù)塊大小 DB_BLOCK_BUFFERS 緩沖區(qū)數(shù)據(jù)塊個(gè)數(shù)重做日志緩沖區(qū)重做日志緩沖區(qū)p當(dāng)執(zhí)行當(dāng)執(zhí)行DML(Data Manipulation Language, DML(Data Manipulation Language, 數(shù)據(jù)操縱語(yǔ)言數(shù)據(jù)操縱語(yǔ)言) )如如:u

44、pdate:update、deletedelete、insertinsert或或者者createcreate、alteralter、drop drop 等語(yǔ)句時(shí)等語(yǔ)句時(shí),Oracle,Oracle都會(huì)都會(huì)為這些操作生成重做記錄為這些操作生成重做記錄. .p重做日志高速緩沖區(qū)就是用于存儲(chǔ)重做重做日志高速緩沖區(qū)就是用于存儲(chǔ)重做記錄的緩存記錄的緩存. .重做日志緩存工作原理重做日志緩存工作原理日志寫進(jìn)程日志寫進(jìn)程歸檔進(jìn)程歸檔進(jìn)程p為提高效率為提高效率, ,重做記錄并不直接寫入磁盤的重做日志文件重做記錄并不直接寫入磁盤的重做日志文件, ,而而是先寫入重做日志緩存是先寫入重做日志緩存; ;p當(dāng)重做日志緩

45、存中的重做記錄達(dá)到一定數(shù)量時(shí)當(dāng)重做日志緩存中的重做記錄達(dá)到一定數(shù)量時(shí), ,由由LGWRLGWR進(jìn)進(jìn)程寫入重做日志程寫入重做日志.( .(先內(nèi)存后磁盤先內(nèi)存后磁盤) )共享池共享池(Shared Pool)(Shared Pool) 共享池保存了最近執(zhí)行的共享池保存了最近執(zhí)行的SQLSQL語(yǔ)句、語(yǔ)句、PL/SQLPL/SQL程序和數(shù)據(jù)字典信息程序和數(shù)據(jù)字典信息, ,是對(duì)是對(duì)SQLSQL語(yǔ)語(yǔ)句和句和PL/SQLPL/SQL程序進(jìn)行語(yǔ)法分析、編譯、程序進(jìn)行語(yǔ)法分析、編譯、執(zhí)行的內(nèi)存區(qū)執(zhí)行的內(nèi)存區(qū). .JavaJava池池 8i 8i以后提供的對(duì)以后提供的對(duì)JavaJava的支持的支持, ,用于存放用

46、于存放JavaJava代代碼、碼、JavaJava程序等程序等. . 一般不小于一般不小于20M,20M,以便虛擬機(jī)運(yùn)行以便虛擬機(jī)運(yùn)行. .大池大池大池用于需要大內(nèi)存操作提供相對(duì)獨(dú)立的內(nèi)存空間,大池用于需要大內(nèi)存操作提供相對(duì)獨(dú)立的內(nèi)存空間,以便提高性能。以便提高性能。大池是可選的內(nèi)存結(jié)構(gòu)。大池是可選的內(nèi)存結(jié)構(gòu)。 DBADBA可以決定是否需要在可以決定是否需要在SGASGA中創(chuàng)建大池。中創(chuàng)建大池。 需要大池的操作需要大池的操作: : 數(shù)據(jù)庫(kù)備份和恢復(fù)數(shù)據(jù)庫(kù)備份和恢復(fù) 大量排序的大量排序的SQLSQL語(yǔ)句語(yǔ)句 并行化的數(shù)據(jù)庫(kù)操作并行化的數(shù)據(jù)庫(kù)操作數(shù)據(jù)字典緩沖區(qū)數(shù)據(jù)字典緩沖區(qū)在在OracleOrac

47、le運(yùn)行過(guò)程中運(yùn)行過(guò)程中,Oracle,Oracle會(huì)頻繁的對(duì)數(shù)據(jù)字典中會(huì)頻繁的對(duì)數(shù)據(jù)字典中的表、視圖進(jìn)行訪問(wèn),以便確定操作的數(shù)據(jù)對(duì)的表、視圖進(jìn)行訪問(wèn),以便確定操作的數(shù)據(jù)對(duì)象是否存在、是否具有合適的權(quán)限等信息。象是否存在、是否具有合適的權(quán)限等信息。 數(shù)據(jù)字典緩沖區(qū)保存了最常用的數(shù)據(jù)字典信數(shù)據(jù)字典緩沖區(qū)保存了最常用的數(shù)據(jù)字典信息。息。 數(shù)據(jù)字典緩存中存放的記錄是一條一條的數(shù)據(jù)字典緩存中存放的記錄是一條一條的, , 而其他緩存區(qū)中保存的是數(shù)據(jù)塊而其他緩存區(qū)中保存的是數(shù)據(jù)塊. .PGA(Program Global Area)PGA(Program Global Area) PGA PGA是用戶進(jìn)程

48、連接到數(shù)據(jù)庫(kù)是用戶進(jìn)程連接到數(shù)據(jù)庫(kù), ,并創(chuàng)建一個(gè)對(duì)并創(chuàng)建一個(gè)對(duì)應(yīng)的會(huì)話時(shí),由應(yīng)的會(huì)話時(shí),由OracleOracle為服務(wù)進(jìn)程分配的,專為服務(wù)進(jìn)程分配的,專門用于當(dāng)前用戶會(huì)話的內(nèi)存區(qū)。門用于當(dāng)前用戶會(huì)話的內(nèi)存區(qū)。 PGAPGA是非共享的,而是非共享的,而SGASGA是共享的。是共享的。 PGAPGA大小由操作系統(tǒng)決定,并且分配后保持大小由操作系統(tǒng)決定,并且分配后保持不變;不變; 會(huì)話終止時(shí),自動(dòng)釋放會(huì)話終止時(shí),自動(dòng)釋放PGAPGA所占的內(nèi)存。所占的內(nèi)存。 1.2.7 進(jìn)程結(jié)構(gòu)進(jìn)程結(jié)構(gòu)進(jìn)程是操作系統(tǒng)中的一個(gè)概念,是一個(gè)可進(jìn)程是操作系統(tǒng)中的一個(gè)概念,是一個(gè)可以獨(dú)立調(diào)用的活動(dòng),用于完成指定的任以獨(dú)立

49、調(diào)用的活動(dòng),用于完成指定的任務(wù)。務(wù)。 進(jìn)程與程序的區(qū)別是:進(jìn)程與程序的區(qū)別是: 進(jìn)程是動(dòng)態(tài)創(chuàng)建的,完成后銷毀;程序是靜態(tài)的實(shí)體,可以復(fù)制、編輯。 進(jìn)程強(qiáng)調(diào)執(zhí)行過(guò)程,程序僅僅是指令的有序集合。 進(jìn)程在內(nèi)存中,程序在外存中。進(jìn)程結(jié)構(gòu)進(jìn)程結(jié)構(gòu) p用戶進(jìn)程用戶進(jìn)程 運(yùn)行應(yīng)用程序或運(yùn)行應(yīng)用程序或OracleOracle工具。工具。pOracleOracle進(jìn)程進(jìn)程 運(yùn)行運(yùn)行OracleOracle服務(wù)服務(wù)器代碼。器代碼。OracleOracle進(jìn)程包括服務(wù)器進(jìn)程包括服務(wù)器進(jìn)程和后臺(tái)進(jìn)程。進(jìn)程和后臺(tái)進(jìn)程。用戶進(jìn)程用戶進(jìn)程 當(dāng)用戶運(yùn)行一個(gè)應(yīng)用程序時(shí),就建立當(dāng)用戶運(yùn)行一個(gè)應(yīng)用程序時(shí),就建立一個(gè)用戶進(jìn)程。一個(gè)用

50、戶進(jìn)程。服務(wù)進(jìn)程服務(wù)進(jìn)程服務(wù)進(jìn)程 處理用戶進(jìn)程的請(qǐng)求。處理用戶進(jìn)程的請(qǐng)求。 處理過(guò)程分析SQL命令并生成執(zhí)行方案。從數(shù)據(jù)緩沖存儲(chǔ)區(qū)中讀取數(shù)據(jù)。將執(zhí)行結(jié)果返回給用戶。后臺(tái)進(jìn)程后臺(tái)進(jìn)程主要的后臺(tái)進(jìn)程有主要的后臺(tái)進(jìn)程有 DBWn 數(shù)據(jù)庫(kù)寫進(jìn)程 LGWR 日志寫進(jìn)程 CKPT 檢查點(diǎn)寫進(jìn)程 SMON 系統(tǒng)監(jiān)控進(jìn)程 PMON 進(jìn)程監(jiān)控進(jìn)程 ARCH 歸檔進(jìn)程 RECO 恢復(fù)進(jìn)程 LCKn 封鎖進(jìn)程1.2.8應(yīng)用程序結(jié)構(gòu)應(yīng)用程序結(jié)構(gòu) p客戶客戶/ /服務(wù)器結(jié)構(gòu)服務(wù)器結(jié)構(gòu) 1.2.8應(yīng)用程序結(jié)構(gòu)應(yīng)用程序結(jié)構(gòu)p 多層結(jié)構(gòu)是多層結(jié)構(gòu)是對(duì)客戶對(duì)客戶/ /服務(wù)服務(wù)器結(jié)構(gòu)的一器結(jié)構(gòu)的一種擴(kuò)展:種擴(kuò)展:p客戶端??蛻舳?/p>

51、。p應(yīng)用程序服務(wù)應(yīng)用程序服務(wù)器。器。p數(shù)據(jù)庫(kù)服務(wù)器。數(shù)據(jù)庫(kù)服務(wù)器。1.1. Oracle Net Oracle Net ServicesServices 服 務(wù) 器 客 戶 端 客 戶 端 客 戶 端 服 務(wù) 器 服 務(wù) 器 應(yīng) 用 程 序 服 務(wù) 器1 應(yīng) 用 程 序 服 務(wù) 器2 應(yīng) 用 程 序 服 務(wù) 器n 服 務(wù) 器 服 務(wù) 器 服 務(wù) 器 請(qǐng) 求 查詢 數(shù)據(jù) 1.2.9 事務(wù)事務(wù) p事務(wù)是包含一組數(shù)據(jù)庫(kù)操作的邏輯工事務(wù)是包含一組數(shù)據(jù)庫(kù)操作的邏輯工作單元。在事務(wù)中包含的數(shù)據(jù)庫(kù)操作是不作單元。在事務(wù)中包含的數(shù)據(jù)庫(kù)操作是不可分割的整體,要么一起被執(zhí)行,要么回可分割的整體,要么一起被執(zhí)行,要么回滾到執(zhí)行事務(wù)之前的狀態(tài)。滾到執(zhí)行事務(wù)之前的狀態(tài)。p事務(wù)做為一個(gè)邏輯工作單元

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論