oracle產生事務transaction幾種方式或方法
前言
為了設計高可用的資料庫,必須要深入掌握資料庫的事務。但是oracle的事務是一個非常龐大的概念及範圍,需要多方面的梳理與思考,才能理解它的精髓,真正設計一個執行良好的資料庫系統。
資料庫事務是一套非常精巧的機制,可以從這些技術概念進行學習:
-
事務是實現資料庫高併發的基石,非常重要
-
事務和事務隔離級別密切相關
-
事務在執行期間會產生鎖
-
併發事務可能會產生死鎖
-
事務和資料一致性相關,而資料庫一致性又是透過mvcc實現
-
事務基於回滾段,二者又是什麼關係
-
事務和物件的關聯是什麼
-
事務相關聯的鎖,裡面有幾種型別或類別
本文說說產生資料庫事務的幾種方法或方法,萬里長征從頭始,我們一步步來,慢慢邁入資料庫事務的殿堂。
產生事務的幾種方法
-
dml未提交產生事務
-
select for update產生事務
-
set transaction產生事務
-
dbms_transaction產生事務
示例程式碼
dml未提交事務
SQL> create table t_tran(a int); Table created. SQL> insert into t_tran select 1 from dual; 1 row created. SQL> col sql_text for a50 SQL> set linesize 300 SID TADDR SQL_ID PREV_SQL_ID SQL_TEXT ---------- ---------------- ------------- ------------- -------------------------------------------------- 50 0000000084201938 2un55p68csz4r insert into t_tran select 1 from dual
select for update產生事務
SQL> select * from t_tran for update; A ---------- 1 SQL> / SID TADDR SQL_ID PREV_SQL_ID SQL_TEXT ---------- ---------------- ------------- ------------- -------------------------------------------------- 50 0000000084201938 gmd5z3754t8km select * from t_tran for update
set transaction產生事務
SQL> set transaction name 'tran1'; Transaction set. SQL> select * from t_tran; A ---------- 1 SQL> / SID TADDR SQL_ID PREV_SQL_ID SQL_TEXT ---------- ---------------- ------------- ------------- -------------------------------------------------- 50 0000000084201938 3rfg8vk38qhcq select * from t_tran
dbms_transaction產生事務
SQL> exec dbms_transaction.read_only; PL/SQL procedure successfully completed. SQL> / SID TADDR SQL_ID PREV_SQL_ID SQL_TEXT ---------- ---------------- ------------- ------------- -------------------------------------------------- 50 0000000084201938 7j2qb5qfzk4hu BEGIN dbms_transaction.read_only; END;
培訓課件
(收費20元)
聯絡方式
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-2663803/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 獲取或操作DOM元素特性的幾種方式
- oracle 索引訪問的幾種方式Oracle索引
- 【oracle】index的幾種掃描方式OracleIndex
- oracle事務transaction鎖lock一點兒小思考或總結Oracle
- 分散式事務的幾種實現方式分散式
- 【方法整理】Oracle 獲取trace跟蹤檔名的幾種常用方式Oracle
- 幾種實現延時任務的方式(一)
- java定時任務實現的幾種方式Java
- Oracle 產生序列的 6 種方法Oracle
- oracle set transaction read only與dbms_transaction實現事務transaction控制Oracle
- Oracle自治事務autonomous_transaction用法Oracle
- oracle自治事務(PRAGMA AUTONOMOUS_TRANSACTION)Oracle
- Oracle ITL (Interested Transaction List) - 事務槽OracleREST
- Oracle中的自治事務(Autonomous Transaction)Oracle
- css引入的幾種方式CSS
- 幾種結匯方式分享
- COOKIE的幾種操作方式Cookie
- 解析xml的幾種方式XML
- 幾種函式呼叫方式函式
- Unity反射的幾種方式Unity反射
- Spring_11 Transaction(事務) 使用(XML 配置方式)SpringXML
- 產生遞迴呼叫 (Recursive Call 或 recursive SQL statements) 的幾種情況遞迴SQL
- Springboot呼叫Oracle儲存過程的幾種方式Spring BootOracle儲存過程
- Oracle資料庫的幾種啟動和關閉方式Oracle資料庫
- 程式碼迭代的幾種方式
- AOP 有幾種實現方式?
- react 路由的幾種使用方式React路由
- JavaScript的幾種繼承方式JavaScript繼承
- OAuth的幾種授權方式OAuth
- js建立物件的幾種方式JS物件
- javascript建立物件的幾種方式JavaScript物件
- JavaScript類建立的幾種方式JavaScript
- 【工具篇】在.Net中實現HTML生成圖片或PDF的幾種方式HTML
- Oracle 獲取執行計劃的幾種方法Oracle
- oracle 刪除重複資料的幾種方法Oracle
- css居中幾種方法CSS
- iOS 幾種加密方法iOS加密
- Golang語言排序的幾種方式Golang排序