Did you wonder why your isolation level escalated to CS from UR?

For this discussion, you might want to read about unambiguous cursor at DB2 at http://db2ude.com/?q=node/41.

So even if you open a cursor with UR isolation level, there is a possibility that this might get escalated to CS if you did not specify your intent of UPDATE in the cursor. So, it is always better to use FOR FETCH ONLY or FOR READ ONLY in your SELECT statement if you are using UR isolation level.

If you are using SQL PL stored procedures or embedded SQL in your application, you can bind the package or recompile the stored procedure with BLOCKING ALL option and in that case, DB2 will treat ambiguous cursors as READ ONLY cursors. This is a brute force method and may not always be desirable but you can do it.