oracle架構的基礎知識(入門級)
作者:陸陽
學習oracle,最好首先了解Oracle的框架。這樣對Oracle有一個整體的認識,有高屋建瓴的作用
1、物理結構(由控制檔案、資料檔案、重做日誌檔案、引數檔案、歸檔檔案、口令檔案組成)
一個資料庫中的資料儲存在磁碟上物理檔案,被使用時,調入記憶體。
其中控制檔案、資料檔案、重做日誌檔案、跟蹤檔案及警告日誌(trace files,alert files)屬於資料庫檔案;
引數檔案(parameter file)口令檔案(password file)是非資料庫檔案
1.1資料檔案:儲存資料的檔案.資料檔案典型地代表了根據他們使用的磁碟空間和數量所決定的一個Oracle資料庫的容積。
由於效能原因,每一種型別的資料放在相應的一個或一系列檔案中,將這些檔案放在不同的磁碟中。
types:
.data dictionary .data
.redo data .index
.temporary data 等等
1.2控制檔案:包含維護和驗證資料庫完整性的必要資訊、例如,控制檔案用於識別資料檔案和重做日誌檔案,一個資料庫至少需要一個控制檔案.
控制檔案內容
。資料庫名
。表空間資訊
。所有資料檔案的名字和位置
。所有redo日誌檔案的名字和位置
。當前的日誌序列號
。檢查點資訊
。關於redo日誌和歸檔的當前狀態資訊
控制檔案的使用過程
控制檔案把Oracle引導到資料庫檔案的其它部分。啟動一個例項時,Oracle 從引數檔案中讀取控制檔案的名字和位置。安裝資料庫時,Oracle 開啟控制檔案。最終開啟資料庫時,Oracle 從控制檔案中讀取資料檔案的列表並開啟其中的每個檔案。
1.3重做日誌檔案:含對資料庫所做的更改記錄,這樣萬一出現故障可以啟用資料恢復。一個資料庫至少需要兩個重做日誌檔案.
1.4 跟蹤檔案及警告日誌(Trace Files and Alert Files)
在instance 中執行的每一個後臺程式都有一個跟蹤檔案(trace file)與之相連。Trace file 記載後臺程式所遇到的重大事件的資訊。
警告日誌( Alert Log)是一種特殊的跟蹤檔案,每個資料庫都有一個跟蹤檔案,同步記載資料庫的訊息和錯誤.
1.5引數檔案:包括大量影響Oracle資料庫例項功能的設定,如以下設定:
。資料庫控制檔案的定位
。Oracle用來快取從磁碟上讀取的資料的記憶體數量
。預設的最佳化程式的選擇.
和資料庫檔案相關,執行兩個重要的功能
1〉為資料庫指出控制檔案
2〉為資料庫指出歸檔日誌的目標
1.6歸檔檔案:是重做日誌檔案的離線副本,這些副本可能對於從介質失敗中進行恢復很必要。
1.7口令檔案:認證哪些使用者有許可權啟動和關閉Oracle例程.
2、邏輯結構(表空間、段、區、塊)
表空間:是資料庫中的基本邏輯結構,一系列資料檔案的集合。
段:是物件在資料庫中佔用的空間.
區:是為資料一次性預留的一個較大的儲存空間.
塊:ORACLE最基本的儲存單位,在建立資料庫的時候指定.
3、記憶體分配(SGA和PGA)
SGA:是用於儲存資料庫資訊的記憶體區,該資訊為資料庫程式所共享。它包含Oracle 伺服器的資料和控制資訊,它是在Oracle伺服器所駐留的計算機的實際記憶體中得以分配,如果實際記憶體不夠再往虛擬記憶體中寫。
PGA:包含單個伺服器程式或單個後臺程式的資料和控制資訊,與幾個程式共享的SGA 正相反,PGA 是隻被一個程式使用的區域,PGA 在建立程式時分配,在終止程式時回收.
4、後臺程式
包括資料寫程式(Database Writer,DBWR)、日誌寫程式(Log Writer,LGWR)、系統監控(System Monitor,SMON)、程式監控(Process Monitor,PMON)、檢查點程式(Checkpoint Process,CKPT)、歸檔程式、服務程式、使用者程式)
資料寫程式:負責將更改的資料從資料庫緩衝區快取記憶體寫入資料檔案
日誌寫程式:將重做日誌緩衝區中的更改寫入線上重做日誌檔案
系統監控:檢查資料庫的一致性如有必要還會在資料庫開啟時啟動資料庫的恢復
程式監控:負責在一個Oracle 程式失敗時清理資源
檢查點程式:負責在每當緩衝區快取記憶體中的更改永久地記錄在資料庫中時,更新控制檔案和資料檔案中的資料庫狀態資訊。該程式在檢查點出
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29913993/viewspace-1333938/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle架構的基礎知識Oracle架構
- oracle架構的基礎知識(轉)Oracle架構
- 系統架構基礎知識入門指南-下架構
- 系統架構基礎知識入門指南-上架構
- JavaScript 基礎知識入門JavaScript
- MySql入門--基礎知識MySql
- css 入門基礎知識CSS
- Python基礎知識架構Python架構
- 有關 Oracle 的架構的基礎知識簡介(轉)Oracle架構
- JavaScript入門①-基礎知識築基JavaScript
- sql入門基礎知識分享SQL
- Dubbo基礎入門知識點
- Java基礎知識入門-JDKJavaJDK
- Java入門基礎知識點Java
- 架構設計基礎知識整理架構
- Python類的基礎入門知識Python
- Python入門必知的知識點!Python基礎入門Python
- Linux驅動入門基礎基礎知識Linux
- Python基礎知識入門(二)Python
- Python入門基礎知識(二)Python
- 【LaTeX入門】01、LaTeX基礎知識
- [WebGL入門]五,矩陣的基礎知識Web矩陣
- [雲原生微服務架構](十)微服務架構的基礎知識微服務架構
- OpenSSL 入門:密碼學基礎知識密碼學
- Python入門基礎知識例項,Python
- Python入門之基礎知識(一)Python
- WebSocket系列之基礎知識入門篇Web
- oracle 基礎知識Oracle
- 【譯】給小白準備的Web架構基礎知識Web架構
- Oracle基礎構架Oracle
- Android NDK入門:C++ 基礎知識AndroidC++
- 爬蟲開發知識入門基礎(1)爬蟲
- Python 基礎(一):入門必備知識Python
- Python入門基礎知識學什麼?Python
- Python快速入門之基礎知識(一)Python
- Altium Designer 20 入門基礎知識(5)
- Altium Designer 20 入門基礎知識(1)
- 架構師培訓入門知識體系樹架構