Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Czy spust można zablokować; jak ustalić, że tak jest?

Aby określić, czy wyzwalacz (oraz jakakolwiek inna procedura składowana) jest zablokowany, czy nie, V$ACCESS można sprawdzić dynamiczny widok wydajności.

Session #1

insert into test_trigger
 select level
   from dual
connect by level <= 1000000; 

Session #2

SQL> select *
  2    from v$access
  3   where object = upper('test_trigger_t')
  4  ;


Sid  Owner  Object         Type    Con_Id 
--------------------------------------
441  HR     TEST_TRIGGER_T TRIGGER  3 

Tego rodzaju zamki są pinami pamięci podręcznej biblioteki(blokady pamięci podręcznej biblioteki są zasobami(TM typ blokady)), potrzebne do zapewnienia, że ​​obiekt jest chroniony przed modyfikacją podczas wykonywania go przez sesję.

--session sid # 441
insert into test_trigger
  select level
    from dual
 connect by level <= 1000000;


-- session sid #24
create or replace trigger test_trigger_t 
after insert on test_trigger for each row
begin
  insert into test_trigger_h (id) values (:new.id);
end;  

-- Session # 3
select vs.sid
     , vs.username
     , vw.event
  from v$session       vs
  join v$session_wait  vw
    on (vw.sid = vs.sid)
  join v$access        va
    on (va.owner = vs.username)
 where vs.username = 'HR'

Wynik:

Sid Username Event 
--------------------------
24 HR library cache pin 
....
441 HR log file switch (checkpoint incomplete) 

Tutaj widzimy, że sesja #441 czeka na przełączenie pliku dziennika, a sesja #24 czeka na pin pamięci podręcznej biblioteki.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak skonfigurować Ruby on Rails z Oracle?

  2. naprawdę prosty SQL Nie jest wyrażeniem GROUP BY - Oracle

  3. Metoda java.sql.Clob.free() JDBC 4 i kompatybilność wsteczna

  4. Zapytania sparametryzowane w C# dla Oracle — poważny i niebezpieczny błąd!

  5. Użyj jak „%” i dopasuj wartości NULL do NUMBER kolumn