91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle鎖

發布時間:2020-07-02 03:07:09 來源:網絡 閱讀:628 作者:oracle夢想 欄目:關系型數據庫

1、定義:

鎖(lock)機制用于管理對共享資源的并發訪問(使對這些共享資源的并發性訪問串行化),同時還能提供數據完整性和一致性。

2、Oracle鎖特征:

Oracle中鎖不是稀有資源;

Oracle不會自動升級鎖,永遠不會;

 Oracle 中,行級鎖沒有相關的開銷

3、Oracle鎖分類

DML

DDL

內部鎖或LATCH

4、鎖一覽圖

鎖代碼

鎖模式名稱

鎖模式簡寫

鎖模式級別

備注說明

隱式產生鎖

顯式產生鎖

0

None

None


無鎖模式,select操作便是這樣的情況



1

Null

Null

表級鎖

Oracle在內存中自動加的鎖,主要起通知作用



2

Row-S

SS

表級鎖


10g版本前:FOR UPDATE

LOCK TABLE 表名 IN ROW SHARE MODE;

3

Row-SX

SX

表級鎖

行級排它鎖,主要由DML語句引起

10g版本后:FOR UPDATEDML語句

LOCK TABLE 表名 IN ROW EXCLUSIVE MODE;

4

Share

S

表級鎖

共享鎖、只讀鎖


LOCK TABLE 表名 IN  SHARE MODE;

5

S/Row-X

SSX

表級鎖

共享行排它鎖


LOCK TABLE 表名 IN SHARE ROW EXCLUSIVE MODE;

6

Exclusive

X

表級鎖/行級鎖

排它鎖



RRow  SShare XExclusive


5、TM鎖兼容性


N

SS

SX

S

SSX

X

N

YES

YES

YES

YES

YES

YES

SS

YES

YES

YES

YES

YES

NO

SX

YES

YES

YES

NO

NO

NO

S

YES

YES

NO

YES

NO

NO

SSX

YES

YES

NO

NO

NO

NO

X

YES

NO

NO

NO

NO

NO


6、鎖常用sql

--測試子表:成績表

SELECT * FROM score;

--測試父表:學生信息表

SELECT * FROM student;

--查詢當前會話值

SELECT * FROM v$mystat WHEREROWNUM='1';

--動態性能視圖 v$locked_object 各字段的含義

SELECT l.XIDUSN         AS回滾段號,

      l.XIDSLOT         AS回滾槽號,

      l.XIDSQN          AS回滾序列號,

      l.OBJECT_ID       AS被鎖對象ID,

      l.SESSION_ID      AS持有鎖對象會話ID,

      l.ORACLE_USERNAME AS持有鎖的oracle用戶名,

      l.OS_USER_NAME    AS持有鎖操作系統用戶名,

      l.PROCESS         AS操作系統進程號,

      l.LOCKED_MODE     AS鎖模式

  FROM v$locked_object l;

--當前用戶創建的所有對象,列出部分常用字段含義

SELECT uo.object_name AS對象名稱,

      uo.object_id   AS對象ID,

       uo.object_typeAS對象類型

  FROM user_objects uo;

--通過v$locked_object與user_objects兩表關聯可以得出被鎖的是哪個表以及是被哪個用戶鎖的

SELECT uo.object_name   AS對象名稱,

      uo.object_type    AS對象類型,

      l.ORACLE_USERNAME AS持有鎖的oracle用戶名,

      l.LOCKED_MODE     AS鎖模式

  FROM v$locked_object l,user_objects uo

 WHERE l.OBJECT_ID =uo.object_id;

/* AND l.SESSION_ID=&session_id;*/

--查詢所有正在等待獲得鎖的會話ID及鎖類型

SELECT w.waiting_session AS等待鎖的會話ID,

      w.holding_session AS持有鎖的會話ID,

      w.lock_type       AS鎖類型,

      w.mode_held       AS鎖機制

  FROM dba_waiters w;

--動態性能視圖事務執行列表(未提交狀態),BLOCK=1是堵塞者,BLOCK=0是被堵塞者

SELECT * FROM v$transaction_enqueue;

--查詢阻擋關系

SELECT (SELECT s.USERNAME FROM v$session s WHERE s.SID = a.SID) AS阻擋者名,

       a.SID AS阻擋者會話ID,

       '正在阻擋'AS行為,

       (SELECT s.USERNAME FROM v$session s WHERE s.SID = b.SID) AS被阻擋者名,

       b.SID AS被阻擋者會話ID

  FROM v$lock a, v$lock b

 WHERE a.ID1 = b.ID1

   AND a.ID2 = b.ID2

   AND a.BLOCK = 1

   AND b.REQUEST > 0;

--根據會話ID查詢前一步sql操作語句,這個語句不適合應用程序

SELECT sq.sql_text

  FROM v$sql sq

 WHERE sq.SQL_ID =

       (SELECT s.SQL_ID FROM v$session s WHERE s.SID =&session_id);


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

姚安县| 丰顺县| 长武县| 江阴市| 安塞县| 四会市| 滁州市| 陵川县| 北京市| 和田市| 五莲县| 景宁| 琼海市| 依兰县| 兴义市| 清徐县| 资源县| 庆城县| 赤峰市| 瑞安市| 胶州市| 浦县| 洪江市| 荥经县| 陆川县| 洛隆县| 泾川县| 固原市| 嘉峪关市| 门头沟区| 宜兴市| 唐山市| 竹北市| 册亨县| 绩溪县| 保德县| 措美县| 济宁市| 日照市| 新和县| 大安市|