Oracle體系架構(gòu): 邏輯存儲結(jié)構(gòu)
最新學訊:近期OCP認證正在報名中,因考試人員較多請盡快報名獲取最近考試時間,報名費用請聯(lián)系在線老師,甲骨文官方認證,報名從速!
我要咨詢Oracle體系架構(gòu): 邏輯存儲結(jié)構(gòu),在操作系統(tǒng)中無法找到邏輯存儲結(jié)構(gòu)所對應(yīng)的文件,但通過查詢oracle數(shù)據(jù)庫的數(shù)據(jù)字典,可以找到邏輯存儲結(jié)構(gòu)的描述。
邏輯存儲結(jié)構(gòu)包括表空間,段,區(qū),塊。簡單的說,邏輯存儲結(jié)構(gòu)之間的關(guān)系是:多個塊組成區(qū),多個區(qū)組成段,多個段組成表空間,多個表空間組成邏輯數(shù)據(jù)庫。
一個區(qū)只能在一個數(shù)據(jù)文件中,一個段中的各個區(qū)可以分別在多個數(shù)據(jù)文件中。組成區(qū)的塊是連續(xù)的。由于邏輯的塊對應(yīng)磁盤空間中某個固定大小的尺寸(一般為操作系統(tǒng)數(shù)據(jù)庫的整數(shù)倍),所以邏輯存儲結(jié)構(gòu)也是有大小的。
一、 表空間(tablespace)
下面的表格顯示的是oracle11g自動創(chuàng)建的表空間名稱及其說明
名稱 |
分類 |
說明 |
EXAMPLE |
非系統(tǒng)表空間 |
示例表空間,存放示例數(shù)據(jù)庫的方案對象信息及其培訓資料 |
SYSAUX |
系統(tǒng)表空間 |
輔助系統(tǒng)表空間,用于減少system表空間的負荷,提高系統(tǒng)的工作效率。是oracle 10g新增加的表空間 |
SYSTEM |
系統(tǒng)表空間 |
系統(tǒng)表空間,存放關(guān)于表空間名稱、控制文件、數(shù)據(jù)文件等管理信息,存放著方案對象(如表,索引,同義詞,序列)的定義信息,存放著所有pl/sql 程序(如過程,函數(shù),包,觸發(fā)器)的源代碼,是oracle數(shù)據(jù)庫中最重要的表空間。它屬于SYS和SYSTEM方案,僅被SYS和SYSTEM或其他具有足夠權(quán)限的用戶使用。即使是SYS 和SYSTEM用戶也不能刪除或重命名該空間。他是用戶的默認表空間,即當用戶在創(chuàng)建一個對象時,如果沒有指定特定的表空間,該對象的數(shù)據(jù)也會被保存在SYSTEM表空間中。 |
TEMP |
系統(tǒng)表空間 |
臨時表空間,存放臨時表和臨時數(shù)據(jù),用于排序。每個數(shù)據(jù)庫都應(yīng)該有一個(或創(chuàng)建一個)臨時表空間,以便在創(chuàng)建用戶時將其分配給用戶,否則就會將TEMP表空間作為臨時表空間。 |
UNDOTBS1 |
非系統(tǒng)表空間 |
重做表空間,存放數(shù)據(jù)庫的有關(guān)重做的相關(guān)信息和數(shù)據(jù) |
USERS |
非系統(tǒng)表空間 |
用戶表空間,存放永久性的用戶對象的數(shù)據(jù)和私有信息,因此也被稱為數(shù)據(jù)表空間。每個數(shù)據(jù)庫都應(yīng)該有一個(或創(chuàng)建一個)用戶表空間,以便在創(chuàng)建用戶時將其分配給用戶,否則將會使用SYSTEM表空間來保存數(shù)據(jù),而這種做法是不好的。一般講,系統(tǒng)用戶使用SYSTEM表空間,而非系統(tǒng)用戶使用USERS表空間 |
二、 段(segment)
段用于存儲表空間中某一種特定的、具有獨立存儲結(jié)構(gòu)的數(shù)據(jù)庫對象的數(shù)據(jù),它有一個或多個連續(xù)的區(qū)組成。當創(chuàng)建表、索引、簇等對象時,oracle就會為這些對象分配存儲空間(即段),以便存儲它們的數(shù)據(jù)。按照段中所存儲的數(shù)據(jù)的特征、用途不同,可以分為以下幾種:
類型 |
名稱 |
段類型 |
名稱 |
Index
partition |
索引分區(qū)段 |
Deferred
rollback |
延遲回退段 |
Table
partition |
表分區(qū)段 |
Undo |
撤銷段(還原段) |
Table |
表段(數(shù)據(jù)段) |
Temporary |
臨時段 |
Cluster |
簇段 |
Cache |
高速緩存段 |
Index |
索引段 |
Lob |
二進制大對象段 |
Rollback |
回退段 |
Lobindex |
二進制大對象索引段 |
段隨著存儲數(shù)據(jù)的增加而逐漸變大。段的增大過程是通過增加區(qū)得個數(shù)而實現(xiàn)的(每次增加一個區(qū))。每個區(qū)的大小事塊得整數(shù)倍。
三、 區(qū)(extent)
區(qū)是由物理上連續(xù)存放的塊所組成的。區(qū) 是oracle存儲分配的最小單位。一個或多個塊組成區(qū),一個或多個區(qū)組成段。一個區(qū)只能屬于一個數(shù)據(jù)文件。
當在數(shù)據(jù)庫中創(chuàng)建帶有實際存儲結(jié)構(gòu)的方案對象時(如表、索引),oracle將為方案對象分配若干個區(qū)(視該方案的初始大小而定),以便組成一個對應(yīng)的段,來為該方案對象提供初始的存儲空間。當段中已分配的區(qū)都寫滿,oracle就要在該方案對象所在的表空間中為該段分配下一個新的空白區(qū),以便容納更多的數(shù)據(jù)。
四、 塊(block)
塊是最小的數(shù)據(jù)管理單位,即oracle的所有存儲的i/o操作都是以塊為單位的。相對應(yīng)的,操作系統(tǒng)執(zhí)行i/o操作的最小單位是操作系統(tǒng)塊。塊得大小是操作系統(tǒng)塊得大小的整數(shù)倍。
塊得大小是一個表空間的屬性。SYSTEM和SYSAUX表空間具有相同的、標準的塊大小,這個大小是在創(chuàng)建數(shù)據(jù)庫時(會同時創(chuàng)建這兩個表空間)由DB_BLOCK_SIZE初始化參數(shù)指定的,但在創(chuàng)建數(shù)據(jù)庫之后這個參數(shù)值不能改變。
- 陳衛(wèi)星-老師CUUG金牌講師
- 陳老師 CUUG金牌講師 精通Oracle管理、備份恢復、性能優(yōu)化 11年Ora...[詳細了解老師]
