自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Oracle數(shù)據(jù)庫的體系結(jié)構(gòu)

數(shù)據(jù)庫 Oracle
Oracle數(shù)據(jù)庫是一種功能性很好的關(guān)系數(shù)據(jù)庫管理系統(tǒng),Oracle數(shù)據(jù)庫的操作簡單而且操作速度快,是很多商家首選的數(shù)據(jù)庫,下文中將為大家重點講解Oracle數(shù)據(jù)庫的體系結(jié)構(gòu)。

Oracle數(shù)據(jù)庫體系結(jié)構(gòu)包括四個方面:數(shù)據(jù)庫的物理結(jié)構(gòu)、邏輯結(jié)構(gòu)、內(nèi)存結(jié)構(gòu)及進程。Oracle數(shù)據(jù)庫是一種功能性很好的關(guān)系數(shù)據(jù)庫管理系統(tǒng),Oracle數(shù)據(jù)庫的操作簡單而且操作速度快,是很多商家***的數(shù)據(jù)庫,下文中將為大家重點講解Oracle數(shù)據(jù)庫的體系結(jié)構(gòu)。

1. 物理結(jié)構(gòu)

 

物理數(shù)據(jù)庫結(jié)構(gòu)是由構(gòu)成數(shù)據(jù)庫的操作系統(tǒng)文件所決定,Oracle數(shù)據(jù)庫文件包括:

 

數(shù)據(jù)文件(Data File)

 

數(shù)據(jù)文件用來存儲數(shù)據(jù)庫中的全部數(shù)據(jù),例如數(shù)據(jù)庫表中的數(shù)據(jù)和索引數(shù)據(jù).通常以為*.dbf格式,例如:userCIMS.dbf 。

 

日志文件(Redo Log File)

 

日志文件用于記錄數(shù)據(jù)庫所做的全部變更(如增加、刪除、修改)、以便在系統(tǒng)發(fā)生故障時,用它對數(shù)據(jù)庫進行恢復(fù)。名字通常為Log*.dbf格式,如:Log1CIMS.dbf,Log2CIMS.dbf 。

 

控制文件(Control File)

 

每個Oracle數(shù)據(jù)庫都有相應(yīng)的控制文件,它們是較小的二進制文件,用于記錄數(shù)據(jù)庫的物理結(jié)構(gòu),如:數(shù)據(jù)庫名、數(shù)據(jù)庫的數(shù)據(jù)文件和日志文件的名字和位置等信息。用于打開、存取數(shù)據(jù)庫。名字通常為Ctrl*ctl 格式,如Ctrl1CIMS.ctl。

 

配置文件

 

配置文件記錄Oracle數(shù)據(jù)庫運行時的一些重要參數(shù),如:數(shù)據(jù)塊的大小,內(nèi)存結(jié)構(gòu)的配置等。名字通常為init*.ora 格式,如:initCIMS.ora 。

 

2 邏輯結(jié)構(gòu)

 

Oracle數(shù)據(jù)庫的邏輯結(jié)構(gòu)描述了數(shù)據(jù)庫從邏輯上如何來存儲數(shù)據(jù)庫中的數(shù)據(jù)。邏輯結(jié)構(gòu)包括表空間、段、區(qū)、數(shù)據(jù)塊和模式對象。數(shù)據(jù)庫的邏輯結(jié)構(gòu)將支配一個數(shù)據(jù)庫如何使用系統(tǒng)的物理空間.模式對象及其之間的聯(lián)系則描述了關(guān)系數(shù)據(jù)庫之間的設(shè)計

 

一個數(shù)據(jù)庫從邏輯上說是由一個或多個表空間所組成,表空間是數(shù)據(jù)庫中物理編組的數(shù)據(jù)倉庫,每一個表空間是由段(segment)組成,一個段是由一組區(qū)(extent)所組成,一個區(qū)是由一組連續(xù)的數(shù)據(jù)庫塊(database block)組成,而一個數(shù)據(jù)庫塊對應(yīng)硬盤上的一個或多個物理塊。一個表空間存放一個或多個數(shù)據(jù)庫的物理文件(即數(shù)據(jù)文件).一個數(shù)據(jù)庫中的數(shù)據(jù)被邏輯地存儲在表空間上。

 

表空間(tablespace)

 

Oracle數(shù)據(jù)庫被劃分為一個或多個稱為表空間的邏輯結(jié)構(gòu),它包括兩類表空間,System表空間和非System表空間,其中,System表空間是安裝數(shù)據(jù)庫時自動建立的,它包含數(shù)據(jù)庫的全部數(shù)據(jù)字典,存儲過程、包、函數(shù)和觸發(fā)器的定義以及系統(tǒng)回滾段。除此之外,還能包含用戶數(shù)據(jù)。。

 

