總結Oracle程式來調劑一下,未完,待續

louloueva發表於2009-01-13

最近一直在弄RMAN的東西,老對這一個知識點稍微有些枯燥
Oracle的程式是比較基礎的概念
不過個人的學習習慣導致之前沒有弄過什麼總結
只是在一些總結中會提到某個程式
其實程式要深入進去,也是很龐大的工程
不過目前以瞭解為前提,先把經常接觸到的Oracle程式總結總結吧
一邊熟悉RMAN,一邊弄程式,也能多少變換一下思路,提高一些學習效率

Oracle的程式可以分為
使用者程式,執行應用程式或Oracle工具的程式碼
Oracle程式,執行Oracle資料庫伺服器的程式碼,其中包括伺服器程式和後臺程式
另外,Oracle服務模式可以配置為專用伺服器dedicated server,共享伺服器shared server
根據不同的作業系統和服務模式,程式結構也會有所不同

使用者程式,User Processes,使用者在執行Oracle應用程式或工具(SqlPlus,RMAN等)時
Oracle就會建立一個使用者程式來負責執行過程
有兩個相關概念
connection,連線,是指使用者程式與Oracle例項之間的一個互動通道
session,會話,這個是以前經常提到的名詞
它是一種特殊的連線過程,是使用者通過使用者程式連線到Oracle例項
會話持續時間是從使用者建立連線開始,直到使用者斷開連線或退出應用為止
一個使用者可以同時建立多個會話連線
dedicated為每個使用者會話單獨建立一個服務程式,稱之為專用服務程式
dedicated模式不太適合訂單系統等類似應用
shared則會利用共享服務程式池和排程,來為使用者會話提供服務
shared模式需要一個網路監聽程式,一或多個排程程式和一或多個共享服務程式協同工作
監聽程式在例項啟動後會建立一個通訊通道來為使用者提供Oracle連線
使用者程式會發起連線請求,排程程式把等待連線的使用者請求地址提交給監聽程式
監聽器檢測請求並判斷其是否可以連線共享服務程式
對於可連線共享服務程式的請求,監聽器將分配一個適當的排程程式地址
為使用者程式提供排程器的連線
如果是不可連線共享服務程式的請求,監聽器就會為之建立一個專用伺服器
shared模式可以提供更多的客戶端連線數,減少記憶體分配
但shared模式不能進行一些管理操作,比如啟動、關閉例項,媒體恢復等

服務程式,server process,負責連線到例項的使用者程式提交的請求
在應用和Oracle執行在同一機器時,使用者程式可能會與其服務程式合為一個程式
一般情況,一個使用者程式會有一個服務程式來負責它與Oracle的互動
服務程式可以解析並執行提交的SQL
可以將SGA中不存在的資料讀取到SGA共享資料庫緩衝
還可以為應用返回SQL執行結果

後臺程式,background process,相當重要的部分
Oracle例項可能執行著多種後臺程式,可以通過V$BGPROCESS檢視查詢相關資訊

先總結到此,光是弄這些就看的很暈了
再看下去,效果可能不太好
之後還會繼續具體總結,回頭先從後臺開始深入吧 ^_^

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/556359/viewspace-538073/,如需轉載,請註明出處,否則將追究法律責任。

相關文章