日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

oracle筆記整理一[體系結(jié)構(gòu)簡介]

 moonboat 2008-11-12

一、物理存儲(chǔ)結(jié)構(gòu)
1、數(shù)據(jù)文件
存放數(shù)據(jù)庫數(shù)據(jù),以dbf為擴(kuò)展名。將數(shù)據(jù)放在多個(gè)數(shù)據(jù)文件中,
再將數(shù)據(jù)文件分放在不同的硬盤中,可以提高存取速度。數(shù)據(jù)文
件由數(shù)據(jù)塊構(gòu)成,塊大小由數(shù)據(jù)庫創(chuàng)建時(shí)確定。

2、重做日志文件,以rdo為擴(kuò)展名。含對(duì)數(shù)據(jù)庫所做的更改記錄,
這樣萬一出現(xiàn)故障可以啟用數(shù)據(jù)恢復(fù)。一個(gè)數(shù)據(jù)庫至少需要兩個(gè)
重做日志文件。重做日志在日志文件中以循環(huán)的方式工作。有
歸檔日志模式和非歸檔日志模式。

3、控制文件,以ctl或ctrl為擴(kuò)展名??刂莆募S護(hù)數(shù)據(jù)庫的全局
物理結(jié)構(gòu),記錄數(shù)據(jù)庫中所有文件的控制信息,每個(gè)數(shù)據(jù)庫至少
要有一個(gè)控制文件,建議用戶使用兩個(gè)或更多控制文件,并存放
在不同的磁盤上。Oracle系統(tǒng)通過控制文件保持?jǐn)?shù)據(jù)庫的完整性,
以及決定恢復(fù)數(shù)據(jù)時(shí)使用哪些重做日志。

4、參數(shù)文件,以ora為擴(kuò)展名。在一個(gè)數(shù)據(jù)庫啟動(dòng)時(shí),每個(gè)參數(shù)都有
一個(gè)默認(rèn)值,而參數(shù)文件中的設(shè)置值被用來更改默認(rèn)值,參數(shù)值
極大影響了oracle如何去執(zhí)行其不同的任務(wù)。參數(shù)文件包括以下
幾種:
<1>、初始化參數(shù)文件。當(dāng)創(chuàng)建一個(gè)數(shù)據(jù)庫時(shí),oracle創(chuàng)建了一個(gè)
默認(rèn)的init.ora文件,如果不修改任何參數(shù),oracle將用所有的
缺省值來啟動(dòng)數(shù)據(jù)庫,通常根據(jù)實(shí)際的應(yīng)用修改參數(shù)設(shè)置以提高
性能。
<2>、配置參數(shù)文件。一般被命名為config.ora,它被用于特定實(shí)
例的信息。這個(gè)文件是一個(gè)由init.ora文件調(diào)用或激活的文本文
件,init.ora中包含一個(gè)ifile參數(shù)以設(shè)置config.ora文件的位置。
既然一個(gè)數(shù)據(jù)庫可以有一個(gè)或多個(gè)實(shí)例與之關(guān)聯(lián),那么配置文件中
每一個(gè)參數(shù)對(duì)于不同的實(shí)例配置可能不同,當(dāng)然,如果和數(shù)據(jù)庫關(guān)
聯(lián)的實(shí)例只有一個(gè),所有信息都保存在文件init.ora中,那么
config.ora文件就不是必需的了。
<3>、服務(wù)器參數(shù)文件(spfile)。它被設(shè)計(jì)為一個(gè)服務(wù)器端的參
數(shù)文件,可以被認(rèn)為是在oracle數(shù)據(jù)庫服務(wù)器執(zhí)行的機(jī)器上被管理
的初始化參數(shù)的倉庫。一個(gè)服務(wù)器參數(shù)文件可以用語句CREATE
SPFILE從一個(gè)傳統(tǒng)的文件參數(shù)文件創(chuàng)建。

