程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle數據文件的特性介紹

Oracle數據文件的特性介紹

編輯:Oracle數據庫基礎

我們大家都知道每個Oracle數據庫都會有一個或是多個物理的Oracle數據文件,數據庫信息(結構,數據)的主要作用是來保存在這些相關的數據文件,而且只有這些相關的文件Oracle才能夠解釋與管理這些存儲.Oracle數據文件具有以下一些特性:

1.一個數據文件僅僅關聯一個數據庫,Oracle數據文件與數據庫之間對應關系是一對一關系,當然反過數據庫與數據文件是一對多關系.

2.數據文件可以自動擴展,當數據存儲需要更多存儲空間時候,就是存儲數據的數據隨存儲數據量增大,數據文件也可以自動增長,以滿足數據存儲需要.

3.一個或多個數據文件組成一個邏輯單元,稱之為表空間.Oracle數據文件與表空間之間對應關系也是一對一關系,當然反過表空間與數據文件對應關系是一對多的關系.

存儲在數據文件中的是可以讀,當然這些數據是保存在Oracle數據庫實例中特定的內存區域中,如果一個用戶要讀取數據庫中一個表,這個用戶是不能直接讀取物理磁盤上的數據文件的。

首先Oracle接受這個請求後,從造當位置(物理磁盤)上讀取相應的數據到內存中,這個時候用戶才可以看見數據.Oracle軟件是解釋Oracle存儲與管理數據的.如果這個時候我們修改數據,這些數據是不會立即寫到磁盤中的.要到特定時候才會寫磁盤.頻繁立即寫會引I/O性能下降.

Oracle會在特定時候完成這數據寫工作.

控制文件

每一個Oracle數據庫都有一個控制文件.這個控制文件是Oracle能夠正常工作一個前提.控制文件一般有三個功能:一記錄著物理磁盤上信息.二記錄Oracle數據庫本身邏輯結構.三:起到一個全局監管作用.它一般包括以下幾個部分:

1.數據庫名稱

2.Oracle數據文件與日志文件在磁盤上信息.

3.數據庫創建時間

如果控制文件損失那麼Oracle數據庫就不能下常啟動,理論上只能啟動到MOUNT狀態.因為控制文件如此重要,Oracle允許同時可以鏡像多個控制文件.

當數據庫啟動時候,控制文件中記錄Oracle數據文件與日志文件必須要被Oracle進程所讀取.數據庫結構變化也隨時記錄在控制文件中.控制文件對Oracle恢復也啟著非常大作用.

重做日志文件

每個Oracle數據庫都包含至少兩組到多組重做日志文件,重做日志文件主要是記錄數據變化一過程.是記錄一個延續變化過程.其實控制也記錄Oracle變化過程,但是兩都還是有很大區別的,控制記錄著數據庫體系結構的變化.一個架構的變化,重做日志文件當然也記錄這些變化,但它記錄更細數據庫中數據變化.這些信息主要是用於數據庫恢復操作.

歸檔日志文件

因為Oracle數據庫只要發生操作重做日志文件,就會記錄這些信息.但是當記錄一定的時候,如果把這些信息給永久保存下來,那麼保存下來的”日志”就稱之會歸檔日志.當然如果數據庫要運行歸檔模式下,如果數據不運行歸檔模式下,那麼重做日志就循環寫.

參數文件

因為Oracle數據有兩部分組成,數據庫與實例.數據庫一個體系結構是由控制文件進行記錄的,但實例體體系結構呢?這些當然是由參數文件來記錄著,當然參數文件還記錄Oracle軟件本身操作的一些特性,比如上面說到是否歸檔當.參數據文件記錄大部信息都抽像的,但是數據庫實例子啟動,這時並不訪問數據庫,因為必須要控制文件指示著物理體系結構.對於對於參數文件向物理結構過渡,有一個非常重要的參數就是控制文件.這個參數記錄著控制文件在磁盤上位置.而控制文件又記錄Oracle數據文件與日志文件和數據本身一些信息.從這裡我們可以看出數據庫啟動是分三個階段進行的.

1.第一步讀取參數文件啟動實例.這時並沒有打開數據庫,到這種狀態也就是我們常說的NOMOUNT狀態.

2.第二步根據參數文件記錄讀取控制文件.這時候只是讀取控制文件,還沒有對控制文件進行解釋.一般恢復操作都是在這步完成.MOUNT

3.第三步根據控制文件中的信息,讀取Oracle數據文件與控制文件.當然這時候在核對磁盤上記錄的信息和控制文件本身信息.如果不通過,會告之有問題,數據庫要進行恢復.(當然這步是必須的,我們想如果不管對不對都正常啟動,那麼感覺數據就會變得非常亂,用戶自己數據損失了或是丟失都不知道,這樣很可怕,這點可以看出解釋控制文件也就是檢查數據庫完整性),如果比對成功這時候數據庫就可以OPEN了.

告警日志

對於數據,操作記錄 實例子與數據庫信息都有對應記錄信息了,但是如果我們操作上出現問題或是數據庫本身出現問題,這些問題又有誰來記錄呢?記錄這些信息一般要告警日志,如果沒有告警日志會有什麼問題,就是運行著數據庫發行了什麼問題我們都不知道.我們可以做一個比方。

控制文件只在數據庫啟動之初審核一下.如果通過我就讓你啟動,但數據庫運行過程出現的問題,我不管,但這些有誰來管呢?當然就是告警日志了.它應該時刻伴隨數據庫,記錄一些影響數據健康問題.

備份文件

數據庫僅僅有歸檔日志還是很安全,有的時候還需要備份,備份文件就是歸檔日志後備部分,但是它是十分強大,它是Oracle管理工具生成文件,當然要也可以冷備.管理工具管理著數據庫安全與備份,它的體現就是擁有備份文件.只有Oracle特定工具才能解釋的格式.用於在災難情況(比如沒有了歸檔)下進行恢復.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved