Collections:
Show Existing Locks on the Database in Oracle
How To View Existing Locks on the Database in Oracle?
✍: FYIcenter.com
As can see from the pervious tutorial exercise, performance of the second session is greatly affected by the data lock created on the database. To maintain a good performance level for all sessions, you need to monitor the number of data locks on the database, and how long do they last.
Oracle maintains current existing data locks in a Dynamic Performance View called V$LOCK with columns like:
The following tutorial exercise shows you how to view existing locks on the database:
(session 1)
SQL> connect HR/fyicenter
SQL> UPDATE fyi_links
SET url='centerfyi.com'
WHERE id=110;
1 row updated.
(session 2)
SQL> connect HR/fyicenter
SQL> INSERT INTO fyi_links
(url, id) VALUES
('oracle.com', 112);
1 row created.
SQL> UPDATE fyi_links
SET notes='FYI Resource'
WHERE id=110;
(wait on lock at id=110)
Now keep those two sessions as is. You need to open a third window to connect to the database as SYSTEM to view all current locks:
(session 3)
SQL> connect SYSTEM/password
SQL> select sid, username from v$session
2 where username='HR';
SID USERNAME
---------- ------------------------------
23 HR
39 HR
SQL> SELECT sid, type, lmode, request, ctime, block
FROM V$LOCK WHERE sid in (23, 39) ORDER BY ctime DESC;
SID TY LMODE REQUEST CTIME BLOCK
---- -- ---------- ---------- ---------- ----------
1 39 TX 6 0 84 1
2 39 TM 3 0 84 0
3 23 TM 3 0 27 0
4 23 TX 6 0 27 0
5 23 TX 0 6 18 0
You should read the output as:
⇒ What Is a Dead Lock in Oracle
⇐ Experiments of Data Locks in Oracle
2019-08-08, 2200🔥, 0💬
Popular Posts:
How To Use SQL*Plus Built-in Timers in Oracle? If you don't have a stopwatch/timer and want to measu...
How To Get the Definition of a Stored Procedure Back in SQL Server Transact-SQL? If you want get the...
How To Start Instance with a Minimal Initialization Parameter File in Oracle? The sample initializat...
How to connect SQL Server Management Studio Express to SQL Server 2005 Express in SQL Server? Once y...
How To Convert a Unicode Strings to Non-Unicode Strings in SQL Server Transact-SQL? Since Unicode ch...