oracle資料庫的儲存結構分為邏輯儲存結構和物理儲存結構.
邏輯儲存結構主要描述oracle資料庫的內部儲存結構,即從技術概念上描述在oracle資料庫種如何組織、管理資料.因此,邏輯儲存結構是和作業系統平台無關的,是由oracle資料庫建立和管理的.
從邏輯上來看.
資料庫是由乙個或者多個表空間等組成。
乙個表空間(tablespace)由一組段組成,
乙個段(segment)由一組區組成,
乙個區(extent)由一批資料庫塊組成,
乙個資料庫塊(block)對應乙個或多個物理塊
database(資料庫)
資料庫是按照資料結構來組織、儲存和管理資料的倉庫。
tablespaces(表空間)
表空間是資料庫的邏輯劃分,乙個表空間只能屬於乙個資料庫。表空間(tablespace)是最大的邏輯單位,對應乙個或多個資料檔案,通常由相關的段組成。表空間的大小是它所對應的資料檔案大小的總和。所有的資料庫物件都存放在指定的表空間中。但主要存放的物件是表, 所以稱作表空間。
segments(段):
乙個段是分配給乙個邏輯結構(乙個表、乙個索引或其他物件)的一組區,是資料庫物件使用的空間的集合;段可以有表段、索引段、回滾段、臨時段和快取記憶體段等。types of segments (段的型別詳解)
extents(盤區)
是資料庫儲存空間分配的乙個邏輯單位,它由連續資料塊所組成。第乙個段是由乙個或多個盤區組成。當一段中間所有空間已完全使用,oracle為該段分配乙個新的範圍。
data block(資料塊)
是oralce 管理資料檔案中儲存空間的單位,為資料庫使用的i/o的最小單位,最小的邏輯部件,其大小可不同於作業系統的標準i/o塊大小。資料塊的大小由db_block_size引數確定。塊尺寸是處理oracle更新、選擇、或者插入資料事務的最小單位。當使用者從表中選擇資料時,選擇操作從資料庫檔案中以塊為單位讀取或者提取資料。例如oracle塊的大小為8kb,即使只想檢索4kb的字元的名字,也必須讀取含有這4個字元的整個8kb的塊。
作業系統也有乙個磁碟塊尺寸,oracle塊尺寸應該為磁碟尺寸的倍數。否則在每個i/o中只使用部分資料,可能會浪費時間去讀寫磁碟快。
db_block_size初始化引數決定oracle 資料庫的標準塊尺寸,並且oracle還可以指定4個額外的非標準的塊尺寸。多個塊尺寸主要用於在不同的資料庫尺寸的資料庫之間傳送表空間。如果選擇配置多個oracle塊尺寸,還必須配置sga的緩衝區快取記憶體中相應的子快取記憶體。
oracle物理儲存結構組成:
資料檔案(data file)、
聯機日誌檔案(online redo log file)、
控制檔案(control file)組成的
歸檔日誌檔案、
引數檔案、
警報檔案、
跟蹤檔案、
備份檔案
資料檔案(data file):
乙個資料庫可以由多個資料檔案組成的,資料檔案是真正存放資料庫資料的.乙個資料檔案就是乙個作業系統檔案.資料庫的物件(表和索引)物理上是被存放在資料檔案中的。當我們要查詢乙個表的資料的時候,如果該錶的資料沒有在記憶體中,那麼oracle就要讀取該錶所在的資料檔案,然後把資料存放到記憶體中.
資料檔案的特徵是:
乙個資料檔案只能屬於乙個資料庫.
資料檔案可以被設定成自動增長.
乙個或多個資料檔案組成了表空間.
乙個資料檔案只能屬於乙個表空間.
控制檔案(control file):
乙個資料庫至少要有乙個控制檔案,控制檔案中存放的資料庫的"物理結構資訊",正是因為他存放的是資料庫的物理結構資訊,所以他就顯得尤其的重要.這些物理結構資訊就包括:
資料庫的名字.
資料檔案和聯機日誌檔案的名字及位置.
建立資料庫時的時間戳.
為了更好的保護資料庫,我們可以映象控制檔案.每個控制檔案中的內容就是相同的.映象了控制檔案,即使其中的乙個控制檔案出現了問題,也不會影響到資料庫的損壞,資料的丟失. 在啟動資料庫的時候,oracle就會根據控制檔案中的資料檔案和聯機日誌檔案的資訊來開啟資料庫.
聯機日誌檔案(online redo log file):
乙個資料庫可以有多個聯機日誌檔案,聯機日誌檔案包含了重做記錄(undo records).聯機日誌檔案記錄了資料庫的改變,例如當一次意外導致對資料的改變沒有及時的寫到資料檔案中,那麼oracle就會根據聯機日誌檔案中 的資訊獲得這些改變,然後把這些改變寫到資料檔案中.這也是聯機日誌檔案存在的意義.聯機日誌檔案中重做記錄的唯一功能就是用來做例項的恢復.比如,一次系統的意外掉電,導致記憶體中的資料沒有被寫到資料檔案中.那麼oralce就會根據聯機日誌檔案中的重做記錄功能包資料庫恢復到失敗前的狀態.
歸檔日誌檔案(archive log file):
是聯機日誌檔案的副本,他記錄了對資料庫改變的歷史.
引數檔案(parameter file):
通常情況下指的就是初始化引數檔案(initialization parameter file).引數檔案包括了初始化引數檔案和伺服器端引數檔案(server parameter file).在資料庫啟動的時候就會讀取引數檔案,然後根據引數檔案中的引數來分配sga並啟動一系列的後台程序.引數檔案中存放的是資料庫和例項的參 數.
警報檔案(alert log file):
就是警報日誌檔案,他記錄了資料庫的重大活動和所發生的錯誤.警報檔案按照時間的先後來記錄所發生的重大活動和錯誤.警報檔案的名字的格式是 alertsid.log.警報檔案的位置是由初始化引數background_dump_desc指定的.
跟蹤檔案(trace log file):
就是跟蹤日誌檔案,每個伺服器程序和後台程序都寫跟蹤檔案.例如當後台程序發生了錯誤的時候,oracle就會把錯誤的資訊寫到跟蹤檔案中.dba就可以根據跟蹤檔案的資訊來檢視程序中所發生的錯誤.跟蹤檔案被寫到了兩個目錄中.和伺服器程序有關的資訊被寫到了由初始化引數user_dump_desc指定的目錄中,和後台程序有關資訊被寫到了由初始化引數background_dump_desc指定的目錄中.伴隨著時間跟蹤檔案就會被寫滿,dba可以 手動來刪除跟蹤檔案,也可以限制跟蹤檔案的大小.初始化引數max_dump_file_size就可以限制跟蹤檔案的大小.
備份檔案(backup file):
就是在資料庫發生介質損壞的時候用來還原(restore)資料庫的,恢復(recover)資料的.
oracle的儲存結構關係
oracle儲存結構
oracle儲存結構 物理結構 資料檔案,日誌檔案,控制檔案 邏輯結構 從儲存結構分 物理儲存和邏輯儲存,物理儲存結構式檔案組成的。3種檔案 資料檔案dbf,控制檔案ctl,重做日誌檔案 log 資料檔案 dbf 頻繁訪問的資料會存在資料緩衝區中,oracle先從快取區中找,找不到從資料庫檔案中找,...
oracle儲存結構
分邏輯結構和物理結構兩條路線。邏輯結構從邏輯上來看.資料庫是由乙個或者多個表空間等組成。乙個表空間 tablespace 由一組段組成,乙個段 segment 由一組區組成,乙個區 extent 由一批資料庫塊組成,乙個資料庫塊 block 對應乙個或多個物理塊 表空間是最大的邏輯單位,塊是最小的邏...
oracle物理儲存結構
oracle從物理結構中完全抽象出邏輯儲存。oracle的物理結構主要包括三種資料檔案 控制檔案 controlfile 聯機重做日誌檔案 online redo log files 和資料檔案 datafiles 還有一些外部檔案 初始化引數檔案 口令檔案 歸檔重做日誌檔案以及日誌和跟蹤檔案。控制...