時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)
數(shù)據(jù)文件
每一個(gè)Oracle數(shù)據(jù)庫都有一個(gè)或多個(gè)物理的數(shù)據(jù)文件,數(shù)據(jù)庫信息(結(jié)構(gòu),數(shù)據(jù))都保存在這些數(shù)據(jù)文件中,并且這些文件也只Oracle才能夠解釋與管理這些存儲(chǔ).Oracle數(shù)據(jù)文件具有以下一些特性:
1.一個(gè)數(shù)據(jù)文件僅僅關(guān)聯(lián)一個(gè)數(shù)據(jù)庫,數(shù)據(jù)文件與數(shù)據(jù)庫之間對(duì)應(yīng)關(guān)系是一對(duì)一關(guān)系,當(dāng)然反過數(shù)據(jù)庫與數(shù)據(jù)文件是一對(duì)多關(guān)系.
2.數(shù)據(jù)文件可以自動(dòng)擴(kuò)展,當(dāng)數(shù)據(jù)存儲(chǔ)需要更多存儲(chǔ)空間時(shí)候,就是存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)隨存儲(chǔ)數(shù)據(jù)量增大,數(shù)據(jù)文件也可以自動(dòng)增長,以滿足數(shù)據(jù)存儲(chǔ)需要.
3.一個(gè)或多個(gè)數(shù)據(jù)文件組成一個(gè)邏輯單元,稱之為表空間.數(shù)據(jù)文件與表空間之間對(duì)應(yīng)關(guān)系也是一對(duì)一關(guān)系,當(dāng)然反過表空間與數(shù)據(jù)文件對(duì)應(yīng)關(guān)系是一對(duì)多的關(guān)系.
存儲(chǔ)在數(shù)據(jù)文件中的是可以讀,當(dāng)然這些數(shù)據(jù)是保存在Oracle數(shù)據(jù)庫實(shí)例中特定的內(nèi)存區(qū)域中,如果一個(gè)用戶要讀取數(shù)據(jù)庫中一個(gè)表,這個(gè)用戶是不能直接讀取物理磁盤上的數(shù)據(jù)文件的,首先Oracle接受這個(gè)請(qǐng)求后,從造當(dāng)位置(物理磁盤)上讀取相應(yīng)的數(shù)據(jù)到內(nèi)存中,這個(gè)時(shí)候用戶才可以看見數(shù)據(jù).Oracle軟件是解釋Oracle存儲(chǔ)與管理數(shù)據(jù)的.如果這個(gè)時(shí)候我們修改數(shù)據(jù),這些數(shù)據(jù)是不會(huì)立即寫到磁盤中的.要到特定時(shí)候才會(huì)寫磁盤.頻繁立即寫會(huì)引I/O性能下降.
Oracle會(huì)在特定時(shí)候完成這數(shù)據(jù)寫工作.
控制文件
每一個(gè)Oracle數(shù)據(jù)庫都有一個(gè)控制文件.這個(gè)控制文件是Oracle能夠正常工作一個(gè)前提.控制文件一般有三個(gè)功能:一記錄著物理磁盤上信息.二記錄Oracle數(shù)據(jù)庫本身邏輯結(jié)構(gòu).三:起到一個(gè)全局監(jiān)管作用.它一般包括以下幾個(gè)部分:
1.數(shù)據(jù)庫名稱
2.數(shù)據(jù)文件與日志文件在磁盤上信息.
3.數(shù)據(jù)庫創(chuàng)建時(shí)間
如果控制文件損失那么Oracle數(shù)據(jù)庫就不能下常啟動(dòng),理論上只能啟動(dòng)到MOUNT狀態(tài).因?yàn)榭刂莆募绱酥匾?Oracle允許同時(shí)可以鏡像多個(gè)控制文件.
當(dāng)數(shù)據(jù)庫啟動(dòng)時(shí)候,控制文件中記錄數(shù)據(jù)文件與日志文件必須要被Oracle進(jìn)程所讀取.數(shù)據(jù)庫結(jié)構(gòu)變化也隨時(shí)記錄在控制文件中.控制文件對(duì)Oracle恢復(fù)也啟著非常大作用.
重做日志文件
每個(gè)Oracle數(shù)據(jù)庫都包含至少兩組到多組重做日志文件,重做日志文件主要是記錄數(shù)據(jù)變化一過程.是記錄一個(gè)延續(xù)變化過程.其實(shí)控制也記錄Oracle變化過程,但是兩都還是有很大區(qū)別的,控制記錄著數(shù)據(jù)庫體系結(jié)構(gòu)的變化.一個(gè)架構(gòu)的變化,重做日志文件當(dāng)然也記錄這些變化,但它記錄更細(xì)數(shù)據(jù)庫中數(shù)據(jù)變化.這些信息主要是用于數(shù)據(jù)庫恢復(fù)操作.
歸檔日志文件
因?yàn)镺racle數(shù)據(jù)庫只要發(fā)生操作重做日志文件,就會(huì)記錄這些信息.但是當(dāng)記錄一定的時(shí)候,如果把這些信息給永久保存下來,那么保存下來的"日志"就稱之會(huì)歸檔日志.當(dāng)然如果數(shù)據(jù)庫要運(yùn)行歸檔模式下,如果數(shù)據(jù)不運(yùn)行歸檔模式下,那么重做日志就循環(huán)寫.
參數(shù)文件
因?yàn)镺racle數(shù)據(jù)有兩部分組成,數(shù)據(jù)庫與實(shí)例.數(shù)據(jù)庫一個(gè)體系結(jié)構(gòu)是由控制文件進(jìn)行記錄的,但實(shí)例體體系結(jié)構(gòu)呢?這些當(dāng)然是由參數(shù)文件來記錄著,當(dāng)然參數(shù)文件還記錄Oracle軟件本身操作的一些特性,比如上面說到是否歸檔當(dāng).參數(shù)據(jù)文件記錄大部信息都抽像的,但是數(shù)據(jù)庫實(shí)例子啟動(dòng),這時(shí)并不訪問數(shù)據(jù)庫,因?yàn)楸仨氁刂莆募甘局锢眢w系結(jié)構(gòu).對(duì)于對(duì)于參數(shù)文件向物理結(jié)構(gòu)過渡,有一個(gè)非常重要的參數(shù)就是控制文件.這個(gè)參數(shù)記錄著控制文件在磁盤上位置.而控制文件又記錄數(shù)據(jù)文件與日志文件和數(shù)據(jù)本身一些信息.從這里我們可以看出數(shù)據(jù)庫啟動(dòng)是分三個(gè)階段進(jìn)行的.
1.第一步讀取參數(shù)文件啟動(dòng)實(shí)例.這時(shí)并沒有打開數(shù)據(jù)庫,到這種狀態(tài)也就是我們常說的NOMOUNT狀態(tài).
2.第二步根據(jù)參數(shù)文件記錄讀取控制文件.這時(shí)候只是讀取控制文件,還沒有對(duì)控制文件進(jìn)行解釋.一般恢復(fù)操作都是在這步完成.MOUNT
3.第三步根據(jù)控制文件中的信息,讀取數(shù)據(jù)文件與控制文件.當(dāng)然這時(shí)候在核對(duì)磁盤上記錄的信息和控制文件本身信息.如果不通過,會(huì)告之有問題,數(shù)據(jù)庫要進(jìn)行恢復(fù).(當(dāng)然這步是必須的,我們想如果不管對(duì)不對(duì)都正常啟動(dòng),那么感覺數(shù)據(jù)就會(huì)變得非常亂,用戶自己數(shù)據(jù)損失了或是丟失都不知道,這樣很可怕,這點(diǎn)可以看出解釋控制文件也就是檢查數(shù)據(jù)庫完整性),如果比對(duì)成功這時(shí)候數(shù)據(jù)庫就可以O(shè)PEN了.
告警日志
對(duì)于數(shù)據(jù),操作記錄 實(shí)例子與數(shù)據(jù)庫信息都有對(duì)應(yīng)記錄信息了,但是如果我們操作上出現(xiàn)問題或是數(shù)據(jù)庫本身出現(xiàn)問題,這些問題又有誰來記錄呢?記錄這些信息一般要告警日志,如果沒有告警日志會(huì)有什么問題,就是運(yùn)行著數(shù)據(jù)庫發(fā)行了什么問題我們都不知道.我們可以做一個(gè)比方.控制文件只在數(shù)據(jù)庫啟動(dòng)之初審核一下.如果通過我就讓你啟動(dòng),但數(shù)據(jù)庫運(yùn)行過程出現(xiàn)的問題,我不管,但這些有誰來管呢?當(dāng)然就是告警日志了.它應(yīng)該時(shí)刻伴隨數(shù)據(jù)庫,記錄一些影響數(shù)據(jù)健康問題.
備份文件
數(shù)據(jù)庫僅僅有歸檔日志還是很安全,有的時(shí)候還需要備份,備份文件就是歸檔日志后備部分,但是它是十分強(qiáng)大,它是Oracle管理工具生成文件,當(dāng)然要也可以冷備.管理工具管理著數(shù)據(jù)庫安全與備份,它的體現(xiàn)就是擁有備份文件.只有Oracle特定工具才能解釋的格式.用于在災(zāi)難情況(比如沒有了歸檔)下進(jìn)行恢復(fù).
關(guān)鍵詞標(biāo)簽:Oracle,Oracle物理結(jié)構(gòu)
相關(guān)閱讀
熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實(shí)例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索
人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法