Oracle-10g體系結(jié)構(gòu)V1.0_第1頁
Oracle-10g體系結(jié)構(gòu)V1.0_第2頁
Oracle-10g體系結(jié)構(gòu)V1.0_第3頁
Oracle-10g體系結(jié)構(gòu)V1.0_第4頁
Oracle-10g體系結(jié)構(gòu)V1.0_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Oracle 10g 體系結(jié)構(gòu)概述數(shù)據(jù)庫 (DATABASE.)實例 (INSTANCE)內(nèi)存結(jié)構(gòu)目錄4.1 PGA(PROGRAMGLOBALAREA) 程序全局區(qū) 4.2 SGA(SYSTEMGLOBALAREA) 系統(tǒng)全局區(qū) 數(shù)據(jù)庫高速緩沖區(qū) (Database Buffer Cache) 共享池 (Shared Pool) 重做日志緩沖區(qū) Java Pool 4.2.14.2.24.2.34.2.44.2.54.2.64.2.7Lagre Pool .Stream Pool排序區(qū) .ORACLE的存儲結(jié)構(gòu)5.1 數(shù)據(jù)庫的邏輯結(jié)構(gòu) 5.2 數(shù)據(jù)庫的邏輯結(jié)構(gòu)的說明 表空間( Tablesp

2、ace) 表空間、段、區(qū)、塊他們之間的關(guān)系ORACLE自動創(chuàng)建的表空間段區(qū)塊物理存儲結(jié)構(gòu) 控制文件 數(shù)據(jù)文件 重做日志文件 5.2.15.2.25.2.35.2.45.2.55.2.65.35.3.15.3.25.3.310101111111112141414141515概述RACLE10g數(shù)據(jù)庫系統(tǒng)為具有管理 ORACLE1Og數(shù)據(jù)庫功能的計算機(jī)系統(tǒng)。ORACLE1Og數(shù)據(jù)庫服務(wù)器指的是數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫的總和。OraclelOg體系結(jié)構(gòu)是指 OraclelOg數(shù)據(jù)庫服務(wù)器的主要組成以及這些組成部分之間的聯(lián)系和操作方式。OraclelOg數(shù)據(jù)庫服務(wù)器從宏觀的方面來講包括數(shù)據(jù)庫(DB)和實

3、例(Instanee),其整體結(jié)構(gòu)如圖1-1所示:圖1-1 ORACLEIog數(shù)據(jù)庫整體結(jié)構(gòu)2 數(shù)據(jù)庫 (DataBase)數(shù)據(jù)庫是一個數(shù)據(jù)的集合,不僅是指物理上的數(shù)據(jù),也指物理、存儲及進(jìn)程對象的一個組合。3 實例(Instanee)數(shù)據(jù)庫實例(也稱為服務(wù)器Server)就是用來訪問一個數(shù)據(jù)庫文件集的一個存儲結(jié)構(gòu)及后臺進(jìn)程的集合。它使一個單獨的數(shù)據(jù)庫可以被一個實例或多個實例訪問(也就是ORACLE并行服務(wù)器-OPS。實例和數(shù)據(jù)庫的關(guān)系如圖3-1和如圖3-2所示:圖3-1 (單實例訪問)實例1SGA+iS 程實例2EGA+ifi 程I類據(jù)庫(一蛆數(shù)據(jù)文件)圖3-2 (多實例訪問)注:決定實例的組

4、成及大小的參數(shù)存儲在init.ora文件中。要想訪問數(shù)據(jù)庫就要先啟動實例,啟動實例oracle就會分配一片被稱為 SGA內(nèi)存結(jié)構(gòu),并啟動一系列的后臺進(jìn)程。SGA中存放的是數(shù)據(jù)庫的信息,這些信息被后臺進(jìn)程所共享。實例和數(shù)據(jù)庫的關(guān)系是多對一的關(guān)系,一個實例可以驅(qū)動一個數(shù)據(jù)庫,也可以是多個實例驅(qū)動一個數(shù)據(jù)庫,多個實例驅(qū)動一個數(shù)據(jù)庫就被稱為集群RA( Real Application Cluster)。內(nèi)存結(jié)構(gòu)4.1 PGA(Program Global Area) 程序全局區(qū)用來存放的是服務(wù)器進(jìn)程的數(shù)據(jù)和控制信息。4.2 SGA(System Global Area) 系統(tǒng)全局區(qū)SGA(System

5、 Global Area)是系統(tǒng)全局區(qū),是用來存放數(shù)據(jù)庫例程的數(shù)據(jù)和控制信息的,這部分信息是共享的。 當(dāng)有多個用戶并發(fā)的連接到數(shù)據(jù)庫的例程的時候, 它們可以共享 SGA中的信息。sga 區(qū)。它是不同用戶進(jìn)sga區(qū)是例程內(nèi)存結(jié)構(gòu)的主要組成部分,每個例程都只有一個 sga區(qū),當(dāng)多個用戶同時連接到一個例程時,所有的用戶進(jìn)程,服務(wù)進(jìn)程都可以共享使用程與服務(wù)進(jìn)程進(jìn)行通信的中心,數(shù)據(jù)庫的各種操作主要都在sga區(qū)中進(jìn)行,sga使用內(nèi)存最多,同時也是影響數(shù)據(jù)庫性能的最大參數(shù)。sga 是一塊用于加載數(shù)據(jù),對象并保存運行狀態(tài)和數(shù)據(jù)庫控制信息的一塊內(nèi)存區(qū)域,在數(shù)據(jù)庫實例啟動時分配,當(dāng)實例關(guān)閉時釋放,每 個實例都用于

6、自己的 sga 區(qū)。當(dāng)數(shù)據(jù)庫啟動到 nomount 狀態(tài)時, sga 區(qū)已經(jīng)分配,同時啟 動后臺進(jìn)程。SGA的各個不同區(qū)的用途為:4.2.1 數(shù)據(jù)庫高速緩沖區(qū) (Database Buffer Cache)存放的是數(shù)據(jù)文件的副本,所有連接到數(shù)據(jù)庫的用戶都可以共享數(shù)據(jù)庫高速緩沖區(qū)中的數(shù)據(jù)1)Default( 默認(rèn)池 )默認(rèn)數(shù)據(jù)都放在這個池中緩存,如果有些數(shù)據(jù)長期不用,數(shù)據(jù)會被踢出緩存2)KeeP(保存池)般將訪問比較頻繁的數(shù)據(jù)放在這個池中。此池的數(shù)據(jù)一直保存(除非其他段要數(shù)據(jù)),數(shù)據(jù)不會被踢出3)Recycle(回收池)一般重做事務(wù)日志就幾 M, 超過了 3M就沒意義了。是將不適合緩存的數(shù)據(jù)放在

