목적 : 오후 1시부터 2시까지 spreport를 떠 볼려고 합니다.
시간 설정은 어떻게 하는 것인지요? execute statspack.snap --1 execute statspack.snap --2 위의 실행문 간격을 의미하는건가요? 그리고 이작업이 끝내고 더이상 하지 않을경우 어떻게 처리해주면 되는지요. alter system set timed_statistics=faluse; 이렇게만 해주면 되나요?
pl/sql을 모르시는가 보군요.
-- : inline remark입니다. 즉 --1 는 아무런 의미가 없는거구요.
특정시간 주기로 돌려면 job에 등록해서 하시던지 shell로 하시던지 해야 합니다.
alter system set timed_statistics = false는 가급적이면 하지 마시구... 그냥 true로
해 놓는게 낳습니다. 나중에 모니터링을 위해서요.
statpack 실행시 1 시간이나 그 이상으로 시간을 잡으시면...
해당 시간대의 중요한 이슈들.. wait event 나 기타 sql 에 대한 정확한 이슈를
잡아 내기 어렵습니다.
즉 statspack 의 경우 산출된 값이 축적된 평균값 내지는 축적된 데이터를
가져 오는 것이기 때문에... 실시간 발생되는 정확한 성능 정보를 추출해 내는 것이
어렵습니다.
문제가 되는 peak time의 성능 정보를 추출하려면.. 15분 에서 30 분사이에 statspack을
걸어 두실 것을 권장드립니다.
제일 정확한건 v$session_wait 와 v$sql, v$session 등.. 실시간 발생하는 wait event와
그와 관련된 세션에 대한 정보를 테이블에 실시간 저장하거나 모니터 하시는 방법이
실시간 발생되는 성능 이슈에 대한 정확한 데이터를 유지 할수 있는 방법이 될 것입니다.
hit ratio에 기반한 튜닝 방법론은 이미 그 의미가 퇴색 된지 오래이며.. 큰 의미가 없습니다.
수고하세요