如何在 DB2 程序中实现 CS、RR、UR 和 RS 隔离级别?
隔离级别定义了在 COBOL-DB2 程序中访问的 DB2 数据与另一个并行执行的 COBOL-DB2 程序隔离的程度。DB2 中有 4 种主要类型的隔离级别。
游标稳定性 (CS) - 游标稳定性隔离级别仅锁定程序正在访问的当前行。一旦程序移到下一行,前一行的锁就会被释放。游标稳定性仅获取已提交的行供程序访问。这是默认的隔离级别。
读稳定性 (RS) - 此隔离级别会对所有符合 SQL 语句谓词(例如:WHERE 子句)的行进行加锁。锁将保留到整个处理完成。
未提交读 (UR) - 未提交读隔离级别用于仅用于读取目的的 SQL 语句。不会对行/记录进行加锁,并且它会获取已提交的行以及未提交的行(来自其他程序/事务)。
可重复读 (RR) - 当我们需要保留锁直到提交时,使用此隔离级别。
要为 COBOL-DB2 程序定义隔离级别,我们需要在 BIND 步骤的 ISOLATION 选项中使用相应的参数。以下是可以使用该参数定义隔离级别的 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(ALLOCATE) - ISOLATION (RS) /*
在上述步骤中,我们使用了带有 RS 参数的 ISOLATION 选项,它对应于读稳定性。类似地,我们有用于游标稳定性的参数 CS、用于可重复读的参数 RR 和用于未提交读的参数 UR。
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP