国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

事務的相關知識

2024-07-21 02:06:13
字體:
來源:轉載
供稿:網友
,歡迎訪問網頁設計愛好者web開發。
用戶會話只是用戶到數據庫的一個連接,而用戶對數據庫的操作則是通過會話中的一個個事務來進行的。對事務的管理不僅僅是dba的任務,每個發布事務的用戶也能夠對自已的事務進行管理。

事務的開始:
oracle中的事務由遇到的第一條可執行sql語句開始。
ddl (data definition language)
dml(data manipulation language )    

事務的結束:
·用戶執行commit或rollback語句
·用戶執行一條ddl語句,比如create,drop,rename,alter。如果當前事務中包含有已經執行的dml語句,oracle首先提交事務,然后再將ddl語句作為一個新的只包含一條語句的事務執行并提交。
·用戶主動斷開到oracle的連接。
·用戶進程意外中止。

提交事務前完成的工作:
·在sga區的回退緩存中生成該事務的回退條目。在回退條目中保存有該事務所修改的數據的原始版本。
·在sga區的重做日志緩存中生成該事務的重做記錄。重做記錄中記載了該事務對數據塊所進行的修改,并且還記載了對回退段中的數據塊所進行的修改。緩存中的重做記錄有可能在事務提交之前就寫入硬盤中。
·在sga區的數據庫緩豐中記錄了事務對數據庫所進行的修改。這些修改也有可能在事務提交之前就寫入硬盤中。

提交事務時完成的工作:
·在為該事務指定的回退段中的內部事務表內記錄下這個事務已經被提交,并且生成一個惟一的scn記錄在內部事務表中,用于惟一標識這個事務。
·lgwr后進進程將sga區重做日志緩存中的重做記錄寫入聯機重做日志文件。在寫入重做日志的同時還將寫入該事務的scn。
·oracle服務進程釋放事務所使用的所有記錄鎖與表鎖。
·oracle通知用戶事務提交完成。
·oracle將該事務標記為已完成。

回退事務完成的工作:
·oracle通過使用回退段中的回退條目,撤銷事務中所有sql語句對數據庫所做的修改。
·oracle服務進程釋放事務所使用的所有鎖
·oracle通知事務回退成功。
·oracle將該事務標記為已完成

事務的隔離等級:
(servers=dedicated)
set transaction isolation level read committed
set transaction isolation level serializable
set transaction read only
set transaction read write

alter session set isolation_level=serializable
alter session set isolation_level=read commited

讀一致性的工作機制:
設定查詢語句的scn:10023
該查詢語句在搜索所需要的數據塊時,
如果所需數據塊的scn<=10023,則讀取。
如果所需數據塊的scn>10023,查詢語句將從回退段中獲取對應的數據塊的原始版本(原始版本的scn同樣要<=10023)
這樣,通過對數據塊的scn進行比較,查詢語句將只返回在它開始執行之前已經提交的數據,保證了不會讀取到未提交事務所修改的臟數據塊,也不會讀取到語句開始執行后再提交的數據塊。

定義私有回退段
set transaction use rollback segment xxx

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 霍邱县| 宣汉县| 昌吉市| 盐边县| 郯城县| 南城县| 芜湖市| 尉氏县| 宜城市| 定兴县| 南部县| 化隆| 舟山市| 永寿县| 鞍山市| 平乐县| 观塘区| 长岭县| 杭锦后旗| 徐汇区| 汝阳县| 古丈县| 托克托县| 盱眙县| 青海省| 政和县| 东海县| 普定县| 海林市| 波密县| 安远县| 波密县| 穆棱市| 上蔡县| 仁布县| 广平县| 郁南县| 高碑店市| 公主岭市| 中方县| 东港市|