Oracle是一種關係數據庫管理系統(RDBMS)。關係數據庫是按照二維表結構方式組織的數據集合,每一個表體現了集合理論中定義的數學概念 ── 關係。數據庫
數據庫(Database)是一個數據容器,它包含了表、索引、視圖、過程、函數、包等對象,並對其進行統一的管理。緩存
1、數據庫的內部結構:服務器
1.表空間(TABLESPACE)函數
做用:性能
一、合理利用資源spa
二、提升系統的效率和性能操作系統
system 表空間:存放oralce內部結構和數據字典日誌
sysaux 表空間:存放新增的表空間xml
undo 表空間:存放撤銷信息對象
users 表空間: 存放用戶信息的(數據庫管理員的信息)
temp 表空間: 提供用戶臨時使用
2. 表(TABLE)
列 字段(列名 長度 類型)
行 記錄
3. 約束條件(CONSTRAINT)
一、主鍵約束(primayr key):最多隻有一個,惟一的
二、缺省( default ): 默認值
三、檢查(check):保證列的值符合必定條件
四、惟一性(unique):保證列的值惟一
五、外鍵(foreign key):參照 delete cascade
4.分區(PARTITION)
分紅小表,叫分區
5.索引(INDEX)
幫助快速查找,保證列值得惟一性
6. 用戶(USER)
只得是用戶擁有的數據庫對象
7.方案(SCHEMA)
用戶的方案,能夠操縱哪些表
8.同義詞
別名
9.權限及角色(ROLE)
賦予某個角色一些增刪改查的權限
10.段(SEGMENT)、盤區(EXTENT)和數據塊(DATA BLOCK)
段 就是數據庫對象,它消耗存儲空間,如表、索引、回滾段等。當建立表的時候,將建立一個表段,當建立一個分區表時,即在每一個分區上建立一個段,當建立索引 時,將建立一個索引段,每個消耗存儲空間的對象最終被存儲在一個單一的段中,有回滾段,臨時段,聚簇段、索引段等。一個段能夠擁有來自許多不通數據文件 中的盤區
盤區由塊組成,一個塊是在Oracle中空間分配的最小單元,是Oracle讀寫磁盤的對象,Oracle中的塊一般有3個常見的大小 ,2K ,4K,8K。
一個段是由一個或多個盤區所組成,一個盤區是由一些連續分配的塊。
數據塊(Oracle Data Blocks),本文簡稱爲「塊」,是Oracle最小的存儲單位,Oracle數據存放在「塊」中。一個塊佔用必定的磁盤空間。特別注意的是,這裏的「塊」是Oracle的「數據塊」,不是操做系統的「塊」。Oracle請求的數據量不到一塊,Oracle也會讀取整個塊。因此說,「塊」是Oracle讀寫數據的最小單位或者最基本的單位
2、數據庫外部結構
一、數據文件(DATAFILE):
在建立一個新的表空間的時候,在內存裏給它分配一個文件夾
如:datafile 'd:/hello1.dbf'
二、重作日誌文件(REDO LOG FILES)
當數據被破壞時,用於恢復
三、控制文件(CONTROL FILES)
用於記錄數據庫的外部結構
一、數據庫的名稱和構建時間
二、數據庫文件與重置日誌和名稱的所在位置
三、日誌記錄的序列碼
4. 表
用來存儲和操做數據的結構,由行和列組成
5.表結構 :
表結構:由固定的列組成
記錄:行數據組成
字段:由數據項構成
關鍵字:區分行記錄
它們之間的關係 :
一、一對一
二、一對多
三、多對多
6. 實例
數據庫實例是用於和操做系統進行聯繫的標識,也就是說數據庫和操做系統之間的交互使用的是數據庫實例。
7.系統全局區
當激活Oracle 12C數據庫時,系統會先在內存內規劃一個固定區域,用來存儲每位使用者所需存取的數據以及Oracle 12C運做時必備的系統信息。
這個區域稱爲系統全局區(System Global Area),俗稱SGA 。(一組共享的內存結構,存儲裏實例的數據和控制的文件信息)
(1)數據塊緩存區。 用來存儲讀取數據塊副本
(2)字典緩存區。存儲用戶帳號、數據文件名、盤區位置、表說明、權限等
(3)重作日誌緩衝區:用於恢復
(4)SQL共享池:用於存儲字典以及庫緩存
程序全局區(PGA)
內存區,包含每一個服務器的數據和控制信息
8.後臺進程
數據庫的物理結構和存儲結構之間的關係是由後臺進程來維持。
主要的背景處理程序下。
(1)DBWR(數據庫寫入程序):
(2)LGWR(日誌寫入程序):
(3)SMON(系統監控程序):
(4)PMON(進程監控程序):
(5)CKPT(檢查點進程):
(6)RECO(恢復進程):
(7)ARCH(歸檔進程):