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