oracle基礎之儲存結構

2021-06-13 11:05:35 字數 2829 閱讀 7092

1. 儲存結構

oracle資料庫的儲存結構分為邏輯儲存結構和物理儲存結構.

圖 32. 邏輯結構

邏輯儲存結構主要描述oracle資料庫的內部儲存結構,即從技術概念上描述在oracle資料庫種如何組織、管理資料.

圖4 邏輯結構

從邏輯上來看. 資料庫是由乙個或者多個表空間等組成。乙個表空間(tablespace)由一組段組成,乙個段(segment)由一組區組成,乙個區(extent)由一批資料庫塊組成,乙個資料庫塊(block)對應乙個或多個物理塊

表空間是最大的邏輯單位,塊是最小的邏輯單位。

因此,邏輯儲存結構是和作業系統平台無關的,是由oracle資料庫建立和管理的.

3.物理儲存結構

物理儲存結構主要描述oracle資料庫的外部儲存結構,即在作業系統種如何組織、管理資料.

從物理上看,資料庫由控制檔案、資料檔案、重做日誌檔案和引數檔案等作業系統檔案組成

因此,物理儲存結構是和作業系統平台有關的.

3.1. 資料庫塊

資料庫塊(database block)是資料庫使用的

i/o最小單元,又稱邏輯塊或oracle塊。乙個資料庫塊對應乙個或多個物理塊,塊的大小由引數db_block_size確定。

塊的大小是作業系統塊大小的整數倍.

以win2k為例,作業系統塊(os block)的大小為4kb,所以oracle block的大小可以是4kb,8kb,16kb等等。

如果塊的大小為4kb,某錶每行的資料是100 bytes.,如果某查詢語句只返回1行資料,那麼,在將資料讀入到資料快取記憶體時,讀取的資料量時4kb而不是100 bytes.

資料塊由一下五部分組成  

3.2. 區

區(extent)是資料庫儲存空間分配的邏輯單位,乙個區由一組資料庫塊組成,區是由段分配的,分配的第乙個區稱初始區,以後分配的區稱增量區。

3.3.段

段(segment)是表空間中乙個指定型別的邏輯儲存結構,它由乙個或多個區組成,段將占用並增長儲存空間。

引導段(bootstrap segment) :  儲存資料字典表的定義

臨時段(temporary segment): 儲存表排序操作期間簡歷的臨時表的資料

回滾段(rollback segment)    :  儲存修改之前的位置和值

索引段(index segment)        :  儲存表上最佳查詢的所有索引資料

資料段(date segment)          :   儲存表中所有資料

3.4. 表空間

表空間(tablespace)是最大的邏輯單位,對應乙個或多個資料檔案,表空間的大小是它所對應的資料檔案大小的總和。

圖6 表空間和資料塊的關係

oracle 10g自動建立的表空間有:

example(例項表空間)

sysaux(輔助系統表空間)

system(系統表空間)

temp(臨時表空間)

undotbs(重做表空間)

users(使用者的表空間)

system : 系統表空間,存放關於表空間的名稱、控制檔案、資料檔案等管理資訊,是最重要的表空間.它屬於sys、system兩個schema(方案),僅被這兩個或其他具有足夠許可權的使用者使用。但是均不可刪除或者重新命名system表空間.

temp: 臨時表空間存放臨時表和臨時資料,用於排序。

users: 使用者表空間,永久存放使用者物件和私有資訊,也被成為資料表空間。

sysaux:輔助系統表空間,用於減少系統負荷,提高系統的作業效率.

一般地:系統使用者使用system表空間,非系統使用者使用users表空間

4. 物理結構

從物理上看,資料庫由控制檔案、資料檔案、重做日誌檔案等作業系統檔案組成

資料檔案(data file)是物理儲存oracle資料庫資料的檔案。每乙個資料檔案只與乙個資料庫相聯絡。 資料檔案一旦被建立則不能修改其大小。乙個表空間可包含乙個或多個資料檔案。乙個資料檔案只能屬於乙個表空間.

重做日誌檔案(redo log file)記錄所有對資料庫資料的修改,以備恢復資料時使用。其特點如下:每乙個資料庫至少包含兩個日誌檔案組。 日誌檔案組以迴圈方式進行寫操作。每乙個日誌檔案成員對應乙個物理檔案。

日誌開關(log switch)是為實現日誌檔案組的迴圈使用而設定的。出現日誌開關的情況如下:當乙個日誌檔案組被填滿時;關閉資料庫時; dba手動轉移日誌開關;

映象日誌檔案是為防止日誌檔案的丟失,在不同磁碟上同時維護兩個或多個聯機日誌檔案的副本。

其特點如下: 每個日誌檔案組至少包含兩個日誌檔案成員。每組的成員數目相同。同組的所有成員同時被修改。同組的成員大小相同,不同組的成員大小可不同.

控制檔案(control file)是乙個較小的二進位制檔案,用於描述資料庫結構。將資料庫的物理檔案對映到資料字典中的邏輯**空間和聯機重做日誌檔案。

描述資訊如下:

資料庫建立的日期。

資料庫名。

資料庫中所有資料檔案和日誌檔案的檔名及路徑。

恢復資料庫時所需的同步資訊。

要點注意:

在開啟和訪問資料庫時都要訪問該檔案。

映象控制檔案。

記錄控制檔名及路徑的引數為:control_files

引數檔案(parameter file)是乙個文字檔案,可直接使用作業系統下的文字編輯器對其內容進行修改。該檔案只在建立資料庫或啟動例項時才被訪問,在修改該檔案之前必須關閉例項。

初始引數檔案:init.ora

生成引數檔案:initsid.ora

config.ora

引數檔案的作用:

確定儲存結構的大小。

設定資料庫的全部預設值。

設定資料庫的範圍。

設定資料庫的各種物理屬性。

優化資料庫效能。

oracle資料儲存結構(基礎)

oracle 的儲存系統,由大到小分別為 表空間 可橫跨多個資料檔案 dba tablespaces 段 segments 一般乙個物件會對應乙個段 比如表段 索引段簇段 dba segments 擴充套件 extents 邏輯上連續的儲存空間,主要用來擴充套件儲存空間 dba extends 資料...

ORACLE 資料儲存結構之邏輯儲存結構

資料塊 data blocks 資料塊是 oracle 邏輯儲存結構中的最小的邏輯單位,也是執行資料庫輸入輸出操作的最小儲存單位。oracle 資料存放在 oracle 資料塊 中,而不是 作業系統塊 中。通常 oracle 資料塊是作業系統塊的整數倍,如果作業系統快的大小為 2048b 並且ora...

ORACLE 資料儲存結構之物理儲存結構

資料檔案 資料檔案是用於儲存使用者應用程式資料和oracle系統內部資料的檔案,這些檔案在作業系統中就是普通的作業系統檔案,oracle在建立表空間的同時會建立資料檔案。oracle資料庫在邏輯上由表空間組成,每個表空間可以包含乙個或多個資料檔案,乙個資料檔案只能隸屬於乙個表空間。控制檔案 控制檔案...