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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle事務transaction鎖lock一點兒小思考或總結Oracle
- 獲取或操作DOM元素特性的幾種方式
- Springboot呼叫Oracle儲存過程的幾種方式Spring BootOracle儲存過程
- 容器服務 TKE 上服務暴露的幾種方式
- 分散式事務的幾種實現方式分散式
- 幾種集合的幾種方法
- 幾種實現延時任務的方式(一)
- css引入的幾種方式CSS
- Unity反射的幾種方式Unity反射
- 幾種結匯方式分享
- oracle資料庫透過sqlplus連線的幾種方式介紹Oracle資料庫SQL
- oracle事務隔離級別transaction isolation level初識Oracle
- 【工具篇】在.Net中實現HTML生成圖片或PDF的幾種方式HTML
- offline tablespace 的幾種方式 (轉)
- 程式碼迭代的幾種方式
- Spring注入Bean的幾種方式SpringBean
- react 路由的幾種使用方式React路由
- python 非同步的幾種方式Python非同步
- python的幾種輸出方式Python
- python的幾種輸入方式Python
- JavaScript的幾種繼承方式JavaScript繼承
- OAuth的幾種授權方式OAuth
- AOP 有幾種實現方式?
- 玩轉SpringBoot:SpringBoot的幾種定時任務實現方式Spring Boot
- 在oracle中跟蹤會話執行語句的幾種方法Oracle會話
- oracle資料庫事務transaction鎖lock模式思考之一Oracle資料庫模式
- oracle資料庫事務transaction 不同的鎖lock型別Oracle資料庫型別
- css居中幾種方法CSS
- oracle優化之生產系統不改程式碼解決SQL效能問題的幾種方法Oracle優化SQL
- DAPPER 事務 TRANSACTIONAPP
- indexedDB transaction 事務Index
- App相互喚醒的幾種方式APP
- 陣列去重的幾種方式陣列
- Express 提交資料的幾種方式Express
- python接收郵件的幾種方式Python
- Spring - 獲取ApplicationContext的幾種方式SpringAPPContext
- sqlplus常用的幾種登入方式SQL
- spring註冊bean的幾種方式SpringBean