瞭解oracle資料庫體系結構(3)
儲存結構一覽
邏輯資料儲存是“段”,段的型別有很多種:典型的段是“表”。
一。物理資料庫結構
oracle包括三類檔案,以及其他記住資料庫之外(或者說是可選的)的檔案。必須的檔案是控制檔案(controlfile)。聯機重做日誌檔案(online redo log files)和資料檔案(datafile)。
1)控制檔案
一個資料庫只有一個控制檔案(不過,此檔案可以有多個副本)。
控制檔案雖小,但作用很大。他包含指向資料庫其餘部分的指標:聯機重做日誌檔案和資料檔案的位置,以及更新的歸檔日誌檔案(如果資料庫處於歸檔日誌模式)的位置。
它還儲存著維護資料庫完整性所需的資訊:例如各種重要的序列號和時間戳。
2)聯機重做日誌檔案
重做日誌(REDO LOG)按應用於資料庫的每個更改向量的阿時間順序儲存一個連續的鏈。其中僅包含重建(或重做)所有已完成工作的最少限度的資訊。
重做日誌檔案包含兩類檔案:聯機重做日誌檔案(必須的)和歸檔日誌檔案(歸檔)
每個資料庫至少有兩個聯機重做日誌檔案,但與控制檔案一樣,優秀的DBA總是為每個聯機重做日誌檔案建立多個副本。
聯機重做日誌包含多組聯機聯機重做日誌檔案,每個檔案稱為一個成員。oracle資料庫至少需要兩個組,其中每組至少有一個成員在執行。處於效能考慮,可以建立兩個以上的組,處於安全起見(開個玩笑:這不僅關乎資料的安全,也關於您職業生涯的安全),每組要有多個成員。
為什麼至少要有兩個組哪?這是因為:一個組用於接受當前更改,而另一個組可用於備份(更準確的講適用於歸檔)。
其中一個組是當前組:LGWR將更改寫入當前重做日誌檔案。
3)資料檔案
在資料庫建立階段,至少必須建立兩個資料檔案。對於舊的oracle版本來說,可以建立只有一個資料檔案的資料庫,而10g和11g版本的資料庫則需要兩個資料檔案,至少一個用於SYSTEM表空間(儲存資料字典),一個用於SYSAUX表空間(儲存資料字典的輔組資料)。
段(SEGMENT)是資料的儲存結構,典型的段是表和所用。
oracle塊大小與作業系統的塊大小不存在任何關聯。
塊中存在頭部區域和資料區域,還可能有一些空閒空間。頭部區域半酣諸如行目錄的資訊,行目錄列出塊中行資料區域中的位置(如果將相應的塊用於表段),還包含行鎖定資訊(如果事務正在處理塊中的行)。資料區域包含行本身,例如行(如果是表段的一部分)或索引鍵(如果塊是索引段的一部分)。
其它資料庫檔案:
例項引數檔案(Instance parameter File)當oracle啟動的時候,SGA結構會根據此引數檔案的設定內建到記憶體,後臺程式會據此啟動。此引數檔案可以很小,但必須存在。
口令檔案(Paaword File)使用者通過提交使用者名稱和口令來建立會話。oracle根據儲存在資料字典的使用者定義對使用者名稱和口令進行驗證。
歸檔重做日誌檔案(Archive Redo Log File)當聯機重做日誌檔案變滿時,ARCn程式會將聯機重做日誌檔案從資料庫複製到歸檔日誌檔案中。
警報日誌和跟蹤日誌檔案(Alert log and Trace Files )警告日誌是影響例項和資料庫的某些重要操作的相關資訊的連續流。
表空間在邏輯上是一個或多個段的集合,在物理上是一個或多個資料檔案的集合。
段有多個塊組成。資料檔案的格式被設定成多個塊,隨著快的增加,這些塊被分配給段。由於每次管理一個塊的空間過於耗時,又將塊分組為區間(extent),區間是資料檔案中編號連續的一系列塊,通過為段新添區間,段將擴大。
確定表所在的表空間,區間大小,區間所在檔案編號,以及作為區間開始位置的檔案快:
select tablespace_name,extent_id,bytes,file_id,block_id from dba_extents where wner='SYSTEM' and segment_name = 'table_name';
根據名稱確定檔案:在看到提示時,替代前面查詢中的file_id:
select name from v$datafile where file#=&file_id;
精確計算出區間在檔案中的位置(按他在檔案中的開始位元組數)。這要求找到表空間的塊大小。
select block_size * &block_id from dba_tablespace
where tablespace_name=' &tablespace_name';
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8183550/viewspace-659756/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 瞭解oracle資料庫體系結構(2)Oracle資料庫
- 瞭解oracle資料庫體系結構(1)Oracle資料庫
- Oracle資料庫體系結構Oracle資料庫
- Oracle 資料庫體系結構解析Oracle資料庫
- Oracle 資料庫體系結構 (上)Oracle資料庫
- 初識Oracle資料庫體系結構Oracle資料庫
- Oracle例項和Oracle資料庫(Oracle體系結構)Oracle資料庫
- oracle體系結構(3)Oracle
- Oracle 19c資料庫體系結構-2Oracle資料庫
- Oracle 19c資料庫體系結構-1Oracle資料庫
- zt_Oracle 資料庫體系結構圖_eygleOracle資料庫
- Oracle 8i資料庫體系結構(轉)Oracle資料庫
- 3:Oracle體系結構(邏輯結構)Oracle
- Oracle - 資料庫的記憶體結構Oracle資料庫記憶體
- 深入瞭解Redis資料結構Redis資料結構
- Postgresql資料庫體系結構-程式和記憶體結構SQL資料庫記憶體
- Oracle 資料庫 結構Oracle資料庫
- 瞭解計算機體系結構(4)計算機
- Oracle資料倉儲的體系結構Oracle
- PostgreSQL 資料庫學習 - 1.資料庫體系結構之儲存結構SQL資料庫
- 5分鐘瞭解資料結構資料結構
- Oracle資料庫開發——瞭解索引Oracle資料庫索引
- 【00】Oracle體系結構詳解Oracle
- Oracle體系結構之-資料庫、表空間、例項簡介Oracle資料庫
- 深入瞭解Redis底層資料結構Redis資料結構
- 3分鐘帶你瞭解資料指標管理體系指標
- 簡述oracle資料庫結構Oracle資料庫
- Oracle資料庫開發——瞭解rowidOracle資料庫
- 【web】資料庫應用系統設計體系結構Web資料庫
- oracle體系結構Oracle
- [20141023]Oracle 資料庫體系結構圖.txtOracle資料庫
- OCP課程23:管理Ⅰ之資料庫體系結構資料庫
- PostgreSQL資料庫管理 第二章體系結構SQL資料庫
- Oracle資料庫開發——瞭解分割槽表Oracle資料庫
- SGA系統全域性區記憶體結構瞭解記憶體
- Agile PLM資料庫表結構(Oracle)資料庫Oracle
- ORACLE體系結構小結Oracle
- oracle體系結構總結Oracle