- 相關(guān)推薦
關(guān)于ORACLE數(shù)據(jù)庫結(jié)構(gòu)的簡介
ORACLE的數(shù)據(jù)庫結(jié)構(gòu)大家都了解嗎?如果不了解,下面小編為大家整理了關(guān)于ORACLE數(shù)據(jù)庫結(jié)構(gòu)簡介的文章,希望能為你提供幫助:
一、物理結(jié)構(gòu):
1、數(shù)據(jù)文件:ORACLE數(shù)據(jù)庫包含若干數(shù)據(jù)文件,數(shù)據(jù)文件存儲(chǔ)數(shù)據(jù)庫數(shù)據(jù),包括表、索引等等。數(shù)據(jù)文件的幾個(gè)特點(diǎn):
1)一個(gè)數(shù)據(jù)文件只允許分配給一個(gè)數(shù)據(jù)庫
2)數(shù)據(jù)文件可設(shè)置為自動(dòng)擴(kuò)展
3)一個(gè)或多個(gè)數(shù)據(jù)文件構(gòu)成表空間
在進(jìn)行數(shù)據(jù)庫操作的時(shí)候,數(shù)據(jù)庫先從內(nèi)存尋找要操作的數(shù)據(jù),如果沒有找到的話,再從數(shù)據(jù)文件取出數(shù)據(jù)放在內(nèi)存中,然后才對(duì)內(nèi)存中的數(shù)據(jù)進(jìn)行相關(guān)的操作。操作完的數(shù)據(jù)并沒有立即寫到數(shù)據(jù)文件中(這樣減少了磁盤的IO),而是放在內(nèi)存中,然后由DBWn進(jìn)程決定何時(shí)批量寫入數(shù)據(jù)文件。
2、控制文件:每一個(gè)數(shù)據(jù)庫都有一個(gè)或多個(gè)控制文件,控制文件包含了數(shù)據(jù)庫的物理結(jié)構(gòu),包括:
1)數(shù)據(jù)庫名
2)數(shù)據(jù)文件名及位置
3)重做日志文件名及位置
4)數(shù)據(jù)庫的建立時(shí)間等等
一般一個(gè)數(shù)據(jù)庫都有若干個(gè)控制文件鏡像。數(shù)據(jù)庫在打開的時(shí)候(ALTER
DATABASE OPEN),會(huì)讀取控制文件中的信息來打開數(shù)據(jù)庫。當(dāng)數(shù)據(jù)庫的物理結(jié)構(gòu)發(fā)生變化的時(shí)候,比如增加一個(gè)數(shù)據(jù)文件、一組重做日志等等,控制文件都會(huì)自動(dòng)地做相應(yīng)的修改。在數(shù)據(jù)庫物理結(jié)構(gòu)發(fā)生變化后,最好重新備份一下控制文件,用于數(shù)據(jù)庫恢復(fù)。
3、重做日志文件:重做日志中記錄了數(shù)據(jù)的變化。一般一個(gè)數(shù)據(jù)庫都會(huì)有兩到三組重做日志文件。同一日志組的鏡像最好分布于不同的磁盤上。
4、歸檔日志:當(dāng)數(shù)據(jù)庫啟動(dòng)歸檔的時(shí)候,重做日志會(huì)被自動(dòng)歸檔到指定的位置。
5、初始化參數(shù)文件:包含了數(shù)據(jù)庫啟動(dòng)時(shí)的配置信息
6、警告和跟蹤日志文件
1)跟蹤文件:每一個(gè)后臺(tái)進(jìn)程都有一個(gè)單獨(dú)的跟蹤文件,比如當(dāng)系統(tǒng)發(fā)現(xiàn)某一個(gè)進(jìn)程有問題的時(shí)候,相關(guān)的信息就會(huì)寫到相應(yīng)的跟蹤文件中?梢詮臄(shù)據(jù)庫的跟蹤文件來發(fā)現(xiàn)和調(diào)試數(shù)據(jù)庫的錯(cuò)誤。
2)警告文件,也叫警告日志。是一個(gè)特別的跟蹤文件,它記錄著數(shù)據(jù)庫啟動(dòng)、運(yùn)行中的相關(guān)信息,它是按時(shí)間順序進(jìn)行記錄的。
7、備份文件
二、邏輯結(jié)構(gòu)
1、表空間:相關(guān)邏輯對(duì)象的集合。在oracle10g中,在創(chuàng)建數(shù)據(jù)庫的時(shí)候就自動(dòng)創(chuàng)建了SYSTEM和SYSAUX表空間。
2、數(shù)據(jù)塊:數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)塊中,一個(gè)數(shù)據(jù)塊的大小(DB_BLOCK_SIZE)由操作系統(tǒng)塊來決定?梢灾付5種,分別為2K、4K、8K、16K、32K。
3、區(qū):一系列連續(xù)的數(shù)據(jù)塊組成區(qū),區(qū)存儲(chǔ)特定類型的數(shù)據(jù),比如索引,表等等。
4、段:由一系列區(qū)組成段。
1)數(shù)據(jù)段:對(duì)于每一個(gè)非聚集表有一數(shù)據(jù)段,表的所有數(shù)據(jù)存放在該段。每一聚集有一個(gè)數(shù)據(jù)段,聚集中每一個(gè)表的數(shù)據(jù)存儲(chǔ)在該段中。分區(qū)表中的每一個(gè)分區(qū)有一個(gè)數(shù)據(jù)段,分區(qū)中的數(shù)據(jù)存儲(chǔ)在該段中。
2)索引段:每一個(gè)索引有一索引段,存儲(chǔ)索引數(shù)據(jù)。分區(qū)索引中的每一分區(qū)有一個(gè)索引段。
3)回滾段:用于臨時(shí)存儲(chǔ)要撤消的信息,這些信息用于生成讀一致性數(shù)據(jù)庫信息,在數(shù)據(jù)庫恢復(fù)時(shí)使用,回滾未提交的事務(wù)。系統(tǒng)回滾段用于處理系統(tǒng)事務(wù),不建議用戶使用系統(tǒng)回滾段來做其它操作。
4)臨時(shí)段:當(dāng)一個(gè)SQL語句需要臨時(shí)工作區(qū)時(shí),由ORACLE建立臨時(shí)段。當(dāng)語句執(zhí)行完畢,臨時(shí)段的區(qū)退回給系統(tǒng)。
【ORACLE數(shù)據(jù)庫結(jié)構(gòu)的簡介】相關(guān)文章:
Oracle認(rèn)證簡介07-22
Oracle數(shù)據(jù)庫認(rèn)證層次08-29
數(shù)據(jù)庫系統(tǒng)的內(nèi)部結(jié)構(gòu)體系簡介10-21
Oracle數(shù)據(jù)庫SQLPLUS介紹10-09