Oracle OCP(46):表空間、段、區、塊

Ryan_Bai發表於2019-05-07

一、資料塊(Block)

簡介

資料塊Block是Oracle儲存資料資訊的最小單位。注意,這裡說的是Oracle環境下的最小單位。Oracle也就是通過資料塊來遮蔽不同作業系統儲存結構的差異。無論是他們的儲存結構和方式、甚至字元排列的方式。

Oracle所有對資料的操作和空間分配,實際上都是針對資料塊Block的操作。我們從資料表中搜尋出一行,實際中Oracle就會從記憶體緩衝區(或者硬碟)中讀取到該行所在的資料塊,再返回這資料塊上的指定資料行。Oracle無論是在緩衝區,還是在硬碟,進行資料操作的雖小單位也就是資料塊。

引數

  1. db_block_size

    資料塊是有大小的,在一個資料庫建立的時候,通過引數進行設定。資料塊的大小,在一個資料庫中可以支援多個,但是一般沒有太大的意義,會給管理和除錯帶來一定的負擔。

    資料塊的大小是通過kb位元組個數來指定的,預設為8KB。相關引數為db_block_size。

    設定資料塊的大小是依據不同型別的系統的。如果資料塊設定比較大,那麼一次讀取的資料行較多,相應對SGA記憶體消耗比較大,特定查詢引發的換入換出可能較多。如果設定的過小,頻繁的IO邏輯物理讀也會引起效能問題。

  2. db_file_multiblock_read_count

    表示一次從物理儲存中讀取的資料塊數量。對一些資料探勘系統,可以考慮調節此引數略大一些。

二、區extent

簡介

區extent是比資料塊大一級的儲存結構,表示的是一連串連續的資料塊集合。

在進行儲存資料資訊的時候,Oracle將分配資料塊進行儲存,但是不能保證所有分配的資料塊都是連續的結構。所以,出現分割槽extent的概念,表示一系列連續的資料塊集合。

檢視

檢視dba_extents(或者all_extents、user_extents)是我們研究分割槽結構和儲存構成的重要手段。

  1. 分割槽是帶有段特定性的。資料段segment是分割槽的上層組織單位,一個資料庫物件對應一個segement,資料庫物件是歸屬在不同的schema(owner)上的。所以,通過不同的資料段名稱、不同的owner,乃至不同的tablespace表空間資訊,就可以定位到資料區extent的資訊描述。

  2. 另一部分資訊是關於該區extent的分配資訊,如所在檔案編號,起始資料塊block編號和資料塊數量等內容。

三、資料段segment

簡介

資料段是與資料庫物件相對應,一般一個資料庫物件對應一個資料段。多個extent是對應一個資料段,每個資料段實際上就是資料庫一個物件的代表。

檢視

從dba_segments檢視中,可以比較清楚看清資料段的結構。

  1. 從segment_type列的comment資訊中,可以看出資料段的型別是多樣的。資料表、索引、回滾、聚集這些都是資料段的一種表現形式。同時,資料段是在資料物件建立的時候就已經建立出來,隨著物件體積的增大,而不斷分配多個extents進行管理。

  2. 另一部分資訊可以從dba_segments中讀出的,就是該資料物件分配的空間大小和資料塊、分割槽個數。使用這個檢視,可以方便的獲取到指定schema的所有物件大小。

    select owner,sum(bytes)/1024/1024 as vol, sum(blocks) as totalblocks,sum(extents) as totalextents
      from dba_segments
    group by owner
    having owner='SYS'
    

一個資料物件對應一個segment。但是,分割槽表的時候,一個分割槽要對應一個segment物件。還有就是,segment物件是可以指定儲存在那個表空間裡,實現儲存劃分的基礎也就在於此。不同型別的segment劃分建立在不同的表空間裡,才有可能存放在不同的檔案中,最後分佈在不同的物理儲存。

四、表空間tablespace

簡介

TableSpace是儲存結構中的最高層結構。建立一個表空間的時候,是需要指定儲存的檔案。一個表空間可以指定多個資料檔案,多個檔案可以在不同的物理儲存上。但是有一點就是,表空間下一級物件資料段的儲存,是不能指定儲存在那個檔案裡的。所以,要想讓資料物件訪問IO負載均衡,需要指定不同的資料物件在不同的表空間裡。這也就是為什麼將資料表和索引建立在不同的表空間的原因。

檢視

表空間通過v$tablespace進行訪問。

資料檔案通過v$datafile進行訪問

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31490526/viewspace-2643517/,如需轉載,請註明出處,否則將追究法律責任。

相關文章