网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > DB2教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.理解 DB2 中列组统计信息.
.详细讲解IBM DB2数据库服务器的安.
.获得DB2企业应用程序的最佳性能(.
.讲解IBM DB2数据库性能调整的相关.
.在UNIX上安装DB2 UDB修订包的实用.
.DB2 LOAD命令所提供的选项及注册.
.DB2 9数据库中有关同步trigger的.
.DB2用户定义函数实现多种语言的排.
.DB2 UDB V8.1安装和卸载的shell示.
.执行DB2的命令有哪些方式?.
.使用DB2look重新创建优化器访问计.
.深入优化DB2 数据库的五个最佳实.
.IBM DB2 数据复制迁移方法.
.DB2 SQL存储过程语法官方权威指南.
.用AWK实现DB2 数据库 Schema的同.
.讲解主机DB2 9存储过程的规划和实.
.更改DB2用户密码及创建用户的具体.
.DB2数据库的隔离级解读与试验.
.在不久的将来有望替代DBA头衔的A.
.讲解安装DB2 9数据库管理软件的4.

DB2数据库为单个会话锁定技巧

发表日期:2008-2-9


  DB2从版本8.2开始,客户可以为每一个DB2会话指定锁定策略。在以前的版本中,只能通过配置数据库配置参数LOCKTIMEOUT配置一个应用程序假如不能获得锁,等待多长时间将回滚该事务。  单个会话现在可以指定锁定等待方式策略,该策略在会话需要的锁定不能立即获取时使用。该策略指示会话是否将采取如下措施:  在不能获取锁定时返回 SQLCODE 和 SQLSTATE  无限等待锁定  等待为锁定指定的时间  等待锁定时使用 locktimeout 数据库配置参数的值  锁定等待方式策略通过新的 SET CURRENT LOCK TIMEOUT 语句指定,此语句更改 CURRENT LOCK TIMEOUT 专用寄存器的值。CURRENT LOCK TIMEOUT 专用寄存器指定在返回指示不能获取锁定的错误之前等待锁定的秒数。  虽然 locktimeout 参数的值适用于所有锁定,但是此新功能只影响以下锁定类型:行、表、索引键和多维群集(MDC)块锁定。  该语句的语法如下:  .-CURRENT-. .-=-.
  >>-SET--+---------+--LOCK TIMEOUT--+---+------------>
  >--+-WAIT-----------------------+------------><
  +-NOT WAIT-------------------+
  +-NULL-----------------------+
  | .-WAIT-. |
  +-+------+-- integer-constant -+
  '- host-variable --------------'
  关于该命令的具体说明,请参见:http://publib.boulder.ibm.com/infocenter/db2help/topic  /com.ibm.db2.udb.doc/admin/r0011874.htm?resultof=  %22%73%65%74%22%20%22%63%75%72%72%65%6e%74%22%2  0%22%6c%6f%63%6b%22%20%22%74%69%6d%65%6f%75%74%22%20  下面通过一个例子来讲解如何使用这个功能(我们使用SAMPLE数据库):  1、使用"db2 +c"打开两个DB2会话。(+c 参数关闭AUTOCOMMIT)  2、在一个会话中执行下面的语句:  connect to sample  create table test(id int,name char(10))  commit  insert into test values(1,'test')  3、在另一个会话中执行下面的语句:  connect to sample  select * from test  由于默认LOCKTIMEOUT参数设置为-1,所以这个会话会一直等着,没有结果返回。如下图所示:  4、下面我们在第一歌窗口中重复一样的操作,只是在第二个窗口中使用如下语句  set current lock timeout not wait  select * from test  我们看到select语句不会等待,而是直接返回错误。参见下图:  您可以自己采取上面的方法测试一下其他的参数设置。  该语句可以在程序中和存储过程中使用。另外这个功能对于CLI程序来讲,还可以方便地通过设置db2cli.ini文件配置要害字使用,要害字为:  LOCKTIMEOUT = WAIT | NOT WAIT | WAIT seconds | seconds  通过设置这个参数,DB2 CLI会自动根据设置值发送一条“SET CURRENT LOCK TIMEOUT”语句到DB2服务器,该参数值也可以通过在程序中显示使用  “SET CURRENT LOCK TIMEOUT”重置。  您可以根据您应用程序的需求,灵活运用这条语句设计合适的DB2会话锁定策略。
上一篇:使用 UIMA 和 DB2 Intelligent Miner 进行文本挖掘 人气:991
下一篇:DB2数据库使用经验漫谈(1) 人气:1165
浏览全部DB2教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