Skip to Main Content

Breadcrumb

Question and Answer

Connor McDonald

Thanks for the question, sagar.

Asked: July 31, 2018 - 12:59 pm UTC

Last updated: August 18, 2018 - 3:45 am UTC

Version: 11.2.0.4(enterprise edition)

Viewed 1000+ times

You Asked

please find below query output..

select OWNER,OBJECT_NAME,OBJECT_TYPE from DBA_OBJECTS where OBJECT_NAME in ('V$LOCK');

---PUBLIC V$LOCK SYNONYM

as per above query output V$LOCK is SYNONYM.
so i checked in DBA_SYNONYMS for further information..

select SYNONYM_NAME,TABLE_NAME from DBA_SYNONYMS where SYNONYM_NAME ='V$LOCK';

---V$LOCK V_$LOCK

so i checked V_$LOCK object in DBA_OBJECTS ..

select OWNER,OBJECT_NAME,OBJECT_TYPE from DBA_OBJECTS where OBJECT_NAME in ('V_$LOCK');

---SYS V_$LOCK VIEW

it is view, so i checked in dba_views for further information..

select OWNER,VIEW_NAME,TEXT from dba_views where view_name ='V_$LOCK';

---SYS V_$LOCK select "ADDR","KADDR","SID","TYPE","ID1","ID2","LMODE","REQUEST","CTIME","BLOCK" from v$lock

as per above query output v_$lock view used v$lock object..

then what is the actual definition of v$lock object..




and Connor said...

v$lock (like most of the v$ tables) are just representations of memory structures rather than real tables. It lets us probe the memory structures with SQL.

They are defined in

SQL> desc v$fixed_view_definition
 Name                          Null?    Type
 ----------------------------- -------- -------------------
 VIEW_NAME                              VARCHAR2(128)
 VIEW_DEFINITION                        VARCHAR2(4000)
 CON_ID                                 NUMBER


but this will simply give an underlying definition based on X$ tables, which are even more low level.

Is this answer out of date? If it is, please let us know via a Comment

More to Explore

Performance

Get all the information about database performance in the Database Performance guide.