문제

다음 쿼리가 며칠 동안 중단된 것처럼 보이는 컴퓨터에서 추적이 있습니다.

SELECT table_name FROM user_tables

무엇이 그러한 잠금을 생성할 수 있습니까?사용자는 이 테이블을 수정할 수 없습니다.성공적으로 실행된 이 쿼리의 후속 인스턴스가 많이 있었습니다.

도움이 되었습니까?

해결책

따라서 해당 조건이 더 이상 존재하지 않으므로 무슨 일이 일어났는지 알 수 있는 방법이 없습니다.

그러나 나중에 이와 유사한 일이 다시 발생하면 Oracle의 대기 인터페이스를 사용하는 것이 좋습니다.즉, 보세요. V$SESSION.

먼저 프로세스가 회전 중인지(즉, CPU에서) 차단 중인지(즉, 대기 이벤트를 기다리는 중인지 확인해야 합니다.그것을 결정하는 방법은, STATE 열:

  • 상태가 다음인 경우 'WAITING', 세션이 차단됩니다.그렇다면 EVENT 열은 세션이 기다리고 있는 이벤트를 설명해야 합니다.
  • STATE가 'WAITING'이 아닌 경우 세션은 CPU에 있고 EVENT 열은 마지막으로 기다린 것입니다.
    • 상태가 다음인 경우 'WAITED KNOWN TIME', 이면 WAIT_TIME은 대기 시간(센티초)입니다.
    • 상태가 다음인 경우 'WAITED SHORT TIME', 그런 다음 세션은 100분의 1초도 채 걸리지 않았습니다.
    • 상태가 다음인 경우 'WAITED UNKNOWN TIME', 해당 세션에 대해 timed_statistics가 FALSE로 설정되었으므로 대기 시간을 알 수 없습니다.

도움이 되길 바랍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top