oracle基礎之儲存結構

來源:互聯網
上載者:User

1. 儲存結構
   Oracle資料庫的儲存結構分為邏輯儲存結構和實體儲存體結構.

  
                                                               圖 3

 2. 邏輯結構

        邏輯儲存結構主要描述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.
       資料區塊由一下五部分組成  
       標題:包括通用的塊資訊,如塊地址/段類型等,最佳大小為85-100bytes。
       表目錄:儲存聚集中表的資訊,這些資訊用於聚集段。
       行目錄:包括這塊中的有效行資訊,允許使用每行開頭的2bytes。 
       自由空間:這塊中能插入或修改的一組空間。
       行資料:儲存表或索引的資料。

 

 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
    參數檔案的作用:
    確定儲存結構的大小。
    設定資料庫的全部預設值。
    設定資料庫的範圍。
    設定資料庫的各種物理屬性。
    最佳化資料庫效能。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.