Oracle 11g筆記 表空間和資料檔案的管理

2021-07-11 13:47:28 字數 1610 閱讀 5725

oracle的儲存結構分為物理結構與邏輯結構

物理結構:資料檔案(datafiles)、聯機日誌檔案(online redo logs)和控制檔案(control files)

另外檔案:引數檔案、警報檔案、跟蹤檔案、備份檔案

邏輯結構:資料塊、區、段、表空間

一、資料塊

1、資料塊格式:

塊頭:存放塊的基本資訊,如:塊的實體地址、塊所屬的段型別(是資料段還是索引段)

表目錄:存放表的資訊

行目錄:如果塊中有行資料存在,則這些行的資訊將被記錄在行目錄中。這些資訊包括行的位址等

行資料:是真正存放表資料和索引資料的地方。

空餘空間:是乙個塊中沒有使用的區域,用於新行的插入和已經存在的行的更新

頭部資訊區:把塊頭、表目錄、行目錄這三部分合稱為頭部資訊。

2、資料塊中自由空間的使用

當insert資料時,塊中的自由空間會減少,當update(使記錄變長),塊中的自由空間也會變少。

delete語句和update語句會使塊中的自由空間增加。

3、行鏈結與行遷移

4、塊中自由空間的自動管理

oracle使用位圖(bitmap)來管理和跟蹤資料塊,這種塊的空間管理叫自動管理

a.易於使用 b、更好地利用空間 c、可以對空間進行實時調整

5、塊中自由空間的手動管理

可通過pctfree、pctused來調整塊中空間的使用,手動管理方式比較麻煩,不容易掌握,容易造成塊中空間的浪費。

二、區區是一段連續的儲存空間,當段中的空間耗盡時,oracle會分配乙個新的區給這個段。

當建立乙個表時,oracle會給這個表的資料段分配乙個初始區,即使沒有資料的插入,oracle還是會分配這個初始區。

伴隨著資料的新增,這個初始區的空間會被填滿,oracle會再分配乙個新的區給這個資料段,叫做「遞增區」

分配機制:表空間級別、表級別

三、段1、資料段

存放資料,乙個單獨的段可以存放下面的資料:乙個普通表的資料、分割槽表中的乙個分割槽、聚簇表

建立表的時候,其實質就是建立乙個或多個段。建立資料段的時候,可以指定資料段的儲存引數

2、索引段

用於存放索引資料,建立索引段的時候,可以指定索引段的儲存引數

3、臨時段

用於存放臨時資料。用於資料的排序。只有記憶體不足的時候,oracle才會用到臨時段。

oracle用到臨時段,是資料庫效能降低的乙個徵兆。所以dba應該盡量讓排序在記憶體中進行。當排序完成時,oracle會釋放臨時段。

用到臨時段的sql語句:

create index

select ...order by

select distinct

select ...group by

select ...union

select ...intersect

select ...minus

4、回滾段

用於儲存回滾條目,oracle將資料被修改以前的版本儲存在回滾條目中,利用這些條目,使用者可以撤銷以前對資料的修改,回滾條目還可以實現讀一致性。

四、表空間

1、大檔案表空間

2、系統表空間

3、輔助表空間

4、回滾表空間

5、臨時表空間

Oracle11g表空間1 建立表空間

a.表空間是oracle資料庫中最大的邏輯儲存結構,它與作業系統中的資料檔案向對應,用於儲存資料庫中使用者建立的所有內容。b.在oracle中,表空間可以分為基本表空間 臨時表空間 大檔案表空間 非標準資料塊表空間以及撤銷表空間等。c.基本表空間一般是指使用者使用的永久性表空間,用於儲存使用者的永久...

Oracle11g建立表空間語句

在plsql工具中執行以下語句,可建立oracle表空間。分為四步 第1步 建立臨時表空間 create temporary tablespace yuhang temp tempfile d oracledata yuhang temp.dbf size 50m autoextend on nex...

Oracle11g建立表空間語句

在plsql工具中執行以下語句,可建立oracle表空間。分為四步 第1步 建立臨時表空間 create temporary tablespace yuhang temp tempfile d oracledata yuhang temp.dbf size 50m autoextend on nex...