Oracle數(shù)據(jù)庫的系統(tǒng)結構
Oracle數(shù)據(jù)庫由存放在磁盤上的數(shù)據(jù)庫(DB)和對磁盤上的數(shù)據(jù)庫進行管理的數(shù)據(jù)庫管理系統(tǒng)(DBMS)兩部分構成,分別對應著數(shù)據(jù)庫的存儲結構和軟件結構。
Oracle數(shù)據(jù)庫的存儲結構(StorageStructure)分為物理存儲結構和邏輯存儲結構兩種,分別描述了在操作系統(tǒng)中和數(shù)據(jù)庫系統(tǒng)內部數(shù)據(jù)的組織管理方式。其中,物理存儲結構表現(xiàn)為操作系統(tǒng)中一系列文件)邏輯存儲結構是對物理存儲結構的邏輯組織與管理。
Oracle數(shù)據(jù)庫的軟件結構,即Oracle實例(Instance),包括內存結構與后臺進程結構兩部分。
具體關系如下圖所示:

用戶的所有操作都是通過實例完成的,首先在內存結構中進行,在一定條件下由數(shù)據(jù)庫的后臺進程結構寫入數(shù)據(jù)庫的物理存儲結構做永久保存。
2.Oracle數(shù)據(jù)庫存儲結構oracle 數(shù)據(jù)庫的存儲結構分為物理存儲結構和邏輯存儲結構兩種。物理存儲結構主要用于描述oracle 數(shù)據(jù)庫外部數(shù)據(jù)的存儲,即在操作系統(tǒng)層面中如何組織和管理數(shù)據(jù),與具體的操作系統(tǒng)有關。邏輯存儲結構主要描述oracle 數(shù)據(jù)庫內部數(shù)據(jù)的組織和管理方式,即在數(shù)據(jù)庫管理系統(tǒng)的層面中如何組織和管理數(shù)據(jù),與操作系統(tǒng)沒有關系。
物理存儲結構具體表現(xiàn)為一系列的操作系統(tǒng)文件,是可見的;而邏輯存儲結構時候物理存儲結構的抽象體現(xiàn),是不可見的,可以通過查詢數(shù)據(jù)庫數(shù)據(jù)字典了解邏輯結構信息。
物理存儲結構主要指的是存儲在磁盤上的數(shù)據(jù)文件、控制文件、重做日志文件、歸檔文件等。 邏輯存儲結構包括表空間、段、區(qū)和塊4種。
oracle 數(shù)據(jù)庫的物理存儲結構與邏輯存儲結構既相互獨立又相互聯(lián)系,如下圖:

從物理角度上看,數(shù)據(jù)庫由數(shù)據(jù)文件構成,數(shù)據(jù)存儲在數(shù)據(jù)文件中,從邏輯角度上看,數(shù)據(jù)庫是由表空間構成的,數(shù)據(jù)存儲在表空間中。一個表空間包含一個或者多個數(shù)據(jù)文件,但一個數(shù)據(jù)文件只能屬于一個表空間。
物理存儲結構控制文件(1)控制文件是ORALCE數(shù)據(jù)庫中最重要的物理文件,用于描述整個數(shù)據(jù)庫的結構信息。
控制文件是一個二進制文件,由ORACLE進程讀/寫,在數(shù)據(jù)庫運行于維護階段,數(shù)據(jù)文件及重做日志文件的結構變化信息都記錄在控制文件中。
Oracle建議最少有兩個控制文件,通過多路鏡像技術,將其分散到不同的物理磁盤中。
(2)一個控制文件包括:
DB名稱和標識
DB創(chuàng)建的時間
表空間名稱
數(shù)據(jù)文件和重做日志文件的名稱和位置
當前重做日志文件的序號
檢查點的信息
回退段的開始和結束
重做日志的歸檔信息
備份信息
(3)V$CONTROLFILE:
列出了與實例有關的所有控制文件的名稱和狀態(tài)
SHOW PARAMETERS CONTROL_FILES: 列出控制文件的名稱、狀態(tài)和位置
數(shù)據(jù)文件(1)數(shù)據(jù)文件用于存儲數(shù)據(jù)庫中的所有數(shù)據(jù),一個數(shù)據(jù)庫由多個數(shù)據(jù)文件構成。
(2) 與數(shù)據(jù)文件相關的數(shù)據(jù)字典主要有:
v$datafile
dba_data_files
(3). 數(shù)據(jù)文件默認情況下都是以.dbf結尾的文件,默認情況下與控制文件同一個目錄.
重做日志文件(1)重做日志文件用于記錄對數(shù)據(jù)庫的變更操作,在用戶對數(shù)據(jù)庫的操作出現(xiàn)故障時,可使用該文件進行恢復,以保證數(shù)據(jù)庫系統(tǒng)的安全.
(2)重做日志文件是成組使用的,即日志文件組,每個數(shù)據(jù)庫應至少有兩個重做日志文件組,采用循環(huán)寫的方式工作。每個組可以有一個或多個日志文件,同一組日志文件可進行鏡像,且鏡像的日志文件應存儲在不同的物理磁盤中.
(3)查看重做日志文件信息
V$log:查詢重做日志文件組的基本信息。
V$logfile:查詢重做日志文件的信息。
歸檔日志文件1、數(shù)據(jù)庫運行模式
(1) 非歸檔模式noarchivelog

