本書主要介紹Oracle數據庫的基本概念、知識和技術,注重培養Oracle數據庫技術的基本操作技能。本書內容體系完整,覆蓋了Oracle數據庫技術的主要組成部分,設置有Oracle數據庫概述、管理與開發工具、數據庫運行狀態維護、物理存儲結構、邏輯存儲結構、數據庫對象管理、數據庫安全管理、數據庫備份與恢復以及PL/SQL程序設計等9個章節內容。為滿足實際教學的需要,每章后面均附有課后習題,附錄提供了7個實驗項目,可以作為實驗教學內容。此外,本書有配套的在線課程資源服務網站,免費提供課后習題及實驗項目的參考答案、課件PPT以及試題庫等教學資源,并可以進行在線互動交流。
本書適合作為本科院校和高職院校計算機相關專業的教材,也適合作為Oracle數據庫技術的自學或者培訓教材。
1.本書以Oracle 12c為平臺,系統講解Oracle數據庫的基礎概念、知識和技術,注重基本操作技能的培養。
2.重點突出,詳略得當,詳細介紹了重點技術內容,簡明扼要講解較為繁瑣的理論內容。
3.提供大量實用性強的操作實例,并通過代碼演示及操作截圖的方式直觀介紹Oracle數據庫技術,適合初學者閱讀和實踐。
4.每章配有練習題,幫助讀者鞏固所學知識,附錄提供七個實驗項目,可以作為實驗教學內容。
5.提供各章教學PPT、課后練習題及實驗項目的參考答案,在自有平臺學者網創建在線課程,共享各類課程資源,提供互動交流服務。網址為:http://www.scholat.com/course/odbt。
第5章chapter5
邏輯存儲結構接正文接標題1.1微型計算機簡介本章學習目標
了解Oracle數據庫邏輯存儲結構的組成部分
理解Oracle數據庫物理存儲結構與邏輯存儲結構的關系
掌握表空間的管理方法
掌握段、區以及數據塊的管理方法邏輯存儲結構描述了Oracle數據庫的內部組織形式,它包含表空間、段、區以及數據塊等組成部分,本章將主要介紹這些邏輯存儲結構的基本管理方法。
5.1邏輯存儲結構概述
邏輯存儲結構是指Oracle數據庫的邏輯構成形式,它的組成部分按層次等級劃分為表空間、段、區以及數據塊,最高層是表空間,表空間可以包含多個段,多個區又可以組成一個段,段又由多個數據塊組成。
邏輯存儲結構與物理存儲結構分別從邏輯和物理的角度描述了數據庫的組成部分,兩者共同組成了Oracle數據庫的存儲結構(圖51),同時兩者既有本質上的區別也有密切的聯系。
首先,邏輯存儲結構并沒有與物理存儲結構一樣在操作系統層面存在結構信息數據,其相關信息存儲在數據字典中。
其次,邏輯存儲結構中的表空間與物理存儲結構中的數據文件是包含關系,數據文件必須要指定表空間進行統一管理,表空間可以包含多個數據文件。
此外,邏輯存儲結構中的數據塊(Block)大小與物理存儲結構中的操作系統數據塊(OS_block)大小是整數倍關系。◆Oracle數據庫技術基礎教程第◆5章邏輯存儲結構圖51Oracle數據庫的存儲結構
5.2表空間〖1〗5.2.1概述表空間(Tablespace)是Oracle數據庫邏輯結構中最大的邏輯劃分,一個數據庫可以包含多個表空間,但一個表空間只能屬于一個數據庫。同時,一個表空間可以包含多個數據文件,但一個數據文件只能屬于一個表空間。由于表空間中的數據文件主要用于存儲數據對象中的表數據,所以稱為表空間。Oracle數據庫中的表空間主要分為系統表空間和非系統表空間兩種類型,這兩類表空間的作用以及包含的內容分別描述如下。
1. 系統表空間
系統表空間在Oracle數據庫創建時自動創建,其包括system和sysaux兩個表空間,其中,system表空間是系統默認的表空間,專門用于存放數據字典以及各種數據對象的定義等。sysaux是system的輔助表空間,主要用于存放數據庫組件、表統計以及數據庫審計等信息。
2. 非系統表空間
非系統表空間主要包括用戶表空間(users)、臨時表空間(temp)以及撤銷表空間(undotabs)三種類型,其中,users表空間用于存放用戶創建的各類數據庫對象的應用數據,temp表空間專門用于存放各類系統產生的臨時數據,例如,SQL語句進行數據排序時產生的中間數據,undotabs表空間則專門用于存放數據庫的回滾(rollback)信息,支持數據庫的事務回滾操作。在實際應用中,用戶可以創建多個undotabs表空間,默認的表空間命名方式為undotabs1,undotabs2,…,undotbsn。除了users、temp和undotabs表空間外,用戶還可以創建多個自定義的普通表空間,專門用于為各類應用系統的數據劃分存放位置,這類表空間也歸為非系統表空間的范疇。
從Oracle 11g版本開始,Oracle數據庫還引入了另外一個表空間類型: 大文件表空間(Bigfile tablespace)。與普通的表空間允許包含多個小數據文件(最多為1024個)不同的是,大文件表空間只包含一個大文件,在64位的操作系統中,該大文件的存儲容量理論上可以達到8EB,從而可以用于創建超大型數據庫,但也需要用戶提供相匹配的磁盤存儲空間。