更新時間:2021-02-25 17:33:49 來源:動力節點 瀏覽1347次
Oracle至少由一個表空間和數據庫模式對象組成。這里,模式是對象的集合,而模式對象是直接引用數據庫數據的邏輯結構。模式對象包括這樣一些結構:表、視圖、序列、存儲過程、同義詞、索引、簇和數據庫鏈等。邏輯存儲結構包括表空間、段和范圍,用于描述怎樣使用數據庫的物理空間。Oracle數據庫邏輯結構大致就是按照這個結構模型來構建的,下面我來詳細看看Oracle數據庫的邏輯結構。
首先我們要知道邏輯結構由邏輯存儲結構(表空間,段,范圍,塊)和邏輯數據結構(表、視圖、序列、存儲過程、同義詞、索引、簇和數據庫鏈等)組成,而其中的模式對象(邏輯數據結構)和關系形成了數據庫的關系設計。因此,Oracle數據庫邏輯結構體系分為以下4個方面:
1、段(Segment)
是表空間中一個指定類型的邏輯存儲結構,它由一個或多個范圍組成,段將占用并增長存儲空間。
2、區(Extent)
是數據庫存儲空間分配的邏輯單位,一個范圍由許多連續的數據塊組成,范圍是由段依次分配的,分配的第一個范圍稱為初始范圍,以后分配的范圍稱為增量范圍。
1)在數據表進行數據插入時,會自動擴展數據表的空間,使用的便是該邏輯單元。
2)數據表建立時,便已經分配好了若干個數據塊組成了初始數據擴展(initial extent),以便數據表新數據的存儲。
3)當段(數據表)分配的空間不夠存儲新數據時,ORACLE將自動為其分配一個新增數據擴展新增的數據擴展區(EXTENT)大小始終大于等于前一個數據擴展區(EXTENT)的大小。
4)數據表初始化的分配的空間大小及最多能夠容納的數據擴展數量可以在新建數據表時通過STORAGE子句進行設置,若不設置,則默認使用所屬表空間的參數設置。
5)EXTENT 管理方式有本地管理(local)與數據字典管理(dictionary)兩種,后者將被淘汰,默認為本地管理。
6)新增的數據擴展區的大小既可以固定,也可以由我們自主選擇,取決于新建TABLESPACE時,使用了什么指令,UNIFORM 指令(固定大小)、AUTOALLOCATE指令(由系統管理)。uniform size 10M
3、數據塊(Block)
是數據庫進行IO操作的最小單位,它與操作系統的塊不是一個概念。 數據庫BLOCK的大小一般要設置為操作系統OS塊容量的整數倍,這樣可以減少IO操作 (若操作系統塊大小為1k,若數據庫塊大小為1.3k,則實際需要2個操作系統塊數據才能存儲(2k),這導致還有0.7k的空間被浪費了,故設置成OS塊的整數倍,能夠減少數據空間的浪費)
BLOCK主要有如下部分組成:
① 數據塊頭:記錄了該數據塊的概要信息,塊地址、所屬段的類型。。。
② 表目錄區:只要該數據塊中包含數據,該區域便會包含數據所在表的信息
③ 行目錄區:存放你插入的行的地址信息
④ 可用空間區:存放該數據塊中空余空間的信息,由建表時表屬性pctfree控制
⑤ 行數據區:數據實際存放的區域
4、TABLESPACE(表空間)
數據庫的組成單元。
1) ORACLE數據庫中表空間的分類:
① 系統表空間:主要用于存儲管理掐表空間的工具信息及其他表空間的相關信息。
② 臨時表空間:主要用于在數據庫數據讀取時緩存數據。
③ 回滾表空間:主要用于處理非請求數據返回數據庫的情況。
④ 數據表空間:主要用于存儲相關用戶數據。
2) 新建表空間的方式
// 普通數據表空間
SQL> create tablespace 表空間名
datafile '文件路徑'
size 文件大小
extent management 區管理方式(有local,dictionary兩種,默認為local)
segment sapce management auto ;(自動管理segment)
// 臨時數據表空間
SQL> create temporary tablespace 表空間名
tempfile '文件路徑'
size 文件大小;
// 回滾段表空間
SQL> create undo tablespace 表空間名
datafile '文件路徑'
size 文件大小;
以上就是Oracle數據庫邏輯結構,總體來看,Oracle數據庫邏輯結構只有4個方面,但詳細去看的話,內容還是很復雜的,需要我們花費不少時間去學習。本站的Oracle教程中,有Oracle數據庫邏輯結構圖,我們結合本文來看效果更佳。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習