(2) 歸檔模式archivelog

Oracle的邏輯結構是一種層次結構。主要由:表空間、段、區(qū)和數(shù)據(jù)塊等概念組成。邏輯結構是面向用戶的,用戶使用Oracle開發(fā)應用程序使用的就是邏輯結構。數(shù)據(jù)庫存儲層次結構及其構成關系,結構對象也從數(shù)據(jù)塊到表空間形成了不同層次的粒度關系。

一個或多個連續(xù)的oracle 數(shù)據(jù)塊構成區(qū),一個或多個區(qū)構成段,一個或多個段構成表空間,所有表空間構成數(shù)據(jù)庫。
數(shù)據(jù)塊(Data Block)數(shù)據(jù)庫塊大小是在Oracle創(chuàng)建數(shù)據(jù)庫或表空間時設定的,數(shù)據(jù)塊的大小在創(chuàng)建后是不可以修改的。
數(shù)據(jù)塊是Oracle讀寫數(shù)據(jù)的基本單位,也是輸入/輸出操作的最小單位.
數(shù)據(jù)塊的大小必須是服務器操作系統(tǒng)塊大小的整數(shù)倍。
(盤)區(qū)(Extent)1.概念
也稱為數(shù)據(jù)區(qū),是物理上一組連續(xù)的數(shù)據(jù)塊構成的邏輯存儲單元。
盤區(qū)是段中數(shù)據(jù)增長的基本單位,即是ORACLE存儲空間分配與回收的最小單位。
一個或多個盤區(qū)組成一個段,當一個段的空間被使用完后,系統(tǒng)將自動為該段分配一個新的盤區(qū)。
一個盤區(qū)不能跨越多個文件,因為它必須包含連續(xù)的數(shù)據(jù)塊
數(shù)據(jù)段中,盤區(qū)的個數(shù)受盤區(qū)控制參數(shù)控制
2.區(qū)的管理
(1)區(qū)的分配
表空間的本地管理(LOCAL)方式下,區(qū)分配方式:
統(tǒng)一大小:UNIFORM,指定段的初始區(qū)和后續(xù)區(qū)具有統(tǒng)一的大小。
自動分配:AUTOALLOCATE,由Oracle系統(tǒng)決定后續(xù)區(qū)的大小,用戶不能干預分配。
表空間的字典管理(DICTIONARY)方式下,區(qū)的分配方式: 使用STORAGE子句設置存儲參數(shù)。
(2)區(qū)的回收
通常不論區(qū)中的數(shù)據(jù)塊是否被使用,分配給段的區(qū)會一直保留在段中,只有當段所屬的對象被刪除時,段中所有的區(qū)才會被回收。
段(Segment)段是由一個或多個連續(xù)或不連續(xù)的盤區(qū)構成的邏輯存儲單元,用來保存特定對象,如表、索引、回滾數(shù)據(jù)、臨時數(shù)據(jù)等。段是表空間的組織單位。
(1)段內包含的數(shù)據(jù)區(qū)可以不連續(xù),并且可以跨越多個文件。
(2)段類型
數(shù)據(jù)段:用來存儲表或簇的數(shù)據(jù),普通表數(shù)據(jù)段、分區(qū)表數(shù)據(jù)段、簇數(shù)據(jù)段
索引段:存放索引數(shù)據(jù)(ROWID、索引鍵值)
臨時段:存儲臨時數(shù)據(jù)
回滾(退)段:存儲數(shù)據(jù)庫的回滾信息
表空間(Tablespace)(1)表空間概念
表空間是ORACLE數(shù)據(jù)庫最大的邏輯存儲單元,一個表空間包含一個或多個數(shù)據(jù)文件,一個數(shù)據(jù)文件只能從屬于一個表空間,數(shù)據(jù)庫對象就是存儲在表空間對應的一個或多個數(shù)據(jù)文件中。
(2)表空間類型
在Oracle11g中有以下幾種比較特殊的表空間:
⑴SYSTEM表空間(System Tablespace):系統(tǒng)表空間
⑵SYSAUX表空間(SYSAUX Tablespace):系統(tǒng)輔助表空間
⑶TEMP表空間(Temp Tablespace):臨時表空間
⑷撤消UNDOBS1表空間(Undo Tablespace):撤消表空間
(5)USERS表空間:普通用戶表空間
(6)示例EXAMPLE 表空間:示例表空間
(3)表空間的存儲管理方式
本地管理方式本地管理(Local)的表空間:
創(chuàng)建本地管理方式的表空間時,可指定區(qū)的分配方式:
自動方式:AUTOALLOCATE (默認方式)
統(tǒng)一方式:UNIFORM
字典管理方式
(4)查看表空間信息
V$tablespace:查詢數(shù)據(jù)庫下表空間信息。
Dba_tablespaces:查詢數(shù)據(jù)庫下表空間信息。
到此這篇關于Oracle數(shù)據(jù)庫的系統(tǒng)結構的文章就介紹到這了,更多相關Oracle系統(tǒng)結構內容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!

網(wǎng)公網(wǎng)安備