5、跟蹤文件與警告日志。
在實(shí)例中運(yùn)行的每一個(gè)后臺(tái)進(jìn)程都有一個(gè)跟蹤文件與之相連,跟蹤
文件記載后臺(tái)進(jìn)程遇到的重大事件信息。oracle還有一個(gè)稱做警告
日志的文件,用于記錄數(shù)據(jù)庫文件運(yùn)行中主要事件的命令與結(jié)果。

6、歸檔文件,以arc為擴(kuò)展名,是重做日志文件的脫機(jī)副本,這些副本
可能對(duì)于從介質(zhì)失敗中進(jìn)行恢復(fù)很必要。

二、邏輯存儲(chǔ)結(jié)構(gòu)
1、表空間。
一個(gè)表空間對(duì)應(yīng)一個(gè)或多個(gè)數(shù)據(jù)文件組成。一個(gè)表空間由段組成,
段由范圍組成,范圍由一組連續(xù)的數(shù)據(jù)塊組成,它們對(duì)應(yīng)磁盤上
的一個(gè)或多個(gè)物理塊。一個(gè)表空間只能屬于一個(gè)數(shù)據(jù)庫,每個(gè)數(shù)據(jù)
庫最少有一個(gè)表空間(SYSTEM表空間),該表空間包含整個(gè)數(shù)據(jù)庫
的數(shù)據(jù)字典表,在數(shù)據(jù)庫建立時(shí)自動(dòng)創(chuàng)建。利用增加數(shù)據(jù)文件的形
式可以擴(kuò)大表空間。表空間的大小為組成該表空間的數(shù)據(jù)文件的大
下之和。一個(gè)數(shù)據(jù)文件只能屬于一個(gè)表空間,一個(gè)數(shù)據(jù)文件一旦被
加入到一個(gè)表空間中,就不能再從這個(gè)表空間中移走,也不能再加
入到其他表空間中,建立新的表空間需要建立新的數(shù)據(jù)文件。

2、段:是邏輯數(shù)據(jù)庫對(duì)象的物理副本,段存儲(chǔ)數(shù)據(jù),例如索引段存儲(chǔ)
與索引相關(guān)的數(shù)據(jù)。段是一個(gè)物理實(shí)體,它被放到表空間的一個(gè)數(shù)
據(jù)文件上。一個(gè)段segment只能屬于一個(gè)表空間,但可以屬于多個(gè)數(shù)
據(jù)文件。

3、范圍:段由范圍組成,范圍由一組連續(xù)的數(shù)據(jù)塊組成。一旦段中的
現(xiàn)有范圍不能容納新數(shù)據(jù),該段將獲取新的范圍,如果需要的話,
該過程持續(xù)下去,直到表空間中的數(shù)據(jù)文件沒有自由空間或已達(dá)到
每個(gè)段內(nèi)部的范圍最大數(shù)量為止。

4、塊:ORACLE最基本的存儲(chǔ)單位,在建立數(shù)據(jù)庫的時(shí)候指定,通常為
操作系統(tǒng)塊大小的倍數(shù)。

三、內(nèi)存結(jié)構(gòu)
oracle內(nèi)存結(jié)構(gòu)大致具有四個(gè)區(qū):軟件代碼區(qū)、系統(tǒng)全局區(qū)、程序全局
區(qū)和排序區(qū)。

