오라클 인덱스 리빌드 사용 관련 문의 0 5 2,617

by minroom [Oracle Tuning] 오라클 인덱스 리빌드 [2017.02.13 11:07:38]


안녕하세요. 오라클의 인덱스 리빌드 문의가 있어서 글 남깁니다.

구성은 현재 개발한 사이트의 DB는 오라클11g입니다.

(참고로 개발자라 DB쪽은 기본 정도만 알고 있습니다. 생성, 수정, 삭제, 설정부분을 인터넷으로 찾아서 적용할 정도)

 

현재 개발한 사이트가

새벽에 배치가 실행되어 20여개 테이블의 수만건의 데이터를 변경합니다.

그리고 전체 인덱스(400여개) 를 리빌드를 시켜 줍니다.

 

해당 방법으로 다른 곳들에 적용시 이슈가 없었는데 유독한 군데만 속도가 저하되는 이슈가 생기고 있습니다.

배치 동작 정상 완료 이후 전체 인덱스 리빌드를 동작하고 있습니다.

 

증상은 아침에 사용자들이 접속하여 사용하면 초기에는 괜찮다가 접속자가 늘어나면 갑자기 느려지는 현상이 발생됩니다.

(초반에 가끔있다가 현재는 이틀에 한번 정도 있습니다.)

해당 내용 확인하여 수동으로 인덱스 리빌드하면 정상 속도가 나옵니다. (인덱스 확인시 VALID, blevel값은 2정도 입니다.)

왜 이런 현상이 발생하는것일까요?

 

해결방안이 있으시면 조언 부탁드리겠습니다.

감사합니다.

by 임상준 [2017.02.14 13:26:56]

리빌드가 왜 수행되어야 하는지도 같이 알 수 있을까요?


by minroom [2017.02.15 09:11:55]

ㅜㅜ 답변감사합니다.

 

리빌드를 해야되는지 안해야되는지는 현재 처음 구조잡을때 그렇게 된부분으로 자세한 내용은 잘 모르겠습니다.

다만 찾아본 내용으로 일배치 동작시 20여개의 각각의 테이블에 수만건의 데이터를 삭제, 업데이트를 진행하여 적용한것으로 알고 있습니다.

동작되고 있는 사이트라 리빌드를 뺏을 때의 여파를 감당못해서 ㅜㅜ

그리고 최근들어 느려지는 현상이 있어서 느려질때 리빌드를 수동으로 진행하고 있습니다.

 


by 임상준 [2017.02.16 10:41:11]

리빌드가 완전히 제 시간에 끝났음에도, 오전에 접속자 수가 늘어나면 느려지고 인덱스 리빌드를 다시 하면 접속수가 많음에도 불구하고 빨라진다는거죠?

그 시점에 대기한는 세션의 이벤트랑 접속 세션에서 날라오는 쿼리를 같이 보는게 제일 확실할 것 같은데요,,

아니면 배치 끝나고 통계정보 수집이 다시 도는 프로세스가 있는건지요?


by minroom [2017.02.16 15:13:52]

네 리빌드가 정상동작했다는 로그 확인한 상태이고요.

말씀하신대로 접속자 수가 늘어나면 느려지고 리빌드하면 사람이 많이도 빨라집니다.

배치 끝나고 통계정보 수집이 다시도는 프로세스는 없습니다.


by minroom [2017.02.23 19:52:40]

감사합니다. 

알려주신 부분에 대해서 검토하여 쿼리 튜닝을 진행하였습니다.

인덱스 리빌드와는 상관이 없는 부분이였던거 같습니다. ㅜㅜ

오비이락이네요...프로그래머가 참 ㅜㅜ

다시한번 감사드리며 채택하려고 하는데 400에러가 뜨네요. ㅎ;

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입