oracle數據庫 oracle數據庫應用結構包括?
oracle數據庫應用結構包括?Oracle數據庫的體系結構包括四個方面:數據庫的物理結構、邏輯結構、內存結構和進程。1.物理結構物理數據庫結構由組成數據庫的操作系統文件決定。Oracle數據庫文件包

oracle數據庫應用結構包括?
Oracle數據庫的體系結構包括四個方面:數據庫的物理結構、邏輯結構、內存結構和進程。
1.物理結構
物理數據庫結構由組成數據庫的操作系統文件決定。Oracle數據庫文件包括:
數據文件(數據文件)
數據文件用于存儲數據庫中的所有數據,例如數據庫表中的數據和索引數據。通常是在*。dbf格式,例如,userCIMS.dbf
日志文件(重做日志文件)
日志用于記錄數據庫所做的所有更改(如添加、刪除和修改),以便在系統出現故障時可以用來恢復數據庫。該名稱通常在Log*中。dbf格式,如log 1 IMS . DBF、log 2 IMS . DBF
控制文件(控制文件)
每個Oracle數據庫都有相應的控制文件,這些文件是小型的二進制文件,用于記錄數據庫的物理結構,如數據庫名稱、數據庫的數據文件和日志文件的名稱和位置。用于打開和訪問數據庫。該名稱通常采用Ctrl*ctl格式,如Ctrl1CIMS.ctl.
配置文件
配置文件記錄了Oracle數據庫運行時的一些重要參數,如數據塊的大小、內存結構的配置等。該名稱通常在init*中。ora格式,如initCIMS.ora
2邏輯結構
Oracle數據庫的邏輯結構描述了數據庫如何以邏輯方式存儲數據庫中的數據。該結構包括表空間、段、區、數據塊和模式對象。數據庫的邏輯結構將控制數據庫如何使用系統的物理空間。模式對象及其關系描述了關系數據庫的設計。
從邏輯上講,數據庫由一個或多個表空間組成,表空間是數據庫中物理分組的數據倉庫。每個表空間由段組成,段由一組盤區組成,區域由一組連續的數據庫塊組成,一個數據庫塊對應硬盤上的一個或多個物理塊。表空間存儲一個或多個數據庫的物理文件(即數據文件)。數據庫中的數據邏輯上存儲在表空間中。
表(表空間)
Oracle數據庫分為一個或多個邏輯結構,稱為表空間,包括兩種類型的表空間,系統表空間和非系統表空間。其中,系統表空間是在數據庫安裝時自動建立的,它包含數據庫的所有數據字典、存儲過程、包、函數和觸發器的定義以及系統回滾段。此外,它還可以包含用戶數據。
一個表空間包含許多段,每個段由一些不連續的區域組成,每個區域由一組連續的數據塊組成,這些數據塊是數據庫操作的最小單位。
每個表空間對應一個或多個數據文件,每個數據文件只能屬于一個表空間。
數據庫塊(數據庫塊)
數據庫塊也稱為邏輯塊或ORACLE塊,對應于磁盤上的一個或多個物理塊。其大小由初始化參數db-block-size(在init.ora文件中)決定,典型大小為2k。Pckfree和pctused這兩個參數用于優化數據塊空間的使用。
范圍(范圍)
區域是數據庫存儲空間分配的邏輯單位,由一組連續的數據塊組成。
分段(線段)
段是一個或多個不連續區域的集合,包括表空間定邏輯結構的所有數據。段不能跨表空間存儲。Oracle數據庫包括數據段、索引段、臨時段、回退段等。
模式對象(模式對象)
Oracle數據庫的模式對象包括表、視圖、序列、同意字、索引、觸發器、存儲、過程等。它們將在下面的章節中介紹。
3.Oracle服務器系統進程和內存結構
當Oracle數據庫在計算機服務器上啟動時,我們稱之為在服務器上啟動了一個Oracle實例。ORACLE實例是一種訪問和控制數據庫的軟件機制,包括系統全局區(SGA)和ORACLE進程。SGA是系統為實例分配的一組共享內存緩沖區,用于存儲數據庫實例和控制信息,以便管理和操作數據庫中的數據。
進程是操作系統中一個極其重要的概念。進程執行一組操作來完成特定的任務。對于ORACLE數據庫管理系統,進程由用戶進程、服務器進程和后臺進程組成。
當用戶運行一個應用程序時,系統為它建立一個用戶進程。服務器處理連接的用戶進程的請求,與用戶進程通信,并為連接的用戶進程的ORACLE請求提供服務。
為了提高系統性能,更好地實現多用戶功能,ORACLE還在系統后臺啟動一些后臺進程,進行數據庫數據操作。
系統后臺流程主要包括:
SMON系統監視進程:(系統監視器)負責自動實例恢復和排序表空間回收。
PMON進程監控進程:(進程監控器)實現用戶進程的故障恢復,清理內存區,釋放進程所需的資源。
DBWR數據庫寫進程:數據庫緩沖區的管理進程。
在其治理下,數據庫緩沖區中總是保持一定數量的空閑緩沖塊,以保證用戶進程總能找到空閑緩沖塊供其使用。
LGWR日志文件寫入過程:是日志緩沖區的治理過程,負責將日志緩沖區中的日志條目寫入磁盤中的日志文件。每個實例只有一個LGWR進程。
ARCH進程:(歸檔進程)將填充的在線日志文件復制到指定的存儲設備。只有當日志文件組開關出現時,才執行ARCH操作。ARCH不是必需的,但只有在自動歸檔可用或發出手動歸檔請求時才會發出。
RECO恢復流程:分布式選項可用時使用的流程,主要用于解決引用分布式事務時出現的故障。它只能出現在允許分布式事務的系統中。
LCKn阻塞進程:用于并行服務器系統,主要是阻塞實例。
記憶(SGA)
SGA是Oracle為實例分配的一組共享內存緩沖區,包含實例的數據和控制信息。SGA在實例啟動時自動分配,在實例關閉時收回。數據庫的所有數據操作都應通過SGA進行。
根據存儲信息的不同,SGA中的內存可以分為以下幾個區域:緩沖區緩存:用來存儲數據庫中數據庫塊的副本。它由一組緩沖塊組成,這些緩沖塊由鏈接到該實例的所有用戶進程共享。緩沖塊的數量由初始化參數DB_BLOCK_BUFFERS確定,緩沖塊的大小由初始化參數DB_BLOCK_SIZE確定。大數據塊可以提高查詢速度。它由DBWR運營。
B.日志緩沖區重做日志緩沖區:存儲數據操作的變化信息。它們以重做條目的形式存儲在日志緩沖區中。當需要數據庫恢復時,日志條目用于重建或回滾對數據庫所做的更改。日志緩沖區的大小由初始化參數LOG_BUFFER決定。大型日志緩沖區可以減少日志文件的I/O數量。后臺進程LGWR將日志緩沖區中的信息寫入磁盤的日志文件中,并可以啟動ARCH后臺進程對日志信息進行歸檔。
C.共享池:包含用于處理的SQL語句信息。它包含共享SQL區和數據字典存儲區。共享SQL區域包含用于執行特定SQL語句的信息。數據字典區用于存儲數據字典,由所有用戶進程共享。