在表和表空间上获取DB2中的锁,以避免由于LOST UPDATE,DIRTY READ和PHANTOM引起的问题。
我们需要在BIND封装/计划步骤中使用ACQUIRE选项定义lock参数。
COBOL-DB2程序PROGA正在使用SQL语句访问表TA。如果仅当在程序中执行该特定SQL语句时才需要在表上放置锁,那么我们需要如下定义BIND JCL步骤:
//BIND EXEC PGM=IKJEFT01 //STEPLIB DD DSN = DIS.TEST.LOADLIB,DISP = SHR- //SYSOUT DD SYSOUT = * //SYSTSIN DD * DSN SYSTEM(TB3) BIND PLAN(PLANA) - PKLIST(PACKA) - ACQUIRE(USE) - /*
必须在BIND PLAN步骤中将选项ACQUIRE与USE参数一起使用。当在程序中执行使用该表的SQL语句时,这将指示DB2在DB2表上放置锁。