Korzystamy z oprogramowania BI i bazy danych repozytorium, które są zainstalowane na Oracle Enterprise 11gR2.
Niektóre z tych raportów wsadowych będą próbowały uzyskać dostęp do tabeli bazy danych, która może być nadal zablokowana. Jak mogę się dowiedzieć, czy stół Oracle jest zablokowany, czy nie? Czy jest jakaś instrukcja SQL, która wyświetla do analizy szczegóły historii?
oracle-11g-r2
locking
business-intelligence
Selahattin
źródło
źródło
Odpowiedzi:
Poniższe zapytanie podaje szczegóły wszystkich blokad.
źródło
Poniższego skryptu można użyć, aby szybko zidentyfikować wszystkie obiekty blokady w systemie Oracle.
Odniesienie: -Oracle Tips by Burleson Consulting http://www.dba-oracle.com/t_find_oracle_locked_objects.htm
źródło
Możesz zapytać o aktualnie zablokowane obiekty z V $ LOCKED_OBJECT .
Nie ma historii blokad, rejestrowanie wszystkich bloków spowodowałoby ogromne obciążenie wydajnościowe i dużo danych do przechowywania.
Baza danych jest najbliższa historii aktywnych sesji V $ ACTIVE_SESSION_HISTORY , DBA_HIST_ACTIVE_SESS_HISTORY (jeśli masz odpowiednią licencję na korzystanie z niej), w której możesz przeglądać sesje blokujące, instrukcje i inne informacje, ale nie zablokowane tabele. W przeciwnym razie możesz spróbować wysłać zapytanie do odpowiednich widoków i zapisać potrzebne dane za pomocą własnego, niestandardowego skryptu.
źródło
Za pomocą poniższego zapytania możesz znaleźć blokady na stole.
Blokowanie zamków
źródło
Jeśli chcesz zwolnić blokadę na zablokowanym obiekcie, zabij odpowiednią sesję.
źródło
Możesz sprawdzić blokadę stołu
v$lock
idba_objects
wyświetlić. Poniższe zapytanie podaje szczegóły blokady.ZAPYTANIE 2:
Możesz użyć poniższego zapytania, które poda więcej szczegółów. Blokada stołu
źródło