以下例子大體上描述了oracle進行更新(update)時操作的主要步驟。在例子所描繪的oracle配置中,使用者和相關的服務程序處在不同的計算機 中,通過網路連線。
在執行oracle的計算機上啟動乙個例項(這台計算機也被稱為主機(host)或資料庫伺服器(database server))。
執行應用程式的計算機(也被稱為本地計算機(local computer)或客戶端工作站(client workstation))中啟動了使用者程序(user process)。客戶端 應用程式使用與所在網路環境相匹配的oracle網路服務驅動與伺服器建立連線。
資料庫伺服器 也執行與網路環境相匹配的oracle網路服務驅動。當伺服器監聽到應用程式的請求後,就建立專用伺服器程序為對應的使用者程序提供服務。
使用者執行sql語句、提交事務(transaction)。例如,使用者改變資料表內某一行的資料。
服務程序收到使用者提交的語句後,先在共享池(shared pool)中查詢是否存在與此語句相同的共享sql區(shared sql area)。如果存在,服務程序就檢查使用者是否有訪問所請求資料的許可權,滿足許可權要求的話,就使用已有的共享sql區來處理sql語句。如共享sql區不存 在,服務程序要為使用者提交的sql語句建立新的共享sql區,用來解析、處理此語句。
服務程序從資料檔案 (邏輯上看就是資料表)或sga 中獲得所需的資料。
服務程序修改sga中的資料。由於事務已經提交,lgwr程序立即在重做日誌檔案(redo log file)中記錄此事務。而dbwn程序則在適當的時機將修改過的資料塊寫入磁碟。
如事務成功,服務程序通過網路通知應用程式。如不成功,則向應用程式提交錯誤資訊。也就是說,服務程序在事務處理完畢後,向使用者返回處理的結果或是處理出錯的資訊。
在整個過程中,還有一些未提到的後台程序在執行,它們對整個過程進行監控,在需要時參與進來。此外資料庫伺服器還要管理其它使用者的事務,防止請求相同資料 的事務之間產生競爭(contention)。
摘自《oralce concept》第一章「1 introduction to the oracle database」
nginx大概工作機制
1.master和worker nginx啟動後,會有2種程序 worker和master worker可能有多個 master程序負責管理分配任務,worker程序負責實際工作 worker工作機制 當客戶端傳送乙個請求後,master接收請求,然後後分配給worker 分配的機制為爭搶 work...
HTTP請求的大概流程
當在瀏覽器中,輸入乙個 url,http請求及返回的過程時間節點如下。為什麼先做redirect,因為瀏覽器很可以已經記錄過這個要訪問的位址以及永久跳轉成的乙個新位址,所以一開始瀏覽器需要判斷,是否需要redirect 以及redirect 到 第二步是看快取。因為請求的資源可能已經快取過了,如果有...
Hbase寫資料大概流程
1.發起put請求,put的時候連線zookeeper客戶端,zk進行校驗 master是否存在,是否能寫 2.然後返回乙個meta元資料位置,就知道meta元資料資訊在哪個機器上 4.然後開始解析,解析put的資料應該儲存在哪個機器的哪個region上,找到位置後就請求這個機器rs要寫資料,一邊往...