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