DB2 V9.7 高可用性灾难恢复中的备机可读
2010-07-30 00:00:00 来源:WEB开发网从上面的结果可以看出,第一条查询语句使用了游标稳定(CS)的隔离级别,读取不到前一个事务中未提交的记录,第二条查询语句使用了未提交读(UR)的隔离级别,得到了前一事务中未提交的记录。
最后,向表中插入一条记录,由于自动提交在这个事务中是打开的,所以这条记录会被自己动提交,能够被其他事务中读取。我们用这条已提交的记录,作为接下来在备机上查询的参考基准。
现在,在备机上运行查询:
清单 16. 在验证备机可读环境下隔离级别时,备机数据库上的命令
$ db2 SET CURRENT ISOLATION CS
DB20000I The SQL command completed successfully.
$ db2 "SELECT * FROM test"
C1 C2
----------- --
0 Z
4 A
5 B
6 C
4 record(s) selected.
$ db2 "SELECT * FROM test WITH UR"
C1 C2
----------- --
0 Z
4 A
5 B
6 C
4 record(s) selected.
$ db2 "SELECT * FROM test WITH CS"
C1 C2
----------- --
0 Z
4 A
5 B
6 C
4 record(s) selected.
从上面的运行结果可以看出,备机上的查询不论是游标稳定(CS)还是未提交读(UR)的隔离级别,都获取了主数据库上未提交和已提交的数据。即使在应用程序中使用 SET CURRENT ISOLATION 命令设置非 UR 的隔离级别,查询依旧能够读取到主数据库上已提交和未提交的数据。能够获取其他事务未提交的数据,应用程序必然是在未提交读(UR)的隔离级别上进行的读操作。从上面的结果我们可以得出结论,事实上在备机上不论指定任何隔离级别,查询都会并且只能以未提交读(UR)的隔离级别运行。
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››可用性测试方法:卡片分类法
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 基础: 表空间和缓冲池
- ››DB2 XML 编程,第 1 部分: 理解 XML 数据模型
更多精彩
赞助商链接