7、這個池中,以免因為這個數(shù)據(jù)比較大,將其他池的數(shù)據(jù)踢出緩存?;厥粘匾∫恍?,以保證大的數(shù)據(jù)快速進(jìn)入和離開緩存。4.2.2共享池 (Shared Pool)1)庫緩沖區(qū)用來運行的P L/SQL代碼和存放使用過的 SQL語句2)字典緩沖區(qū)數(shù)據(jù)庫對象信息被存放在數(shù)據(jù)字典表中,數(shù)據(jù)庫對象信息包括用戶帳號數(shù)據(jù)、 數(shù)據(jù)文件名、段名、盤區(qū)的位置、表的說明及權(quán)限。當(dāng)數(shù)據(jù)庫需要這些信息的 時候就會去讀取數(shù)據(jù)字典表,把這些信息放到字典緩沖區(qū)中說明:共享池一般不會很大,也就 300-500M 就可以了4.2.3 重做日志緩沖區(qū)將數(shù)據(jù)寫到在線重做日志當(dāng)中, 則在寫到磁盤前要在重做緩存區(qū)中臨時緩存一些數(shù)據(jù)。數(shù)據(jù)不會在“重

8、做緩存區(qū)”里停留很長時間,LGWR(Log Writer)會在以下情況下觸發(fā):1)每 3 秒一次;2)無論何時提交請求 (commit) ;3)LGWR切換日志時;4)重做日志區(qū) 1/3 滿時,或者包含了1M 日志數(shù)據(jù)時。424 Java Pool支持?jǐn)?shù)據(jù)庫中的java代碼。一般比較小4.2.5 Lagre Pool它用于“大塊”內(nèi)存的分配,共享池不會處理如此大的內(nèi)存。一般主要用于備份。10%4.2.6 Stream Pool設(shè)計數(shù)據(jù)庫的共享和復(fù)制,設(shè)計流池可以避免在流數(shù)據(jù)庫特性下“竊取”共享池 的空間。4.2.7排序區(qū)排序需要內(nèi)存空間,ORACLE利用該內(nèi)存排序數(shù)據(jù),這部分空間稱為排序區(qū)。排

9、序區(qū)存 在于請求排序的用戶進(jìn)程的內(nèi)存中,該空間的大小為適就排序數(shù)據(jù)量的大小,可增長,但 受初始化參數(shù)SORT_AREA_SIZE所限制關(guān)于排序區(qū)的設(shè)置是否有效:if (數(shù)據(jù)庫版本=10gR1 )the nif (workarea_size_ policy=auto)the nsort area size無效elsesort area size有效end ifelse -數(shù)據(jù)庫版本< 10gr1if ( shared server連接方式)the nsort area size 有效else - dedicated server連接方式if (workarea_size_ policy=a

10、uto) the nsort area size 無效elsesort area size 有效end ifend ifend if數(shù)據(jù)庫版本在 10gR1 之后,workarea_size_policy 設(shè)置為 MANUAL 時,SORT_AREA_SIZER 有效。版本在10gR1之前,當(dāng)連接方式為共享服務(wù)器時,SORT_AREA_SIZE有效。當(dāng)為專屬服務(wù)器時,workarea_size_policy 設(shè)置為 MANUAL 時,SORT_AREA_SIZE有效。Oracle的存儲結(jié)構(gòu)3層,如圖ORACLEIOg數(shù)據(jù)庫的存儲結(jié)構(gòu)是指邏輯結(jié)構(gòu)在物理上是如何實現(xiàn)的,共有5-1所示。圖5-1數(shù)據(jù)

11、庫的存儲結(jié)構(gòu)ORACLE數(shù)據(jù)庫的存儲結(jié)構(gòu)分為邏輯存儲結(jié)構(gòu)和物理存儲結(jié)構(gòu)。邏輯存儲結(jié)構(gòu)主要描述 ORACLE數(shù)據(jù)庫的內(nèi)部存儲結(jié)構(gòu),物理存儲結(jié)構(gòu)主要描述數(shù)據(jù)庫的外部存儲結(jié)構(gòu)。從物理上看數(shù)據(jù)庫由控制文件、數(shù)據(jù)文件、重做日志文件、初始化參 數(shù)文件等操作系統(tǒng)文件組成。從邏輯上看數(shù)據(jù)庫是由表空間組成的。表空間是最大的邏輯單位,塊是最小的邏輯單 位。5.1數(shù)據(jù)庫的邏輯結(jié)構(gòu)Oracle 10g數(shù)據(jù)庫的邏輯結(jié)構(gòu)主要指從數(shù)據(jù)庫使用者的角度來考查的數(shù)據(jù)庫的組成,圖5-2數(shù)據(jù)庫的邏輯結(jié)構(gòu)5.2數(shù)據(jù)庫的邏輯結(jié)構(gòu)的說明5.2.1 表空間(Tables pace)數(shù)據(jù)庫可以劃分成表空間。每個表空間都是相關(guān)對象的一個分組。表

12、空間包含一個或多個段,每個表空間只能屬于一個數(shù)據(jù)庫,但是一個數(shù)據(jù)庫可以包含多個表空間。5.2.2表空間、段、區(qū)、塊他們之間的關(guān)系多個塊組成區(qū)、多個區(qū)組成段、多個段組成表空間、多個表空間組成邏輯數(shù)據(jù)庫。表空間是最大的邏輯單位,一個數(shù)據(jù)庫由多個表空間組成、一個表空間可以包含多個數(shù)據(jù)文件,但一個數(shù)據(jù)文件只能屬于一個表空間。5.2.3 ORACLE自動創(chuàng)建的表空間1) SYSTEM系統(tǒng)表空間用來存放表空間名稱、控制文件、數(shù)據(jù)字典、數(shù)據(jù)文件等信息;2)SYSAUX表空間SYSAUX表空間是新引進(jìn)的用來存儲與 ORACLE供給特性有關(guān)的方案對象;3)TEMP表空間臨時表空間存放臨時表和臨時數(shù)據(jù)用于排序。4

13、)工具表空間( Tools tablespace)用于保存 Oracle 數(shù)據(jù)庫工具所需的數(shù)據(jù)庫對象,這些工具表空間存放在工作時所用的專用表。舊的Oracle 版本無此表空間。安裝之后的工具表空間是Tools。5)用戶表空間( Users tablespace)用于存放一些實驗例子用的空間,當(dāng)然也可以用于存放應(yīng)用系統(tǒng)的數(shù)據(jù)。舊版本無 Users 表空間?,F(xiàn)在的用戶表空間為USERS 。6)數(shù)據(jù)及索引表空間存放數(shù)據(jù)及索引的表空間, Oracle7 以后都提倡在應(yīng)用系統(tǒng)中, 特別是具有大量數(shù)據(jù)的系統(tǒng),要把數(shù)據(jù)和索引分開存放在不同的分區(qū)中,以便提高查詢速度。在安裝后索引表空間可能是INDX。數(shù)據(jù)表空

14、間就是 USERS7)回滾段表空間( Rollback Segment)Oracle 數(shù)據(jù)庫系統(tǒng)在運行Insert 、Update 、Delete 時都需要一個磁盤空間來存放恢復(fù)信息( Undo Information ),以便在進(jìn)行恢復(fù)時能將原來信息讀出來。安裝后的回滾段表空間是 RBS表空間。數(shù)據(jù)庫管理員也可根據(jù)應(yīng)用的需要建立另外的回滾段表空間。5.2.4 段用于存儲表空間中某一種特定的、具有獨立存儲結(jié)構(gòu)的數(shù)據(jù)庫對象的數(shù)據(jù),它是由一個或多個連續(xù)的區(qū)組成。段隨著數(shù)據(jù)的增加而不斷變大,段的增大過程是通過增加區(qū)的個數(shù)而實現(xiàn)的,每個區(qū)的大小是塊的整數(shù)倍。下面是段類型:1)表段存儲表的所有數(shù)據(jù),當(dāng)用

15、戶創(chuàng)建表時就會在該用戶默認(rèn)的表空間中為該表分 配一個與表名相同的表段,以便將來存儲該表的所有數(shù)據(jù),顯然在一個表空 間中創(chuàng)建了幾個表在該表空間中就有幾個表段。SELECT SEGMENT_NAME, TABLESPACE_NAME, BYTES, BLOCKS FROMUSER_EXTENTS;查詢數(shù)據(jù)字典USER_EXTENT得到2)表分區(qū)段5)用于存儲分區(qū)表的所有數(shù)據(jù),當(dāng)用戶創(chuàng)建分區(qū)表時,就會在該用戶默認(rèn)的表 空間中為該表的每個分區(qū)分配一個表分區(qū)段,通過將一個大表的數(shù)據(jù)分散到不同的表分區(qū)段中,就能降低 I/O 次數(shù)、提高性能。3)索引段存儲索引的所有數(shù)據(jù),當(dāng)用戶使用CREATE INDE命令

16、創(chuàng)建索引或在定義約束而自動創(chuàng)建索引時,就會在該用戶的默認(rèn)表空間中為該索引分配一個與索引 名相同的索引段。SELECTINDEX_NAME, TABLE_OWER,TABLE_NAME, TABLESPACE_NAMEFROMUSER_INDEXS;查詢數(shù)據(jù)字典USER_INDEX得至4)索引分區(qū)段如果為分區(qū)表創(chuàng)建分區(qū)索引則會為每個分區(qū)索引分配一個索引分區(qū)段,功能 與表分區(qū)段相同。臨時段 用于存儲排序操作所產(chǎn)生的臨時數(shù)據(jù), 臨時數(shù)據(jù)首先會被暫存到排序區(qū) (PGA)6)中,當(dāng)排序區(qū)不足以暫存這些臨時數(shù)據(jù)時,則會在該用戶的臨時表空間中自 動創(chuàng)建一個臨時段用于暫存這些臨時數(shù)據(jù)排序結(jié)束時臨時段會自動消除

17、?;赝硕?存儲數(shù)據(jù)修改之前的位置和值,利用這些信息可以回退未提交的事務(wù),維護(hù) 數(shù)據(jù)庫的讀一致性,并能從例程的崩潰中進(jìn)行恢復(fù)。7)撤銷段5.2.5 區(qū)由物理上連續(xù)存放的塊組成,一個區(qū)只能屬于一個數(shù)據(jù)文件通過查詢DBA_EXTENT蹴可以知道已分配的區(qū),查詢DBA_FREE_S PAC就可以知道表空間中的空閑區(qū)。5.2.6 塊最小的數(shù)據(jù)管理單位即數(shù)據(jù)管理中輸入輸出的最小單位。5.3 物理存儲結(jié)構(gòu)物理存儲結(jié)構(gòu)由控制文件、數(shù)據(jù)文件、重做日志文件組成。物理存儲結(jié)構(gòu)與邏輯存儲結(jié)構(gòu)在操作上的一個區(qū)別是邏輯存儲結(jié)構(gòu)只有創(chuàng)建、刪除的操作而物理存儲結(jié)構(gòu)除了創(chuàng)建、刪除外還有一個將其移動到另一個位置的操作這樣可以實現(xiàn)

18、多路復(fù)用和將他們安排到不同 磁盤位置并更改名稱的功能了。5.3.1 控制文件ORACLE 10G裝完后自動創(chuàng)建的 3個控制文件如下:C:oracleproduct10.2.0oradataorclcontrol01.ctlC:oracleproduct10.2.0oradataorclcontrol02.ctlC:oracleproduct10.2.0oradataorclcontrol03.ctl6個5.3.2 數(shù)據(jù)文件數(shù)據(jù)文件是實際存儲插入到數(shù)據(jù)庫表中的實際數(shù)據(jù)的操作系統(tǒng)文件,自動創(chuàng)建的 表空間都有其對應(yīng)的數(shù)據(jù)文件C:oracleproduct10.2.0oradataorclexample01.dbfC:oracleproduct10.2.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論