Linux 64bit | |
9.3.3 | |
[도움말]-[버전정보] 확인 | |
java, php, odbc 등 입력 |
안녕하세요.
현재 HA 구성으로 사용중인데요.
Master쪽에 임시볼륨의 사용율이 높아지는데 제가 알기로 사용안하게 되면 정리가 되서 공간을 확보하는걸로 알고있거든요
사용율이 거이없는 새벽시간대에도 특정 db의 임시볼륨의 사용이 정리되지 않습니다.
다른 db는 정상적인데 특정 db만 이런 현상이 나오고 있거든요.
모든 db는 동일한 웹서비스로 사용중이고요.
현재는 hb stop 한뒤 다시 hb start로 임시볼륨 다시 확보하고 있습니다.
어떤부분을 확인해봐야 할까요???
안녕하세요. 큐브리드를 사용해 주셔서 감사합니다.
임시볼륨은 질의 처리 및 정렬을 수행할 때, 임시적으로 저장하여 활용한 볼륨입니다.
문제의 DB를 사용할 때, 임시 볼륨을 사용해야 하는 질의문들이 수행되어 누적되는 것입니다.
말씀하신것과 같이 "사용안하게 되면 정리가 되서 공간을 확보 " 는 아닙니다.
servcie혹은 server를 재시작해야 임시 볼륨공간이 초기화 됩니다. 그래서 hb stop& start를 하시면 DB-server가 재 구동되어
초기화 되는 것입니다.
해당 DB를 사용함에 있어 임시볼륨이 필요한 질의형태가 호출되어 생성되는 것이니, DISK여유가 된다면 addvoldb를 통하여 추가해 주시면 좋겠습니다.
CUBRID Manager에서 UI를 통해서도 추가가 가능합니다.
명령어 : cubrid addvoldb --db-volume-size=1G(적절한 설정값) -p TEMP DB명
아래는 매뉴얼 내용입니다. 참고하세요
임시 볼륨(Temp Volume)
임시 볼륨은 질의 처리 및 정렬(sorting)을 수행할 때 중간, 최종 결과를 임시로 저장하는 공간으로, 아래에서 설명할 일시적 임시 볼륨과 구분하기 위해 영구적 임시 볼륨이라고도 한다. 임시 볼륨은 영구적으로 확보한 공간으로, 해당 공간에 존재하는 데이터가 임시적으로 저장 및 소멸되는 것을 의미한다. 따라서 CUBRID를 재시작하면 임시 볼륨 공간 내의 데이터는 초기화되고, 이에 관련된 로그 정보는 남지 않는다.
영구적 또는 일시적 임시 볼륨을 사용할 수 있는 질의의 예는 다음과 같다.
위와 같은 질의를 수행할 때 SELECT 결과를 저장하거나 데이터를 정렬하기 위해 지정한 메모리 공간 (cubrid.conf 에서 지정하는 시스템 파라미터인 temp_file_memory_size_in_pages 에 의해 메모리 공간의 크기가 결정됨)을 소진하면 임시 볼륨 공간을 사용한다. 질의 처리 및 정렬 결과를 저장하기 위해 사용하는 저장 공간의 순서는 다음과 같으며, 현재의 저장 공간을 모두 소진하면 다음의 저장 공간을 사용한다.