更新時間:2021-03-01 17:43:54 來源:動力節(jié)點(diǎn) 瀏覽1457次
Oracle數(shù)據(jù)庫系統(tǒng)是目前世界上流行的關(guān)系數(shù)據(jù)庫管理系統(tǒng),系統(tǒng)可移植性好、使用方便、功能強(qiáng),適用于各類大、中、小微機(jī)環(huán)境。它是一種高效率的、可靠性好的、適應(yīng)高吞吐量的數(shù)據(jù)庫方案。某種程度上這些優(yōu)點(diǎn)得益于Oracle的物理存儲結(jié)構(gòu),本文我們就來詳細(xì)看看Oracle物理存儲結(jié)構(gòu)。
Oracle物理存儲結(jié)構(gòu)組成:
1.數(shù)據(jù)文件(data file)
2.控制文件(control file)
3.聯(lián)機(jī)日志文件(online redo log file)
4.歸檔日志文件
5.參數(shù)文件
6.警報文件
7.跟蹤文件
8.備份文件
1、數(shù)據(jù)文件(data file):
一個數(shù)據(jù)庫可以由多個數(shù)據(jù)文件組成的,數(shù)據(jù)文件是真正存放數(shù)據(jù)庫數(shù)據(jù)的。一個數(shù)據(jù)文件就是一個操作系統(tǒng)文件,數(shù)據(jù)庫的對象(表和索引)物理上是被存放在數(shù)據(jù)文件中的。當(dāng)我們要查詢一個表的數(shù)據(jù)的時候,如果該表的數(shù)據(jù)沒有在內(nèi)存中,那么Oracle就要讀取該表所在的數(shù)據(jù)文件,然后把數(shù)據(jù)存放到內(nèi)存中。數(shù)據(jù)文件的特征是:
一個數(shù)據(jù)文件只能屬于一個數(shù)據(jù)庫。
數(shù)據(jù)文件可以被設(shè)置成自動增長。
一個或多個數(shù)據(jù)文件組成了表空間。
一個數(shù)據(jù)文件只能屬于一個表空間。
2、控制文件(control file):
一個數(shù)據(jù)庫至少要有一個控制文件,控制文件中存放的數(shù)據(jù)庫的"物理結(jié)構(gòu)信息",正是因為他存放的是數(shù)據(jù)庫的物理結(jié)構(gòu)信息,所以他就顯得尤其的重要.這些物理結(jié)構(gòu)信息就包括:
數(shù)據(jù)庫的名字。
數(shù)據(jù)文件和聯(lián)機(jī)日志文件的名字及位置。
創(chuàng)建數(shù)據(jù)庫時的時間戳。
為了更好的保護(hù)數(shù)據(jù)庫,我們可以鏡像控制文件.每個控制文件中的內(nèi)容就是相同的。鏡像了控制文件,即使其中的一個控制文件出現(xiàn)了問題,也不會影響到數(shù)據(jù)庫的損壞,數(shù)據(jù)的丟失。 在啟動數(shù)據(jù)庫的時候,Oracle就會根據(jù)控制文件中的數(shù)據(jù)文件和聯(lián)機(jī)日志文件的信息來打開數(shù)據(jù)庫。
3、聯(lián)機(jī)日志文件(online redo log file):
一個數(shù)據(jù)庫可以有多個聯(lián)機(jī)日志文件,聯(lián)機(jī)日志文件包含了重做記錄(undo records)。聯(lián)機(jī)日志文件記錄了數(shù)據(jù)庫的改變,例如當(dāng)一次意外導(dǎo)致對數(shù)據(jù)的改變沒有及時的寫到數(shù)據(jù)文件中,那么oracle就會根據(jù)聯(lián)機(jī)日志文件中的信息獲得這些改變,然后把這些改變寫到數(shù)據(jù)文件中。這也是聯(lián)機(jī)日志文件存在的意義。聯(lián)機(jī)日志文件中重做記錄的唯一功能就是用來做實例的恢復(fù),比如,一次系統(tǒng)的意外掉電,導(dǎo)致內(nèi)存中的數(shù)據(jù)沒有被寫到數(shù)據(jù)文件中。那么Oracle就會根據(jù)聯(lián)機(jī)日志文件中的重做記錄功能包數(shù)據(jù)庫恢復(fù)到失敗前的狀態(tài)。
4、歸檔日志文件(Archive log file):
是聯(lián)機(jī)日志文件的副本,他記錄了對數(shù)據(jù)庫改變的歷史.
5、參數(shù)文件(parameter file):
通常情況下指的就是初始化參數(shù)文件(initialization parameter file)。參數(shù)文件包括了初始化參數(shù)文件和服務(wù)器端參數(shù)文件(server parameter file)。在數(shù)據(jù)庫啟動的時候就會讀取參數(shù)文件,然后根據(jù)參數(shù)文件中的參數(shù)來分配SGA并啟動一系列的后臺進(jìn)程。參數(shù)文件中存放的是數(shù)據(jù)庫和實例的參數(shù)。
6、警報文件(alert log file):
就是警報日志文件,他記錄了數(shù)據(jù)庫的重大活動和所發(fā)生的錯誤。警報文件按照時間的先后來記錄所發(fā)生的重大活動和錯誤。警報文件的名字的格式是alertSID.log.警報文件的位置是由初始化參數(shù)background_dump_desc指定的。
7、跟蹤文件(trace log file):
就是跟蹤日志文件,每個服務(wù)器進(jìn)程和后臺進(jìn)程都寫跟蹤文件。例如當(dāng)后臺進(jìn)程發(fā)生了錯誤的時候,Oracle就會把錯誤的信息寫到跟蹤文件中。DBA就可以根據(jù)跟蹤文件的信息來查看進(jìn)程中所發(fā)生的錯誤。跟蹤文件被寫到了兩個目錄中,和服務(wù)器進(jìn)程有關(guān)的信息被寫到了由初始化參數(shù)user_dump_desc指定的目錄中,和后臺進(jìn)程有關(guān)信息被寫到了由初始化參數(shù)background_dump_desc指定的目錄中。伴隨著時間跟蹤文件就會被寫滿,DBA可以手動來刪除跟蹤文件,也可以限制跟蹤文件的大小。初始化參數(shù)MAX_DUMP_FILE_SIZE就可以限制跟蹤文件的大小。
8、備份文件(backup file):
就是在數(shù)據(jù)庫發(fā)生介質(zhì)損壞的時候用來還原(restore)數(shù)據(jù)庫的,恢復(fù)(recover)數(shù)據(jù)的。
以上就是Oracle物理存儲結(jié)構(gòu)的8個部分,我們籠統(tǒng)的做了介紹,有的詳細(xì),有的概括,相對于Oracle的邏輯結(jié)構(gòu)來說,Oracle物理存儲結(jié)構(gòu)更加簡單明了,一目了然。結(jié)合本站的Oracle教程,我們理解起來也更加容易,學(xué)起Oracle數(shù)據(jù)庫來也事半功倍。

初級 202925

初級 203221

初級 202629

初級 203743