




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
锁与并发1、 locktimeout 为-1 :应用程序将会出现无穷锁等待现象。生产系统中的OLAP 设置为60秒对于OLTP大约为10秒比较好。锁等待会造成以下几种结果1、 引起死锁,邮死锁检测器处理2、 等待超时,返回SQLCODE -911 和原因代码68 并自动回滚。3、 locktimeout 为-1 :应用程序将会出现无穷锁等待现象4、 对于表、行、数据分区和MDC块锁定,应用程序根据业务逻辑需要使用SET CURRENTLOCK TIMEOUT 来覆盖数据库级别的locktimeout设置锁等待问题解决流程和步骤1、 把数据库监控开关打开db2 update dbm cfg using DFT_MON_LOCK on DFT_MON_STMT on db2 update monitor switches using lock on sort on bufferpool on uow on table on statement on2、 利用DB2表函数编写一个监控SQL脚本 Select agent_id,substr(stmt_test,1,100) as statement, STMT_ELAPSED_TIME_MS from table(SNAPSHOT_STATEMENT(SAMPLE,-1) AS B where agent_id in(select agent_id_holding_lk from table(SNAPSHOT_LOCKWAIT(SAMPLE,-1) as A order by LOCK_WAIT_START_TIME ASC FETCH FIRST 20 ROWS ONLY) order by STMT_ELAPSED_TIME_MS DESCSAMPLE 数据库名称此语句按照执行时间的长短的先后顺序排列出所有造成lockwait的语句。3、 写个脚本SHELL 每三秒钟运行一次,把监控结果管道累加输出到一个文件 #!/usr/bin/ksh#Dbname=$1Filename=find.locksql.$(date+%m%d%H%M%S)touch $filenameEcho now ,connect to database: $dbnameDb2 “connect to $dbname”Db2 “update dbm cfg using DFT_MON_LOCK ON DFT_MON_STMT ON”DB2 “Db2 update monitor switches using lock on sort on bufferpool on uow on table on statement on”Echo now ,finding the sqls which mode lockwaitDb2 “Select agent_id,substr(stmt_test,1,100) as statement, STMT_ELAPSED_TIME_MS from table(SNAPSHOT_STATEMENT(SAMPLE,-1) AS B where agent_id in(select agent_id_holding_lk from table(SNAPSHOT_LOCKWAIT(SAMPLE,-1) as A order by LOCK_WAIT_START_TIME ASC FETCH FIRST 20 ROWS ONLY) order by STMT_ELAPSED_TIME_MS DESC” filenameEcho the sqls have save to the file $filename4、 一旦定位引起锁等待的SQL语句后,如果该SQL语句写的效率很低,可以对SQL作相应的调整,尝试建最合理的索引和调优SQL语句5、 如果4不能解决问题,可以根据业务逻辑选择UR隔离级别(只能解决读的问题)6、 在业务逻辑允许的情况下,考虑设置DB2_EVALUNCOMMITTED、DB2_SKIPDELETED、DB2_SKIPINSERTED来提高并发7、 最后考虑能否能引起锁等待的SQL语句关联的表做数据归档、业务分享等。锁定等待策略通过SET CURRENT LOCK TIMEOUT可以在语句级别指定。捕获引起锁等待的SQLDB2 GET SNAPSHOT FOR DATABASE ON PROD |GREP i LOCKLOCK WAITS 表示有大量锁等待Locks held currently = 45Lock waits = 18表示有大量锁Time database waited on locks (ms) = 671008 Lock list memory in use (Bytes) = 66560Deadlocks detected = 0 死锁检测Lock escalations = 0 死锁升级Exclusive lock escalations = 0 扩展大小Agents currently waiting on locks = 1Lock Timeouts = 0Internal rollbacks due to deadlock = 0Number of MDC table blocks pending cleanup = 0 Memory Pool Type = Lock Manager Heap确定哪个事务包含锁定db2pd db jltbm locks showlocks wait 在Sts(状态)列中查找带”W” (表示等待)的行。“所有者”列指示哪个事务持有该锁定。-G 表示被授权获得锁 -W:表示WAIT等待运行db2pd d dbname transactions 来标识正在运行事务的应用程序,该事务正在持有锁定。运行db2pd agents来标识正在运行的应用程序代理进程运行db2 get snapshot for application agentid APPHANDLID(对应APPHANDL值) :-得到引起锁等待的agentid运行db2 get snapshot for application agentid ID-应用程序句柄,定位引起锁等待的SQL语句db2pd -hUsage: -q | -quit | q |quit Quit -h | -help file= Help -v | -version file= Version -osinfo disk file= Operating System Information -dbpartitionnum , Database Partition Number(s) -alldbpartitionnums All partition numbers -database | -db , Database(s) -alldatabases | -alldbs All Active Databases -inst Instance scope output -file All Output to Filename -command Read in predefined options -interactive Interactive -full Expand output to full length -repeat num sec count Repeat every num seconds (default 5) count times -everything All options on all database partitionsInstance scope options: -agents db= | app= file= Agents -fcm hwm file= FCM Information -memsets file= Memory Sets -mempools file= Memory Pools -memblocks dbms, fcm, fmp, appctl , private | all top blocks sort PoolID Memory Blocks -dbmcfg file= DBM Config -sysplex db= file= Sysplex List -utilities file= Utilities -fmp FMP Table -latches group file= Latches -ha HA Stats -gfw Monitor Fast Writer Information -edus List all EDUs in the instance -addnode oldviewapps detail Addnode information -dbptnmem Lists Database Partition Memory statistics -stack all Produce stack trace for all TIDs in db2sys.exe.Database scope options: -applications | agent= file= Applications -transactions | app= file= Transactions -bufferpools file= Buffer Pools -pages summary file= Bufferpool Pages -logs file= Transaction Logs -locks file= showlocks wait Locks -tablespaces group file= Tablespaces/Containers -dynamic anch= file= Dynamic Cache -static file= Static Cache -memsets file= Memory Sets -mempools file= Memory Pools -memblocks dbms, fcm, fmp, appctl , private | all top blocks sort PoolID Memory Blocks -dbcfg file= Database Config -catalogcache file= Catalog Cache -tcbstats nocatalog all|index file= Table Control Block Stats -reorgs file= Table Reorg Stats -recovery file= Recovery Status -reopt file= Reoptimized SQL Statements -storagepaths Storage Paths -hadr file= High Availability Disaster Recovery -activestatements apphdl= file= Active Statement List -workloads group Workloads -serviceclasses Service Classes -workactionsets group Work Action Sets -workclasssets group Work Class Sets -thresholds Thresholds -statisticscache summary | detail | find schema= object= Statistics Cache -apinfo all| all| file= List detailed information about the applicati
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 博导教育模拟试题及答案
- 堤防工程造价管理与预算控制
- 房屋建筑施工材料运输与存储管理方案
- 2025年大学微生物试题及答案
- 变压器配件生产项目建设工程方案
- 儿童入学保障学区房租赁合同范本
- 气象观测站空调设备采购、安装及数据采集合同
- 环保项目投资风险控制连带责任担保协议
- 畜牧养殖用地租赁合同范本-牛羊养殖项目合作
- 高危职业离婚协议书:职业风险补偿空白协议
- 2025贵州金沙县招聘城市社区工作者15人考试参考题库及答案解析
- 2025年甘肃省天水市甘谷县选聘大学生村文书55人考试参考题库及答案解析
- 2025年国家公务员考试法律基础知识复习讲义
- 农村产业融合发展示范园项目可行性研究报告
- 2025版权授权合同标准版样本
- d证科目一考试完整题库及答案
- 铝灰知识培训课件
- 2025年金属非金属矿山(露天矿山)安全生产试题题及答案
- 2.1.2 不含括号的两级混合运算(课件)数学人教版三年级上册(新教材)
- 县级医院医疗质量控制方案实施细则
- 2025年全国“质量月”企业员工全面质量管理知识答题(含答案)
评论
0/150
提交评论