Q
Problem solve Get help with specific problems with your technologies, process and projects.

How can I find a record in a table that is accessed by more than one user concurrently?

How can I find a record in a table that is accessed by more than one user concurrently?


There is no way to find out how many concurrent users are accessing a row in a table. By careful examination of certain hidden 'X$' tables, we can find out which blocks of a table are in the buffer cache. From there, we can examine the amount of times that block has been "touched" or read. But nowhere can we get an idea of a specific row being concurrently accessed by multiple users. This is due to the fact that the touch count on a block is for all rows in the block! If there are five rows in a block and that block is touched five times, does this mean that one of the rows was read five times, that each of the five rows was read once, or some other combination? And we can't find out how many users requested this block (at least not with any resemblence to accuracy).

For More Information


Dig Deeper on Oracle database design and architecture

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.

-ADS BY GOOGLE

SearchDataManagement

SearchBusinessAnalytics

SearchSAP

SearchSQLServer

TheServerSide.com

SearchDataCenter

SearchContentManagement

SearchHRSoftware

Close