-
I have (in an Oracle 7.3.4 db) another transaction making DMLs in the TEQUALIZ table. Of course, because the table is being modified, the indexes are unavailable for alterations, too - if I try , logically I get an "resource busy acquired with nowait" here.
The question is : how to know the indexes in use and locked ? The DBA_DML_LOCKS , the V$ACCESS and related views show the name of the table being DML' zed :
SQL> select * from dba_dml_locks where name like '%EQUALIZ%';
SESSION_ID OWNER NAME
---------- ------------------------------ ------------------------------
MODE_HELD MODE_REQUESTE LAST_CONVERT
------------- ------------- ------------
BLOCKING_OTHERS
----------------------------------------
14 OPS$ALEAPROD TEQUALIZ
Row-X (SX) None 15
Not Blocking
SQL> c/dml/ddl
1* select * from dba_ddl_locks where name like '%EQUALIZ%'
SQL> /
SESSION_ID OWNER NAME
---------- ------------------------------ ------------------------------
TYPE MODE_HELD MODE_REQU
--------------- --------- ---------
14 OPS$ALEAPROD K_EQUALIZ
Table/Procedure Null None
14 OPS$ALEAPROD K_EQUALIZ
Body Null None
SQL> select * from v$access where object like '%TEQUALIZ%';
SID OWNER
---------- ----------------------------------------------------------------
OBJECT
--------------------------------------------------------------------------------
TYPE
------------
14 OPS$ALEAPROD
TEQUALIZ
TABLE
SQL>
Necessarily I must join DBA_INDEXES with DBA_TABLES and then look in DBA_xxx_LOCKS to know the indexes ? No shortcuts here ?
Regards,
Chiappa
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|