大體描述一下oracle在更新時的各種操作

與刃爭鋒發表於2014-01-14
0-在執行oracle上啟動一個instance

1-客戶端計算機啟動使用者程式user process,客戶端應用使用與所在網路環境相匹配的oracle網路服務驅動,與伺服器建立連線.


2-資料庫伺服器也執行於網路環境相匹配的oracle網路服務驅動,當伺服器監聽到應用程式的請求後,建立專用伺服器程式為對應的使用者程式服務


3-使用者執行SQL語句,提交事務,比如update一行


4-
伺服器程式收到使用者提交的語句後,先在shared pool中查詢是否存在與此語句相同的共享SQL區,如果存在,伺服器程式就檢查使用者是否有訪問所請求資料的許可權,如果有,就使用共享SQL區來處理SQL語句,如果共享SQL區不存在,服務程式要為使用者提交的SQL語句建立新的SQL共享區,用來解析,處理此語句.

5-服務程式從資料檔案或SGA中獲得所需的資料.

6-服務程式修改SGA中的資料,由於事務已提交,LGWR立即在重做日誌檔案中記錄此事務,而DBWn則在適當的時機將修改過的資料塊寫入磁碟.


7-
如果事務成功,服務程式通過網路通知應用程式,不成功則提交錯誤資訊.

8-在整個過程中,還有一些後臺程式在執行,它們對整個過程進行監控.在需要時參與進來,此外資料庫伺服器還要管理其他使用者的事務,防治請求相同資料的事務之間產生競爭.

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

相關文章