oracle體繫結構-邏輯儲存結構

來源:互聯網
上載者:User

標籤:data   佔用   輸入   檔案組   一起   部分   目的   form   bsp   

1邏輯結構概述

oracle的邏輯儲存結構是一種階層,主要由資料表空間、段、區間和資料區塊等概念組成;

邏輯結構是面向使用者的,當使用者使用Oracle設計資料庫時,使用的就是邏輯儲存結構;

oracle資料庫由多個資料表空間組成(資料庫自身也屬於邏輯概念);

資料表空間由多個段組成;

段由多個資料區組成;

資料區由多個資料區塊組成。

 

2資料區塊Data Blocks

資料區塊是Oracle邏輯儲存結構中最小的邏輯單位,也是資料庫執行輸入輸出操作的最小儲存單位。

Oracle資料放在“Oralce資料區塊”中,而不是“作業系統塊”中。

通常Oracle資料區塊大小是作業系統塊大小的整數倍。(如OS的塊大小是2KB,Oracle的資料區塊大小是8KB)。

Oracle資料區塊有定義的標準大小,對應初始化參數DB_BLOCK_SIZE。(Oracle支援在同一個資料庫中有多種大小的塊,分為標準塊與非標準塊)

查看標準塊大小

col name format a30; # 格式化列大小

col value format a20; # 格式化列大小

select name,value from v$parameter where name = ‘db_block_size‘;

資料區塊中可以存放表資料、索引資料、簇資料等,無論存放什麼資料,它的結構都是相同的。

 

3資料區Extent

資料區(也稱資料擴充區)是由一組連續的Oracle資料區塊所組成的Oracle儲存結構;

一個或多個資料區塊組成一個資料區,一個或多個資料區組成一個段;

當一個段中的所有空間使用完後,Oracle系統自動為該段分配一個新的資料區;

使用資料區是為了保持特定資料類型的資料,所以資料區是Oracle分配儲存空間的最小單位。

4段Segment

段是一個獨立的邏輯儲存結構,用於儲存表、索引或簇等佔用空間的資料對象,段是為特定的資料對象分配的一系列資料區;

每當建立一個具有獨立段的資料對象時,Oracle將為它建立一個段;

一個段只屬於一個屬於特定的資料對象;

段內包含的資料區可以不連續,可以跨越多個檔案;

使用段的目的是保持特定邏輯對象。

Oracle資料庫通常有下列4種類型的段:

       資料區段

              儲存表中的資料記錄;

              當建立一個表時,系統自動建立一個以該表的名字命名的資料區段;

       索引段

              儲存索引;

              當建立一個索引時,系統自動建立一個以該索引的名字命名的索引段;

       復原段

              儲存復原條目,即修改前的舊值;

              當一個事務開始處理時,系統為之分配復原段,復原段可以動態建立和撤銷;

              Oracle11g系統有個預設的復原段,管理方式可自動,可手動;

       臨時段

              儲存暫時性的臨時資料;

              Oracle系統將在專門用於儲存臨時資料的資料表空間中未操作分配臨時段;

              如CREATE INDEX、SELECT DISTINCT/GROUP BY/ORDER BY會在暫存資料表空間分配臨時段用來暫時性地儲存解析過的查詢語句或排序過程中產生的臨時資料;

              如果資料庫經常會有這類語句,最好調整SORT_AREA_SIZE初始化參數來增大排序區,使排序操作盡量在記憶體中完成,提高執行效率。

5資料表空間

Oracle使用資料表空間將相關的邏輯結構(如段、資料區等)組合在一起;

資料表空間是資料庫的最大邏輯劃分地區,通常用來存放資料表、索引、復原段等資料對象;

任何資料對象在建立時都必須被指定儲存在某個資料表空間中;

資料表空間(邏輯儲存結構)對應資料檔案(實體儲存體結構);

一個資料表空間由一個或多個資料檔案組成,一個資料檔案只屬於一個資料表空間;

一個資料庫最少有一個資料表空間(SYSTEM),資料表空間的大小等於所有屬於它的資料檔案大小的總和;

資料表空間相當於檔案夾,資料檔案相當於檔案夾裡的檔案。

資料表空間使用規範

       使用者可根據應用系統的實際情況及其所要存放的物件類型建立建立多個自訂的資料表空間,以區分使用者資料和系統資料;

       不同應用系統的資料應存放在不同的資料表空間上;

       不同資料表空間的檔案應存放在不同的盤上,以減少IO衝突;

Oracle 11g預設建立的主要資料表空間

       SYSTEM

              系統資料表空間,用於存放Oracle系統內部表和資料字典的資料。

              Oracle本身不建議將使用者建立的表、索引等邏輯對象放在SYSTEM資料表空間中;

              查看系統內部標的資訊 - v$fixed_view_definition

              col view_name format a30;

              col view_definition format a30;

              select * from v$fixed_view_definition;

              查看資料字典資訊 - dict

              col table_name format a30;

              col comments format a30

              select * from dict;

       SYSAUX

              Oracle 11g新增的預設資料表空間,主要儲存除資料字典以外的其他資料對象;

              充當SYSTEM的輔助資料表空間,降低SYSTEM資料表空間的負荷;

              一般不儲存使用者資料,由Oracle系統內部自動維護

       UNDO

              撤銷資料表空間,用於儲存撤銷資訊;

              當對資料表進行修改操作,Oracle系統自動使用UNDO資料表空間臨時存放修改前的舊資料,在提交後,根據系統設定的保留時間長度來決定何時釋放UNDO資料表空間的部分空間;

              一般在建立Oracle執行個體後,Oracle系統自動建立“UNDOTBS1”的撤銷資料表空間,對應資料檔案是“UNDOTBS01.DBF”

       USERS

              使用者資料表空間,Oracle建議使用者使用的資料表空間;

oracle體繫結構-邏輯儲存結構

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.