達夢資料庫手動上鎖使用說明

2021-10-21 20:44:38 字數 1593 閱讀 2833

dm 的隱式封鎖足以保證資料的一致性,但使用者可以根據自己的需要手工顯式鎖定表,允許或禁止在當前使用者操作期間其它使用者對此表的訪問。dm 提供給使用者四種表鎖的封鎖:

意向共享鎖(is)、共享鎖(s)、意向排他鎖(ix)和排他鎖(x)。

1. 意向共享表封鎖:intent share table locks (is)

該封鎖表明該事務封鎖了表上的一些元組並試圖修改它們(但是還未做修改,其它事務可讀這些元組,但是不能修改這些元組)。意向共享表封鎖是限制最少的鎖,提供了表上最大的併發度。

1) 允許操作:

其他事務對該錶的併發查詢、插入、更新、刪除或在該錶上進行封鎖,其他事務可以同時上意向共享鎖(is)、意向排他鎖(ix)、共享鎖(s)。

2) 禁止操作:

其它事務以排他鎖方式(x)訪問該錶。

lock table tablename in exclusive mode;

2. 意向排他表封鎖:intent exclusive table locks (ix)

該鎖表明該事務對錶的元組進行一次或多次修改(其它事務不能訪問這些元組), 行排他表封鎖較行共享表封鎖稍嚴格。

1) 允許操作:

其它事務並行查詢、插入、更新、刪除或封鎖該錶上行,允許多個事務在同一表上獲得意向排他(ix)和意向共享(is)表鎖。

2) 禁止操作:

其它事務對錶進行共享(s)或者排他讀寫封鎖(x)。

lock table tablename in share mode;

lock table tablename in exclusive mode;

3. 共享表封鎖:share table locks (s)

該鎖表明該事務訪問表中所有元組,其他事務不能對該錶做任何更新操作。

1) 允許操作:

其它事務在該錶上作查詢,但是不允許作修改,且允許多個事務在同一表上併發地持有共享表封鎖(s)。

2) 禁止操作:

其它事務對錶進行執行意向排他鎖(ix)和排他鎖方式(x)封鎖。

lock table tablename in intent exclusive mode;

lock table tablename in exclusive mode;

4. 排他表封鎖:exclusive table locks (x)

該封鎖是表封鎖中最嚴格的方式,只允許持有封鎖的事務可對該錶進行修改。

1) 允許操作:

不允許任何操作。

2) 禁止操作:

其它事務對錶執行任何 dml 語句,即不能插入、修改和刪除該表中的行,封鎖該表中的行或以任何方式封鎖表。

使用者上鎖成功後鎖將一直有效,直到當前事務結束時,該鎖被系統自動解除;

5. 當使用 nowait 時,若不能立即上鎖成功則立刻返回報錯資訊,不再等待。

達夢資料庫使用

1 修改最大連線數 先檢視當前的最大連線數 select sf get para value 2,max sessions 修改最大連線數 alter system set max sessions 1000 spfile 重啟資料庫 su dmdba cd dmdbms dmservicedmse...

達夢資料庫簡單使用

groupadd dinstall useradd g dinstall dmdba passwd dmdba 修改dmdba的密碼 mkdir p dm8 chown r dmdba dinstall dm8 dmdba執行 cd dm8 tool dbca.sh 圖形介面建立 dm8 bin d...

達夢資料庫和mysql索引引擎 達夢資料庫 索引

1.索引的種類和功能 聚集索引 每乙個普通表有且只有乙個聚集索引 唯一索引 索引資料根據索引鍵唯一 函式索引 包含函式 表示式的預先計算的值 位圖索引 對低基數的列建立位圖索引 位圖連線索引 針對兩個或者多個表連線的點陣圖索引,主要用於資料倉儲中 全文索引 在表的文字列上而建的索引。2.何時使用索引...