oracle簡介
oracle database,又名 oracle rdbms,簡稱 oracle。是甲骨文公司推出的一款關系數據庫管理系統。
oracle數據庫系統是目前世界上流行的關系數據庫管理系統,擁有可移植性好、使用方便、功能強等優點,在各類大、中、小、微機環境中都適用。
oracle是一種高效率、可靠性好的、適應高吞吐量的數據庫解決方案。
數據庫和實例
oracle數據庫服務器由一個數據庫和至少一個數據庫實例組成。 數據庫是一組存儲數據的文件,而數據庫實例則是管理數據庫文件的內存結構。此外,數據庫是由后臺進程組成。
數據庫和實例是緊密相連的,所以我們一般說的oracle數據庫,通常指的就是實例和數據庫。
下圖說明了oracle數據庫服務器體系結構:
在這種體系結構中,oracle數據庫服務器包括兩個主要部分:文件(oracle數據庫)和內存(oracle實例)。
1.oracle數據庫
oracle數據庫的一個基本任務是存儲數據,以下部分簡要地介紹oracle數據庫的物理和邏輯存儲結構。
1.1.物理存儲結構
物理存儲結構是存儲數據的純文件。當執行一個create database語句來創建一個新的數據庫時,將創建下列文件:
● 數據文件 :數據文件包含真實數據,例如銷售訂單和客戶等。邏輯數據庫結構(如表和索引)的數據被物理存儲在數據文件中。
● 控制文件 :每個oracle數據庫都有一個包含元數據的控制文件。元數據用來描述包括數據庫名稱和數據文件位置的數據庫物理結構。
● 聯機重做日志文件 :每個oracle數據庫都有一個聯機重做日志,里面包含兩個或多個聯機重做日志文件。聯機重做日志由重做條目組成,能夠記錄下所有對數據所做的更改。
除這些文件外,oracle數據庫還包括如參數文件、網絡文件、備份文件以及用于備份和恢復的歸檔重做日志文件等重要文件。
1.2.邏輯存儲結構
oracle數據庫使用邏輯存儲結構對磁盤空間使用情況進行精細控制。以下是oracle數據庫中的邏輯存儲結構:
● 數據塊(data blocks) :oracle將數據存儲在數據塊中。數據塊也被稱為邏輯塊,oracle塊或頁,對應于磁盤上的字節數。
● 范圍(extents) :范圍是用于存儲特定類型信息的邏輯連續數據塊的具體數量。
● 段(segments) :段是分配用于存儲用戶對象(例如表或索引)的一組范圍。
● 表空間(tablespaces) :數據庫被分成稱為表空間的邏輯存儲單元。 表空間是段的邏輯容器。 每個表空間至少包含一個數據文件。
下圖說明了表空間中的段,范圍和數據塊:
下圖顯示了邏輯和物理存儲結構之間的關系:
2.oracle實例
oracle實例是客戶端應用程序(用戶)和數據庫之間的接口。oracle實例由三個主要部分組成:系統全局區(sga),程序全局區(pga)和后臺進程 。如下圖所示 :
sga是實例啟動時分配的共享內存結構,關閉時釋放。 sga是一組包含一個數據庫實例的數據和控制信息的共享內存結構。
不同于所有進程都可用的sga,pga是會話開始時為每個會話分配的私有內存區,當會話結束時釋放。
主要的oracle數據庫的后臺進程
以下是oracle實例的主要后臺進程:
● pmon是oracle數據庫中最活躍的一個進程,是調節所有其他進程的進程監視器。pmon能夠清理異常連接的數據庫連接,并自動向偵聽器進程注冊數據庫實例。
● smon 是執行系統級清理操作的系統監視進程。它有兩個主要職責,包括在發生故障的情況下自動恢復實例,例如斷電和清理臨時文件。
● dbwn 是數據庫編寫器。oracle在內存中執行每個操作而不是磁盤。因為在內存中的處理速度比在磁盤上快。dbwn進程從磁盤讀取數據并將其寫回到磁盤。 一個oracle實例有許多數據庫編寫器,如:dbw0,dbw1,dbw2等等。
● ckpt 是檢查點過程。 在oracle中,磁盤上的數據稱為塊,內存中的數據稱為緩沖區。 當該塊寫入緩沖區并更改時,緩沖區變臟,需要將其寫入磁盤。ckpt進程使用檢查點信息更新控制和數據文件頭,并向臟盤寫入臟緩沖區的信號。 請注意,oracle 12c允許全面和增量檢查點。
● lgwr 是日志寫入過程,是可恢復架構的關鍵。 在數據庫中發生的每一個變化都被寫出到一個名為redo日志文件中用于恢復目的。 而這些變化是由lgwr進程編寫和記錄的。 lgwr進程首先將更改寫入內存,然后將磁盤寫入重做日志,然后將其用于恢復。
● arcn 是歸檔進程,它將重做日志的內容復制到歸檔重做日志文件。存檔程序進程可以有多個進程,如:arc0,arc1和arc3,允許存檔程序寫入多個目標,如d:驅動器,e:驅動器或其他存儲。
● mmon 是收集性能指標的可管理性監控流程。
● mman 是自動管理oracle數據庫內存的內存管理器。
● lreg 是監聽器注冊過程,它使用oracle net listener 在數據庫實例和調度程序進程上注冊信息。
- Oracle 12C安裝教程
- Oracle 數據庫創建導入
- Oracle Or子句
- Oracle LOCK TABLE語句(鎖表)
- Oracle 啟用外鍵
- Oracle Compose()函數
- Oracle Convert()函數
- Memcached add 命令
- Memcached CAS 命令
- Memcached delete 命令
- Memcached incr 與 decr 命令
- Memcached stats sizes 命令
- Java 連接 Memcached 服務
- DB2數據類型
- DB2 別名
- DB2觸發器
- DB2備份和恢復
- DB2 LDAP
- Oracle常用函數超詳細整理
- Oracle試用到期如何刪除注冊表繼續試用30天