대량 insert시 db가 죽네요 0 2 1,296

by 옛다꿀밤 [Oracle 기초] 대량insert batch insert db [2017.10.31 14:38:58]


안녕하세요

자바로 만든 프로그램내에서 멀티쓰레드로 데이터를 batch로 insert하는데요(1분에 50만건정도)

전에는 몇시간 몇일을 돌려도 문제가 없었는데 사용하던 ssd용량이 한계에 임박하여 hdd를 추가하고 테이블스페이스를 hdd에 놓고 사용하면서부터 간헐적으로 db가 죽네요
5분만에 죽기도하고 몇시간만에 죽기도합니다

프로그램에러로그에는 '소켓에서 가져올 데이터가 없습니다'이렇게 나오는데요

Db랑 리스너를 재시작하고나면 db는정상화되는데 원인이 궁금합니다

cpu가 풀되서 죽는거 같아서 중간중간 sleep도 주고 스레드수도 줄여 실행해도 마찬가지네요(총 점유율 50프로에도 죽네요)

처음엔 개발환경이 노트북이다보니까 Db가죽는게 과도한 트랜젝션으로 인해 오라클의 cpu점유가 피크치면서 죽는걸로 생각되었는데 부하를 줄였음에도 동일현상이 발생되는걸로 봐서는 아닌가 같기도한데

원인이 뭘까요? 또는 시도해볼만한 작업이 있을까요?

참고로 db는 오라클11g입니다

고수님들의 고견 부탁드립니다.

감사합니다.

by 임상준 [2017.11.01 08:44:37]

프로그램 에러 말고 alert log 에 죽은 원인이 나와있을겁니다.


by 옛다꿀밤 [2017.11.01 15:54:45]

답변감사합니다

집에가서 확인해봐야겠네요

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