日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
DB2數(shù)據(jù)庫(kù)為單個(gè)會(huì)話的鎖定技巧如何其作用?

以下的文章主要是闡述DB2數(shù)據(jù)庫(kù)為單個(gè)會(huì)話鎖定的技巧,如果你對(duì)DB2數(shù)據(jù)庫(kù)為單個(gè)會(huì)話鎖定的技巧心存好奇的話,以下的文章將會(huì)揭開它的神秘面紗。希望你在瀏覽完之后會(huì)有所收獲。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:國(guó)際域名空間、網(wǎng)絡(luò)空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、嵐皋網(wǎng)站維護(hù)、網(wǎng)站推廣。

我們大家都知道DB2數(shù)據(jù)庫(kù)從版本8.2開始,客戶可以為每一個(gè)DB2會(huì)話指定鎖定策略。在以前的版本中,只能通過(guò)配置數(shù)據(jù)庫(kù)配置參數(shù)LOCKTIMEOUT配置一個(gè)應(yīng)用程序如果不能獲得鎖,等待多長(zhǎng)時(shí)間將回滾該事務(wù)。

單個(gè)會(huì)話現(xiàn)在可以指定鎖定等待方式策略,該策略在會(huì)話需要的鎖定不能立即獲取時(shí)使用。該策略指示會(huì)話是否將采取如下措施:在不能獲取鎖定時(shí)返回 SQLCODE 和 SQLSTATE

無(wú)限等待鎖定

等待為鎖定指定的時(shí)間

等待鎖定時(shí)使用 locktimeout 數(shù)據(jù)庫(kù)配置參數(shù)的值

鎖定等待方式策略通過(guò)新的 SET CURRENT LOCK TIMEOUT 語(yǔ)句指定,此語(yǔ)句更改 CURRENT LOCK TIMEOUT 專用寄存器的值。CURRENT LOCK TIMEOUT 專用寄存器指定在返回指示不能獲取鎖定的錯(cuò)誤之前等待鎖定的秒數(shù)。

雖然 locktimeout 參數(shù)的值適用于所有鎖定,但是此新功能只影響以下鎖定類型:行、表、索引鍵和多維群集(MDC)塊鎖定。

該語(yǔ)句的語(yǔ)法如下:

 
 
 
  1. .-CURRENT-. .-=-.   
  2. >>-SET--+---------+--LOCK TIMEOUT--+---+------------>   
  3. >--+-WAIT-----------------------+------------><   
  4. +-NOT WAIT-------------------+   
  5. +-NULL-----------------------+   
  6. | .-WAIT-. |   
  7. +-+------+-- integer-constant -+   
  8. '- host-variable --------------'  

關(guān)于該命令的詳細(xì)說(shuō)明,請(qǐng)參見:http://publib.boulder.ibm.com/infocenter/db2help/topic

 
 
 
  1. /com.ibm.db2.udb.doc/admin/r0011874.htm?resultof=  
  2. %22%73%65%74%22%20%22%63%75%72%72%65%6e%74%22%2  
  3. 0%22%6c%6f%63%6b%22%20%22%74%69%6d%65%6f%75%74%22%20  

下面通過(guò)一個(gè)例子來(lái)講解如何使用這個(gè)功能(我們使用SAMPLE數(shù)據(jù)庫(kù)):

1、使用"db2 +c"打開兩個(gè)DB2會(huì)話。(+c 參數(shù)關(guān)閉AUTOCOMMIT)

2、在一個(gè)會(huì)話中執(zhí)行下面的語(yǔ)句:

 
 
 
  1. connect to sample   
  2. create table test(id int,name char(10))   
  3. commit   
  4. insert into test values(1,'test')  

 3、在另一個(gè)會(huì)話中執(zhí)行下面的語(yǔ)句:

 
 
 
  1. connect to sample   
  2. select * from test  

由于默認(rèn)LOCKTIMEOUT參數(shù)設(shè)置為-1,所以這個(gè)會(huì)話會(huì)一直等著,沒有結(jié)果返回。如下圖所示:

4、下面我們?cè)?**歌窗口中重復(fù)一樣的操作,只是在第二個(gè)窗口中使用如下語(yǔ)句

 
 
 
  1. set current lock timeout not wait   
  2. select * from test  

我們看到select語(yǔ)句不會(huì)等待,而是直接返回錯(cuò)誤。參見下圖:

您可以自己采取上面的方法測(cè)試一下其他的參數(shù)設(shè)置。

該語(yǔ)句可以在程序中和存儲(chǔ)過(guò)程中使用。另外這個(gè)功能對(duì)于CLI程序來(lái)講,還可以方便地通過(guò)設(shè)置db2cli.ini文件配置關(guān)鍵字使用,關(guān)鍵字為:

 
 
 
  1. LOCKTIMEOUT = WAIT | NOT WAIT | WAIT seconds | seconds  

通過(guò)設(shè)置這個(gè)參數(shù),DB2 CLI會(huì)自動(dòng)根據(jù)設(shè)置值發(fā)送一條“SET CURRENT LOCK TIMEOUT”語(yǔ)句到DB2服務(wù)器,該參數(shù)值也可以通過(guò)在程序中顯示使用

“SET CURRENT LOCK TIMEOUT”重置。

您可以根據(jù)您應(yīng)用程序的需求,靈活運(yùn)用這條語(yǔ)句設(shè)計(jì)合適的DB2會(huì)話鎖定策略。


當(dāng)前題目:DB2數(shù)據(jù)庫(kù)為單個(gè)會(huì)話的鎖定技巧如何其作用?
URL分享:http://www.dlmjj.cn/article/djdhejp.html