oracle體系結構(3)
三、ORACLE邏輯結構
1、 表空間(tablespace)
表空間是資料庫中的基本邏輯結構,一系列資料檔案的集合。一個表空間可以包含多個資料檔案,但是一個資料檔案只能屬於一個表空間。
2、 段(Segment)
段是物件在資料庫中佔用的空間,雖然段和資料庫物件是一一對應的,但段是從資料庫儲存的角度來看的。一個段只能屬於一個表空間,當然一個表空間可以有多個段。
表空間和資料檔案是物理儲存上的一對多的關係,表空間和段是邏輯儲存上的一對多的關係,段不直接和資料檔案發生關係。一個段可以屬於多個資料檔案,關於段可以指定擴充套件到哪個資料檔案上面。
段基本可以分為以下四種
資料段(Data Segment)
索引段(Index Segment)
回滾段(Rollback Segment)
臨時段(Temporary Segment)
3、區間(Extent)
關於Extent的翻譯有多種解釋,有的譯作擴充套件,有的譯作盤區,我這裡通常譯為區間。在一個段中可以存在多個區間,區間是為資料一次性預留的一個較大 的儲存空間,直到那個區間被用滿,資料庫會繼續申請一個新的預留儲存空間,即新的區間,一直到段的最大區間數(Max Extent)或沒有可用的磁碟空間可以申請。 在ORACLE8i以上版本,理論上一個段可以無窮個區間,但是多個區間對ORACLE卻是有效能影響的,ORACLE建議把資料分佈在儘量少的區間上, 以減少ORACLE的管理與磁頭的移動。
4、Oracle資料塊(Block)
ORACLE最基本的儲存單位,他是OS資料塊的整數倍。ORACLE的操作都是以塊為基本單位,一個區間可以包含多個塊(如果區間大小不是塊大小的整數倍,ORACLE實際也擴充套件到塊的整數倍)。
5、基本表空間介紹
a. 系統表空間
主要存放資料字典和內部系統表基表
檢視資料資料字典的SQL
select * from dict
檢視內部系統表的SQL
select * from v$fixed_view_definition
DBA對系統的系統表中的資料字典必須有一個很深刻的瞭解,他們必須準備一些基礎的SQL語句,透過這些SQL可以立即瞭解系統的狀況和資料庫的狀態,這些基本的SQL包括
系統的剩餘空間
系統的SGA
狀態系統的等待
使用者的許可權
當前的使用者鎖
緩衝區的使用狀況等
在成為DBA 的道路上我們不建議你過分的依賴於OEM/Quest 等優秀的資料庫管理工具,因為他們不利於你對資料資料字典的理解,SQL語句可以完成幾乎全部的資料庫管理工作。
大量的讀少量的寫是該表空間的一個顯著的特點。
b. 臨時表空間.
臨時表空間顧名思義是用來存放臨時資料的,例如排序操作的臨時空間,他的空間會在下次系統啟動的時候全部被釋放。
c. 回滾段表空間
i. 回滾段在系統中的作用
當資料庫進行更新插入刪除等操作的時候,新的資料被更新到原來的資料檔案,而舊的資料(Before Image)就被放到回滾段中,如果資料需要回滾,那麼可以從回滾段將資料再複製到資料檔案中。來完成資料的回滾。在系統恢復的時候, 回滾段可以用來回滾沒有被commit 的資料,解決系統的一至性。
回滾段在什麼情況下都是大量的寫,一般是少量讀,因此建議把回滾段單獨出來放在一個單獨的裝置(如單獨的磁碟或RAID),以減少磁碟的IO爭用。
ii. 回滾段的工作方式
一個回滾表空間可以被劃分成多個回滾段.
一個回滾段可以儲存多個會話的資料.
回滾段是一個圓形的資料模型
假設回滾段由4 個區間組成,他們的使用順序就是區間1à區間2à區間3à區間4à區間1。也就是說,區間是可以迴圈使用的,當區間4到區間1的時候,區間1裡面的會話還沒有結束, 區間4用完後就不能再用區間1,這時系統必須分配區間5,來繼續為其他會話服務服務。
我們分析一個Update 語句的完成
①. 使用者提交一個Update 語句
②. Server Process 檢查記憶體緩衝.
如果沒有該資料塊的緩衝,則從磁碟讀入
i. 如果沒有記憶體的有效空間,DBWR被啟動將未寫入磁碟的髒緩衝寫入磁碟
ii. 如果有有效空間,則讀入
③. 在緩衝內更新資料
i. 申請一個回滾段入口,將舊資料寫如回滾段
ii. 加鎖並更新資料
iii. 並在同時將修改記錄在Redo log buffer中[@more@]
1、 表空間(tablespace)
表空間是資料庫中的基本邏輯結構,一系列資料檔案的集合。一個表空間可以包含多個資料檔案,但是一個資料檔案只能屬於一個表空間。
2、 段(Segment)
段是物件在資料庫中佔用的空間,雖然段和資料庫物件是一一對應的,但段是從資料庫儲存的角度來看的。一個段只能屬於一個表空間,當然一個表空間可以有多個段。
表空間和資料檔案是物理儲存上的一對多的關係,表空間和段是邏輯儲存上的一對多的關係,段不直接和資料檔案發生關係。一個段可以屬於多個資料檔案,關於段可以指定擴充套件到哪個資料檔案上面。
段基本可以分為以下四種
資料段(Data Segment)
索引段(Index Segment)
回滾段(Rollback Segment)
臨時段(Temporary Segment)
3、區間(Extent)
關於Extent的翻譯有多種解釋,有的譯作擴充套件,有的譯作盤區,我這裡通常譯為區間。在一個段中可以存在多個區間,區間是為資料一次性預留的一個較大 的儲存空間,直到那個區間被用滿,資料庫會繼續申請一個新的預留儲存空間,即新的區間,一直到段的最大區間數(Max Extent)或沒有可用的磁碟空間可以申請。 在ORACLE8i以上版本,理論上一個段可以無窮個區間,但是多個區間對ORACLE卻是有效能影響的,ORACLE建議把資料分佈在儘量少的區間上, 以減少ORACLE的管理與磁頭的移動。
4、Oracle資料塊(Block)
ORACLE最基本的儲存單位,他是OS資料塊的整數倍。ORACLE的操作都是以塊為基本單位,一個區間可以包含多個塊(如果區間大小不是塊大小的整數倍,ORACLE實際也擴充套件到塊的整數倍)。
5、基本表空間介紹
a. 系統表空間
主要存放資料字典和內部系統表基表
檢視資料資料字典的SQL
select * from dict
檢視內部系統表的SQL
select * from v$fixed_view_definition
DBA對系統的系統表中的資料字典必須有一個很深刻的瞭解,他們必須準備一些基礎的SQL語句,透過這些SQL可以立即瞭解系統的狀況和資料庫的狀態,這些基本的SQL包括
系統的剩餘空間
系統的SGA
狀態系統的等待
使用者的許可權
當前的使用者鎖
緩衝區的使用狀況等
在成為DBA 的道路上我們不建議你過分的依賴於OEM/Quest 等優秀的資料庫管理工具,因為他們不利於你對資料資料字典的理解,SQL語句可以完成幾乎全部的資料庫管理工作。
大量的讀少量的寫是該表空間的一個顯著的特點。
b. 臨時表空間.
臨時表空間顧名思義是用來存放臨時資料的,例如排序操作的臨時空間,他的空間會在下次系統啟動的時候全部被釋放。
c. 回滾段表空間
i. 回滾段在系統中的作用
當資料庫進行更新插入刪除等操作的時候,新的資料被更新到原來的資料檔案,而舊的資料(Before Image)就被放到回滾段中,如果資料需要回滾,那麼可以從回滾段將資料再複製到資料檔案中。來完成資料的回滾。在系統恢復的時候, 回滾段可以用來回滾沒有被commit 的資料,解決系統的一至性。
回滾段在什麼情況下都是大量的寫,一般是少量讀,因此建議把回滾段單獨出來放在一個單獨的裝置(如單獨的磁碟或RAID),以減少磁碟的IO爭用。
ii. 回滾段的工作方式
一個回滾表空間可以被劃分成多個回滾段.
一個回滾段可以儲存多個會話的資料.
回滾段是一個圓形的資料模型
假設回滾段由4 個區間組成,他們的使用順序就是區間1à區間2à區間3à區間4à區間1。也就是說,區間是可以迴圈使用的,當區間4到區間1的時候,區間1裡面的會話還沒有結束, 區間4用完後就不能再用區間1,這時系統必須分配區間5,來繼續為其他會話服務服務。
我們分析一個Update 語句的完成
①. 使用者提交一個Update 語句
②. Server Process 檢查記憶體緩衝.
如果沒有該資料塊的緩衝,則從磁碟讀入
i. 如果沒有記憶體的有效空間,DBWR被啟動將未寫入磁碟的髒緩衝寫入磁碟
ii. 如果有有效空間,則讀入
③. 在緩衝內更新資料
i. 申請一個回滾段入口,將舊資料寫如回滾段
ii. 加鎖並更新資料
iii. 並在同時將修改記錄在Redo log buffer中[@more@]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/18921899/viewspace-1016962/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 3:Oracle體系結構(邏輯結構)Oracle
- oracle體系結構Oracle
- 瞭解oracle資料庫體系結構(3)Oracle資料庫
- ORACLE體系結構小結Oracle
- oracle體系結構總結Oracle
- Oracle體系結構之-物理結構Oracle
- Oracle體系結構之-記憶體結構Oracle記憶體
- oracle體系結構(轉)Oracle
- ORACLE-體系結構Oracle
- Oracle體系結構梳理Oracle
- Oracle 體系結構圖Oracle
- oracle體系結構(1)Oracle
- oracle體系結構(2)Oracle
- Oracle體系結構:記憶體結構和程式結構(轉)Oracle記憶體
- Oracle記憶體體系結構Oracle記憶體
- WTL體系結構(3) (轉)
- 【Oracle體系結構】 Oracle19C 系統結構介紹Oracle
- oracle體系結構概覽Oracle
- Oracle 體系結構介紹Oracle
- Oracle體系結構之記憶體結構(SGA、PGA)Oracle記憶體
- Oracle體系結構部落格連結Oracle
- Oracle OCP(37):Database 體系結構OracleDatabase
- Oracle 11g體系結構Oracle
- Oracle體系結構理論篇Oracle
- Oracle 12C 體系結構Oracle
- Oracle資料庫體系結構Oracle資料庫
- 【00】Oracle體系結構詳解Oracle
- Oracle RAC 體系結構--儲存Oracle
- Oracle 體系結構介紹(轉)Oracle
- Oracle 體系結構 SGA 和PGA 總結Oracle
- Oracle系列:Oracle RAC叢集體系結構Oracle
- Oracle體系結構之-Oracle後臺程式Oracle
- [ADMIN]oracle入門-oracle體系結構Oracle
- Oracle Data block 的物理結構-體系架構OracleBloC架構
- 0718_oracle 體系結構Oracle
- Oracle體系結構學習筆記Oracle筆記
- oracle 11g 體系結構研究Oracle
- 【體系結構】Oracle引數介紹Oracle