一個表空間包含許多段,每個段有一些可以不連續(xù)的區(qū)組成,每個區(qū)由一組連續(xù)的數(shù)據(jù)塊組成,數(shù)據(jù)塊是數(shù)據(jù)庫進行操作的最小單位。

 

每個表空間對應(yīng)一個或多個數(shù)據(jù)文件,每個數(shù)據(jù)文件只能屬于一個表空間。

 

數(shù)據(jù)庫塊(database block)

 

數(shù)據(jù)庫塊也稱邏輯塊或ORACLE塊,它對應(yīng)磁盤上一個或多個物理塊,它的大小由初始化參數(shù)db-block-size(在文件init.ora中)決定,典型的大小是2k。Pckfree 和pctused 兩個參數(shù)用來優(yōu)化數(shù)據(jù)塊空間的使用。

 

區(qū)(extent)

 

區(qū)是由一組連續(xù)的數(shù)據(jù)塊所組成的數(shù)據(jù)庫存儲空間分配的邏輯單位。

 

段(segment)

 

段是一個或多個不連續(xù)的區(qū)的集合,它包括一個表空間內(nèi)特定邏輯結(jié)構(gòu)的所有數(shù)據(jù),段不能跨表空間存放。Oracle數(shù)據(jù)庫包括數(shù)據(jù)段、索引段、臨時段、回滾段等。

 

模式對象(schema object)

 

Oracle數(shù)據(jù)庫的模式對象包括表、視圖、序列、同意詞、索引、觸發(fā)器、存儲.過程等,關(guān)于它們將重點在后面章節(jié)介紹。

 

3.Oracle Server系統(tǒng)進程與內(nèi)存結(jié)構(gòu)

 

當(dāng)在計算機服務(wù)器上啟動Oracle數(shù)據(jù)庫后,稱服務(wù)器上啟動了一個Oracle實例(Instance)。ORACLE 實例(Instance)是存取和控制數(shù)據(jù)庫的軟件機制,它包含系統(tǒng)全局區(qū)(SGA)和ORACLE進程兩部分。SGA是系統(tǒng)為實例分配的一組共享內(nèi)存緩沖區(qū),用于存放數(shù)據(jù)庫實例和控制信息,以實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的治理和操作。

 

進程是操作系統(tǒng)中一個極為重要的概念。一個進程執(zhí)行一組操作,完成一個特定的任務(wù).對ORACLE數(shù)據(jù)庫治理系統(tǒng)來說,進程由用戶進程、服務(wù)器進程和后臺進程所組成。

 

當(dāng)用戶運行一個應(yīng)用程序時,系統(tǒng)就為它建立一個用戶進程。服務(wù)器進程處理與之相連的用戶進程的請求,它與用戶進程相通訊,為相連的用戶進程的ORACLE請求服務(wù)。

 

為了提高系統(tǒng)性能,更好地實現(xiàn)多用戶功能,ORACLE還在系統(tǒng)后臺啟動一些后臺進程,用于數(shù)據(jù)庫數(shù)據(jù)操作。

 

系統(tǒng)進程的后臺進程主要包括:

 

SMON 系統(tǒng)監(jiān)控進程:(system monitor)負責(zé)完成自動實例恢復(fù)和回收分類(sort)表空間。

 

PMON 進程監(jiān)控進程:(PRocess monitor)實現(xiàn)用戶進程故障恢復(fù)、清理內(nèi)存區(qū)和釋放該進程所需資源等。

 

DBWR 數(shù)據(jù)庫寫進程:數(shù)據(jù)庫緩沖區(qū)的治理進程。

 

在它的治理下,數(shù)據(jù)庫緩沖區(qū)中總保持有一定數(shù)量的自由緩沖塊,以確保用戶進程總能找到供其使用的自由緩沖塊。

 

LGWR 日志文件寫進程:是日志緩沖區(qū)的治理進程,負責(zé)把日志緩沖區(qū)中的日志項寫入磁盤中的日志文件上。每個實例只有一個LGWR進程。

 

ARCH 歸檔進程:(archiver process)把已經(jīng)填滿的在線日志文件拷貝到一個指定的存儲設(shè)備上。僅當(dāng)日志文件組開關(guān)(switch)出現(xiàn)時,才進行ARCH操作。ARCH不是必須的,而只有當(dāng)自動歸檔可使用或者當(dāng)手工歸檔請求時才發(fā)出。

 

