解決Oracle模擬事務(wù)提交、表鎖,處理表鎖問(wèn)題
Oracle模擬事務(wù)提交、表鎖,處理表鎖問(wèn)題
1.查看AutoCommit
# 我當(dāng)前自動(dòng)提交設(shè)置為OFF,即默認(rèn)不自動(dòng)提交 SYS@helowin>show autocommit; autocommit OFF # 可通過(guò)set命令,選擇是否開(kāi)啟自動(dòng)提交事務(wù) SYS@helowin>set auto SP2-0281: autocommit missing set option Usage: SET AUTO[COMMIT] { OFF | ON | IMM[EDIATE] | n }
2.手動(dòng)提交事務(wù)流程
通過(guò)可視化工具navicat執(zhí)行插入語(yǔ)句,發(fā)現(xiàn)雖然我們?cè)O(shè)置了不自動(dòng)提交,這里還是插入成功了。因?yàn)橛行┛梢暬ぞ邥?huì)幫你commit。
我們打開(kāi)終端,發(fā)現(xiàn)通過(guò)剛剛的操作已經(jīng)存在一條數(shù)據(jù)
SYS@helowin>select * from zxy.study; ID NAME TESTTIME ---------- -------------------- -------------------------------------------------- 1 a 2022-09-26
我們打開(kāi)兩個(gè)終端頁(yè)面,先在終端一中模擬插入一條數(shù)據(jù),不執(zhí)行commit??唇K端二中是否能看到插入的數(shù)據(jù)
2.1 終端一 尚未commit
# 在終端一模擬插入一條數(shù)據(jù),不commit SYS@helowin>insert into zxy.study values(2,'b','2022-09-26'); 1 row created. # 發(fā)現(xiàn)在當(dāng)前終端中可以查到數(shù)據(jù) # 在事務(wù)提交之前,只有操作數(shù)據(jù)庫(kù)的這個(gè)人才能看到所做的事,別人只能等待提交后才可以 SYS@helowin>select * from zxy.study; ID NAME TESTTIME ---------- -------------------- -------------------------------------------------- 2 b 2022-09-26 1 a 2022-09-26
2.2 終端二 查詢(xún)
# 在終端二中不能查到數(shù)據(jù) SYS@helowin>select * from zxy.study; ID NAME TESTTIME ---------- -------------------- -------------------------------------------------- 1 a 2022-09-26
2.3 終端一 commit
SYS@helowin>commit; Commit complete. SYS@helowin>select * from zxy.study; ID NAME TESTTIME ---------- -------------------- -------------------------------------------------- 2 b 2022-09-26 1 a 2022-09-26
2.4 終端二 查詢(xún)
SYS@helowin>select * from zxy.study; ID NAME TESTTIME ---------- -------------------- -------------------------------------------------- 2 b 2022-09-26 1 a 2022-09-26
3.模擬表鎖
開(kāi)啟事務(wù),但是一直未提交,會(huì)造成表鎖
3.1 在終端一開(kāi)啟一個(gè)事務(wù),但是不提交
SYS@helowin>insert into zxy.study values(3,'c','2022-09-26'); 1 row created. SYS@helowin>select * from zxy.study; ID NAME TESTTIME ---------- -------------------- -------------------------------------------------- 2 b 2022-09-26 3 c 2022-09-26 1 a 2022-09-26
3.2 查詢(xún)是否有表鎖情況
select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$session sess where ao.object_id = lo.object_id and lo.session_id = sess.sid;
3.3 關(guān)閉該條未commit的事務(wù)
alter system kill session 'sid,serial#';
到此這篇關(guān)于Oracle模擬事務(wù)提交、表鎖,處理表鎖問(wèn)題的文章就介紹到這了,更多相關(guān)Oracle處理表鎖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Oracle數(shù)據(jù)庫(kù)中基本的查詢(xún)優(yōu)化與子查詢(xún)優(yōu)化講解
這篇文章主要介紹了Oracle數(shù)據(jù)庫(kù)中基本的查詢(xún)優(yōu)化與子查詢(xún)優(yōu)化講解,舉了實(shí)例來(lái)分析子查詢(xún)對(duì)性能的影響,需要的朋友可以參考下2016-01-01oracle數(shù)據(jù)庫(kù)導(dǎo)出和oracle導(dǎo)入數(shù)據(jù)的二種方法(oracle導(dǎo)入導(dǎo)出數(shù)據(jù))
這篇文章主要介紹了oracle導(dǎo)入導(dǎo)出數(shù)據(jù)的二種方法,利用PL/SQL Developer工具導(dǎo)出和利用cmd的操作命令導(dǎo)出的出方法,大家參考使用吧2014-01-01Oracle數(shù)據(jù)庫(kù)自定義類(lèi)型type的用法詳解
這篇文章主要介紹了Oracle數(shù)據(jù)庫(kù)自定義類(lèi)型type的用法詳解,Oracle?數(shù)據(jù)庫(kù)的概念和其它數(shù)據(jù)庫(kù)不一樣,這里的數(shù)據(jù)庫(kù)是一個(gè)操作系統(tǒng)只有一個(gè)庫(kù),可以看作是?Oracle?就只有一個(gè)大數(shù)據(jù)庫(kù),需要的朋友可以參考下2023-07-07Oracle數(shù)據(jù)庫(kù)創(chuàng)建存儲(chǔ)過(guò)程的示例詳解
這篇文章主要介紹了Oracle數(shù)據(jù)庫(kù)創(chuàng)建存儲(chǔ)過(guò)程的示例詳解,存儲(chǔ)過(guò)程是事先經(jīng)過(guò)編譯并存儲(chǔ)在數(shù)據(jù)庫(kù)中的一段SQL語(yǔ)句的集合,調(diào)用存儲(chǔ)過(guò)程可以簡(jiǎn)化應(yīng)用開(kāi)發(fā)人員的很多工作。對(duì)此感興趣可以了解一下2020-07-07oracle創(chuàng)建用戶(hù)過(guò)程詳解
這篇文章主要介紹了oracle創(chuàng)建用戶(hù)過(guò)程詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08Oracle數(shù)據(jù)庫(kù)concat()函數(shù)用法及使用簡(jiǎn)化的‘||’進(jìn)行拼接
CONCAT()函數(shù)在Oracle中可以用于將兩個(gè)字符串連接在一起,那么CONCAT()函數(shù)的語(yǔ)法及使用方法是什么呢,這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫(kù)concat()函數(shù)用法及使用簡(jiǎn)化的‘||’進(jìn)行拼接的相關(guān)資料,需要的朋友可以參考下2024-03-03優(yōu)化Oracle停機(jī)時(shí)間及數(shù)據(jù)庫(kù)恢復(fù)
優(yōu)化Oracle停機(jī)時(shí)間及數(shù)據(jù)庫(kù)恢復(fù)...2007-03-03Oracle計(jì)算年齡的實(shí)用方法總結(jié)
這篇文章主要給大家介紹了關(guān)于Oracle計(jì)算年齡的相關(guān)資料,在我們?nèi)粘?shí)際業(yè)務(wù)中,可能需要根據(jù)某人出生日期、身份證號(hào)碼來(lái)實(shí)時(shí)計(jì)算年齡,需要的朋友可以參考下2023-09-09Oracle將字符編碼從GBK轉(zhuǎn)到UTF8,如何操作比較穩(wěn)妥?
有個(gè)學(xué)校oracle數(shù)據(jù)庫(kù)的編碼是GBK,而且?guī)炖镞呉呀?jīng)有很多生產(chǎn)數(shù)據(jù)了,現(xiàn)在想改成UTF8的,如果執(zhí)行了這步操作,會(huì)出現(xiàn)哪些問(wèn)題2014-02-02