sourcetip

몇 번 실행 후 쿼리가 매우 느립니다.

fileupload 2023. 9. 15. 21:17
반응형

몇 번 실행 후 쿼리가 매우 느립니다.

저는 오라클을 처음 접했는데 지금은 다음과 같은 상황에 미쳐가고 있습니다.저는 오라클 11g 데이터베이스에서 작업하고 있으며 sql developer로 쿼리를 실행하는 경우가 여러 번 발생하고 있으며 이것은 5/6초 만에 올바르게 실행되며 다른 쿼리는 300/400초가 소요됩니다.쿼리가 300/400초를 사용할 때 어떤 일이 발생하는지 디버깅할 수 있는 몇 가지 도구가 있습니다.

업데이트 1 이것은 나의 sql 개발자 스크린샷 문제가 직접 경로 읽기 온도인 것 같습니다.

enter image description here

업데이트2 신고하다

업데이트 3 레포트2

좋은 제안이 있습니까?

트레이스 설정을 시도해보세요.사용자가 지연을 겪고 있는 사용자가 무엇이든 간에
ASSYS:

GRANT ALTER SESSION TO USER;

추적을 실행하는 사용자:

ALTER SESSION SET EVENTS '10046 trace name context forever, level 8';
ALTER SESSION SET TRACEFILE_IDENTIFIER = "MY_TEST_SESSION";

오류/이슈를 생성한 다음 사용자 테스트를 수행합니다.

ALTER SESSION SET EVENTS '10046 trace name context off';

추적 파일이 보관되어 있는 위치를 시스템이 파악할 때:

show parameter background_dump_dest;

해당 디렉토리로 이동하여 다음을 포함하는 .trc/.trm 파일을 찾습니다.MY_TEST_SESSION. 예를 들어 ORCL_ora_29772_MY_TEST_SESSION.trc입니다.
그 후에 그 파일들을 프로파일 할 겁니다.Linux의 경우:

tkprof ORCL_ora_29772_MY_TEST_SESSION.trc output=ORCL_ora_29772_MY_TEST_SESSION.tkprof explain=user/password sys=no

tkprof 파일을 읽으면 주어진 문장에 대한 대기 시간이 표시됩니다.
TKPROF에 대한 자세한 내용은 이 글을 읽어 보십시오.추적 활성화/비활성화에 대한 자세한 내용은 를 참조하십시오.

가장 좋은 툴은 Real-Time SQL Monitoring.코드를 변경하거나 운영 체제에 액세스할 필요가 없습니다.유일한 단점은 튜닝 팩 라이센스가 필요하다는 것입니다.

이 한 줄의 코드를 다른 답변의 추적 단계와 비교합니다.또한 출력이 훨씬 좋아 보입니다.

select dbms_sqltune.report_sql_monitor(sql_id => 'your sql id', type => 'text') from dual;

11g 이상에서는 트레이스를 사용할 필요가 거의 없습니다.

이러한 동작은 11gR2의 카디널리티 피드백 버그/문제로 인해 발생할 수 있습니다.저도 비슷한 문제가 있었습니다.이 기능을 해제하면 이 경우를 테스트할 수 있습니다._optimizer_use_feedback=false

또한 최신 업데이트를 적용해 보십시오.

언급URL : https://stackoverflow.com/questions/29944673/query-very-slow-after-a-few-execution

반응형