1、系統(tǒng)全局區(qū)。(SGA)
系統(tǒng)全局區(qū)為一組由oracle分配的共享數(shù)據(jù)結(jié)構(gòu),它是實(shí)例的主要部
分,它含有數(shù)據(jù)維護(hù)、SQL語句分析與重做緩存所必須的所有內(nèi)存結(jié)
構(gòu),系統(tǒng)全局區(qū)的數(shù)據(jù)是共享的,也就是說,多個(gè)進(jìn)程可以在同一時(shí)
間對(duì)SGA中的數(shù)據(jù)進(jìn)行訪問和修改。它包含以下內(nèi)容:
<1>、數(shù)據(jù)塊緩沖區(qū)
該區(qū)存放最近使用過的數(shù)據(jù)塊,使用LRU(最近最好使用算法)
進(jìn)行管理。
<2>、字典緩沖區(qū)
該區(qū)用于保存數(shù)據(jù)字典中的行,數(shù)據(jù)字典中存放oracle系統(tǒng)管
理自身所需的所有信息。該區(qū)也使用LRU算法管理。
<3>、重做日志緩沖區(qū)
任何事務(wù)在記錄到重做日志之前都先放到該區(qū),數(shù)據(jù)庫系統(tǒng)定期
將該區(qū)內(nèi)容寫入到聯(lián)機(jī)重做日志中。
<4>、SQL共享池
存放所有通過SQL語法分析、準(zhǔn)備執(zhí)行的SQL語句。
<5>、JAVA池
為JAVA命令提供語法分析。
<6>、多緩沖池
可以在SGA中創(chuàng)建多個(gè)緩沖池,能夠用多個(gè)緩沖池把的數(shù)據(jù)集與其
他的應(yīng)用程序分開,以減少它們爭奪數(shù)據(jù)塊緩沖區(qū)相同資源的可
能性。

2、程序全局區(qū)(PGA)
包含單個(gè)服務(wù)器進(jìn)程或單個(gè)后臺(tái)進(jìn)程的數(shù)據(jù)和控制信息,與幾個(gè)進(jìn)程共
享的SGA 正相反PGA 是只被一個(gè)進(jìn)程使用的區(qū)域,PGA 在創(chuàng)建進(jìn)程時(shí)分
配在終止進(jìn)程時(shí)回收。

3、排序區(qū)
排序需要內(nèi)存,這部分空間成為排序區(qū),排序區(qū)存在于請(qǐng)求排序的用戶
進(jìn)程的內(nèi)存中,該空間的大小為適應(yīng)排序數(shù)據(jù)量的大小,可增長,但受
初始化參數(shù)SORT_AREA_SIZER所限制。

4、軟件代碼區(qū)
用于存儲(chǔ)正在執(zhí)行或可以執(zhí)行的程序代碼。

四、進(jìn)程結(jié)構(gòu)
進(jìn)程分為兩類:用戶進(jìn)程和oracle進(jìn)程。oracle為每一個(gè)連接的用戶運(yùn)行的
應(yīng)用建立一個(gè)用戶進(jìn)程。
1、SMON
當(dāng)啟動(dòng)一個(gè)數(shù)據(jù)庫時(shí),SMON(系統(tǒng)監(jiān)控進(jìn)程)執(zhí)行所需的實(shí)例恢復(fù)操作(使
用聯(lián)機(jī)重做日志文件),它也可以清除數(shù)據(jù)庫(如不再使用的臨時(shí)段),取
消系統(tǒng)不再需要的事務(wù)對(duì)象。

2、PMON
PMON(進(jìn)程監(jiān)控程序)后臺(tái)進(jìn)程清除失敗的用戶進(jìn)程,負(fù)責(zé)清理內(nèi)存儲(chǔ)區(qū)和
釋放該進(jìn)程使用的資源。同SMON一樣,它被周期喚起檢測它是否需要被使用。

3、DBRW
數(shù)據(jù)庫寫進(jìn)程。負(fù)責(zé)將被修改的數(shù)據(jù)塊和字典緩沖內(nèi)容寫入到文件。

4、LGWR。負(fù)責(zé)把聯(lián)機(jī)重做日志緩沖內(nèi)容寫入到文件。

5、CKPT
檢查點(diǎn)進(jìn)程:負(fù)責(zé)在每當(dāng)緩沖區(qū)高速緩存中的更改永久地記錄在數(shù)據(jù)庫中時(shí),
更新控制文件和數(shù)據(jù)文件中的數(shù)據(jù)庫狀態(tài)信息。

6、ARCH
歸檔進(jìn)程:在每次日志切換時(shí)把已滿的日志組進(jìn)行備份或歸檔

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多