ORACEL 中 事務執行過程

2021-06-02 12:44:38 字數 681 閱讀 1137

事務執行過程

1、伺服器程序拾取該事務所持有的sql語句到共享池中,查詢是否有包含該sql語句的共享sql區。如果有,則檢查該使用者是否有訪問所涉及的資料的許可權,如果有,則使用共享sql區來處理該sql語句。如果沒有找到共享sql區,則分配乙個新的sql區來分析、處理該sql語句。如果沒有許可權,則直接返回並提示許可權不足。

2、鎖定該sql語句所涉及的操作物件。

3、伺服器程序在sga中運算元據(如果存在sga中),或者先從資料檔案中獎資料讀取到sga中然後運算元據。

4、在適當的時候,lgwr後台程序將已經緩衝的重做日誌寫入到聯機重做日誌檔案中。dbwr後台程序將資料快取記憶體中的被更改過的資料塊寫入到資料檔案中。

5、為該事務自動產生乙個遞增的scn。oracle使用scn來確定資料庫在某個時間點的一致性狀態,用來進行併發控制,和進行資料庫的恢復。可以將scn理解為資料庫的時鐘。scn會被記錄在控制檔案、資料檔案的頭部、資料塊的頭部和重做記錄中。

6、lgwr後台程序將所有剩餘的、已經緩衝的重做日誌和當前的scn寫入到聯機重做日誌檔案中。

7、釋放該事務中sql語句所占有的系統資源,並解除對所涉及的操作物件的鎖定。

8、如果事務是成功的,則返回成功提示的**,否則返回乙個錯誤提示的**。

9、在某個恰當的時間點,dbwr後台程序將仍然保留在資料快取記憶體中被更改過的資料塊(也就是髒資料塊塊)寫入到資料檔案中

oracel 定時執行儲存過程

一 環境 oracel 11g 二 步驟 1 建立儲存過程 例如 儲存過程邏輯為 在表中插入一條資料 create or replace procedure 儲存過程名稱 is begin insert into t tset job test id,create time values seq t...

Oracel 事務和鎖

事務和鎖是兩個聯絡非常緊密的概念。事務很重要,它可以保證多使用者併發系統中資料的完整性。在資料庫中,存在多個使用者同時對某一資料進行讀寫操作的情況,為了確保資料的併發性和一致性,可以使用事務。鎖是oracle資料庫引擎用來同步多個使用者,同時確保對同乙份數值快訪問的機制。鎖可以消除多使用者操作同乙個...

MySql事務執行過程中宕機的應對處理方式?

問題 資料庫插入百萬級資料的時候,還沒操作完,但是把伺服器重啟了,資料庫會繼續執行嗎?還是直接回滾了?答案 不會自動繼續執行,不會自動直接回滾,但是可以人工手動選擇繼續執行或者直接回滾,依據是事務日誌。事務開啟時,事務中的操作,都會先寫入儲存引擎的日誌緩衝中,在事務提交之前,這些緩衝的日誌都需要提前...