RECO 恢復(fù)進程:是在具有分布式選項時使用的一個進程,主要用于解決引用分布式事務(wù)時所出現(xiàn)的故障。它只能在答應(yīng)分布式事務(wù)的系統(tǒng)中出現(xiàn)。

 

LCKn 封鎖進程:用于并行服務(wù)器系統(tǒng),主要完成實例之間的封鎖。

 

內(nèi)存結(jié)構(gòu)(SGA)

 

SGA是Oracle為一個實例分配的一組共享內(nèi)存緩沖區(qū),它包含該實例的數(shù)據(jù)和控制信息。SGA在實例啟動時被自動分配,當(dāng)實例關(guān)閉時被收回。數(shù)據(jù)庫的所有數(shù)據(jù)操作都要通過SGA來進行。

 

Buffer Cache:存放數(shù)據(jù)庫中數(shù)據(jù)庫塊的拷貝。它是由一組緩沖塊所組成,這些緩沖塊為所有與該實例相鏈接的用戶進程所共享。緩沖塊的數(shù)目由初始化參數(shù)DB_BLOCK_BUFFERS確定,緩沖塊的大小由初始化參數(shù)DB_BLOCK_SIZE確定。大的數(shù)據(jù)塊可提高查詢速度。它由DBWR操作。

 

b. 日志緩沖區(qū)Redo Log Buffer:存放數(shù)據(jù)操作的更改信息。它們以日志項(redo entry)的形式存放在日志緩沖區(qū)中。當(dāng)需要進行數(shù)據(jù)庫恢復(fù)時,日志項用于重構(gòu)或回滾對數(shù)據(jù)庫所做的變更。日志緩沖區(qū)的大小由初始化參數(shù)LOG_BUFFER確定。大的日志緩沖區(qū)可減少日志文件I/O的次數(shù)。后臺進程LGWR將日志緩沖區(qū)中的信息寫入磁盤的日志文件中,可啟動ARCH后臺進程進行日志信息歸檔。

 

c. 共享池Shared Pool:包含用來處理的SQL語句信息。它包含共享SQL區(qū)和數(shù)據(jù)字典存儲區(qū)。共享SQL區(qū)包含執(zhí)行特定的SQL語句所用的信息。數(shù)據(jù)字典區(qū)用于存放數(shù)據(jù)字典,它為所有用戶進程所共享。

 

Cursors:一些內(nèi)存指針,執(zhí)行待處理的SQL語句

 

其他信息區(qū):除了上述幾個信息區(qū)外,還包括一些進程之間的通訊信息(如封鎖信息);在多線索服務(wù)器配置下,還有一些程序全局區(qū)的信息,請求隊列和響應(yīng)隊列等。

關(guān)于Oracle數(shù)據(jù)庫的體系結(jié)構(gòu)就為大家介紹到這里,希望大家通過上文的學(xué)習(xí)之后,對Oracle數(shù)據(jù)庫有一個更深入的了解,***,希望大家都能夠從上文中涉及到的內(nèi)容中有所收獲。

 

責(zé)任編輯:迎迎 來源: 中國IT實驗室
相關(guān)推薦

2010-04-01 16:40:17

Oracle數(shù)據(jù)庫

2010-04-08 09:46:27

Oracle體系結(jié)構(gòu)

2009-03-30 10:53:37

體系結(jié)構(gòu)數(shù)據(jù)倉庫Oracle

2010-04-23 09:13:05

Oracle體系結(jié)構(gòu)

2010-04-01 16:54:06

Oracle體系結(jié)構(gòu)

2009-06-26 15:58:28

EJB

2010-04-20 10:23:06

Oracle入門

2020-02-18 16:07:17

物聯(lián)網(wǎng)表存儲數(shù)據(jù)庫

2010-04-07 14:34:11

2011-03-18 14:17:35

Oracle數(shù)據(jù)庫體系架構(gòu)

2012-02-06 17:22:44

MySQL

2014-07-23 09:33:52

2009-07-15 13:46:26

Swing體系結(jié)構(gòu)

2010-04-08 10:02:15

Oracle體系結(jié)構(gòu)

2011-03-07 13:30:53

Oracle數(shù)據(jù)庫

2009-09-11 10:38:03

LINQ體系結(jié)構(gòu)

2010-04-08 10:17:37

Oracle體系結(jié)構(gòu)

2010-04-15 13:01:25

Oracel數(shù)據(jù)庫

2013-08-01 11:17:20

SAP

2009-09-08 14:34:42

Linq to SQL
點贊
收藏

51CTO技術(shù)棧公眾號