RDB problem

 
SOLVED
Go to solution
Jean-François Piéronne
Trusted Contributor

Re: RDB problem

84:67:1 is the dbkey of the locked record
84 is the logical area id
67 the page number
1 the line number in the page


can you issue under your sql sessions the command
"show transaction"

to be sure that the first is a read only and the second a shared read write


Willem Grooters
Honored Contributor

Re: RDB problem

Waiting: 202054F6 _TNA282:....... 5E00A732 00010001 EX
Blocker: 202054F5 _TNA281:....... 550021A6 00010001 PR

My assumption is:

PID 202054F6 = 'session B' (delete) and PID 202054F5 = 'session A' (Select); Exclusive access to delete this record (EX) seems rather obvious to me: you'd better be sure the record is'"owned" by the deleter.
Perhaps it would help to remove "reserving table avail_table for shared read" in session A's SQL set transaction command. If that would set a NL (Null) lock, you're ploblem is solved (but as stated before, it depends on what the data is used for later on)
Willem Grooters
OpenVMS Developer & System Manager
Jean-François Piéronne
Trusted Contributor

Re: RDB problem

The reserving clause in the read only only set a lock on the logical area which will only block a read write reserving the same table in exclusive write mode.

Also if you try to select a table other that the one reserved you will have a error.

A read only don't lock any record of the tables used in the select statement except if you have disabled the snapshot mechanism which is use by Rdb to maintain the correct isolation level (serializable). If you disabled the snap you will have a read committed isolation level for you read only transaction using transient lock on selected record.

Dan Herron
Advisor

Re: RDB problem

Ajaydec,

Make sure the table you are accessing has a snapshot file associated with it.

Dan Herron
Jean-François Piéronne
Trusted Contributor

Re: RDB problem

A missing snap will generate the following error:
%RDB-F-SYS_REQUEST, error from system services request
-RDMS-F-FILACCERR, error opening storage area file xxxxxx

and a corrupt one generate a bugcheck.

JFP