Background Image
운영관리
2010.03.04 02:35

CUBRID 쿼리 수행 중단 시 주의 사항

조회 수 16418 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

CUBRID사용 관련 장애 중 많은 부분에서 log손상 장애를 볼 수 있습니다. 여러 가지 이유가 있을 수 있겠으나 대표적인 이유 중 하나가 잘못 수행한 쿼리 또는 생각보다 오래 걸리는 쿼리를 중단 시키기 위한 Database강제 종료에 있는 경우가 많습니다. 본 내용에서는 쿼리 수행 중단 방법과 장애 발생 시 조치 방법에 대해서 간략하게 정리하도록 하겠습니다.

 

비정상적인 쿼리나 오려걸리는 쿼리를 수행했다고 느낀 경우 아래와 같이 확인을 하시기 바랍니다.

1.    "cubrid broker status -s1 -f" 명령어를 이용하여 broker의 현재 상태를 파악합니다. 이 결과에서 눈 여겨 보아야 할 것은 아래와 같습니다

A.     STATUS                     -> 현재의 상태가 BUSY인지를 확인해야 합니다.

B.     LAST ACCESS TIME    -> LAST ACCESS TIME이 현재 시각과 얼마나 차이가 나는지를 확인합니다.

C.     Query수행 여부 확인  -> 현재 쿼리가 수행 중이라면 해당 cas process에 쿼리문의 일부가 보일 것입니다.

2.    위의 두 가지 항목에 BUSY인 상태와 LAST ACCESS TIME이 오래된 경우(기대 수준에 따라 차이가 있습니다.) 쿼리 수행을 끊어줄 필요가 있습니다.

3.    위의 두 가지 경우는 Broker통하여 DB에 접속하는 경우이나 csql을 이용해서 쿼리를 수행한 경우라면 ctrl+C을 이용해서도 종료가 되지 않는 현상을 볼 수 있을 것입니다.

 

위와 같이 확인이 되었다면 아래와 같이 순차적으로 쿼리 수행을 취소하시기 바랍니다.

1.    CUBRID BROKERcas process를 중단한다. 가장 최우선적인 방법으로 “cubrid broker status –s1 –f”의 결과로 나온 문제의 cas process를 중단하는 작업이 필요합니다. 중단 방법은 “cubrid broker status –s1 –f”의 결과 중 앞에서 둘째 항목인 pidkill명령어를 이용하여 중단합니다.

) kill -9 2088

2.    특정 쿼리가 Broker전체에 영향을 주어 모든 cas process가 느려지는 현상이 발생할 수도 있습니다. 이때는 “cubrid broker off <broker_name>”명령어를 이용하여 해당 brokeroff시킨 다음 “cubrid broker on <broker_name>”명령어를 이용하여 구동합니다.

3.    전체적인 broker 재구동이 필요하다면 “cubrid broker restart”명령어를 이용하여 Broker를 재구동합니다.

4.    csql을 통해 접속한 경우, Broker를 거치지 않고 접속한 경우는 killtran명령어를 이용하여 조치합니다. “cubrid killtran <db_name>”명령어를 사용하면 현재 DB와 접속해 있는 process에 대한 정보가 나타나게 됩니다. 여기에는 Broker를 통한 접속, csql을 통한접속 등이 보이게 됩니다. 연결을 종료할 프로그램이 보인다면 -i옵션을 주어 해당 연결을 종료합니다. 해당 작업은 dba만 가능하므로 dba password를 입력해 주어야 합니다.

5.    연결이 정상적으로 종료가 되었다면 DBtransaction처리를 완료할 때 까지 조금만 기다려 주시면 됩니다.

 

어떠한 이유에서든 DB가 강제종료 되어 에러가 발생하며 구동이 안 되는 경우

1.    “cubrid emergency_patchlog <db_name>” 명령어를 이용하여 손상된 log의 복구를 시도합니다.

2.    “cubrid emergency_patchlog –r <db_name>” 명령어를 이용하여 손상된 log 재생성을 시도합니다.

3.    위의 방법으로 복구가 되지 않을 경우 백업 받은 파일로 복구합니다.

 

* 가장 확실하고 안전한 방법은 백업을 이용한 복구입니다. 안전한 복구를 위하여 반드시 규칙적인 백업을 받아 놓으시기 바랍니다.


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
57 운영관리 CUBRID에서의 BLOB/CLOB 사용시 백업 및 복구에 대한 주의 점 cubebridge 2012.09.18 33157
56 운영관리 Windows 서버에서 [장치에 쓰기 캐싱 사용] 설정/해제에 따른 성능 차이 이용미 2012.06.30 20231
55 운영관리 데이터 입력 중 디스크 공간 부족 오류가 발생하였을 때, 복구 방법 이용미 2012.06.30 14331
54 운영관리 CUBRID 에서의 사용자 권한관리 방법 file cubebridge 2012.04.14 23653
53 운영관리 CUBRID 4.0 버전 IP/db_user 접속 제한 추가 기능 이용미 2011.12.09 9261
52 운영관리 CUBRID 4.0 서버 재부팅 후 CUBRID Tray 기동문제 해결방법 정만영 2011.08.31 12420
51 운영관리 큐브리드 + 아파치 + php 설치 및 연동 1 하하보이 2010.12.15 21900
50 운영관리 windows 환경에서 Manager 접속이 되지 않는 경우 처리 방안 남재우 2010.11.26 14423
49 운영관리 insert 질의로 16K 이상 데이터 입력 시 오류 문제와 해결방법 정만영 2010.07.01 13184
48 운영관리 큐브리드 백업파일(볼륨)을 이용한 과거 데이터 복구 시나리오 janus 2010.04.01 21253
47 운영관리 CUBRID 데이터베이스 버퍼 캐쉬 파라미터($CUBRID/conf/cubrid.conf) Hint 정만영 2010.03.31 17321
46 운영관리 linux에서 ipcs를 이용한 CUBRID의 Shared Memory 확인하는 방법 seongjoon 2010.03.31 25819
» 운영관리 CUBRID 쿼리 수행 중단 시 주의 사항 cubebridge 2010.03.04 16418
44 운영관리 CUBRID에서의 출력 메시지 한글로 변경 방법. file seongjoon 2010.03.01 12440
43 운영관리 한 호스트내의 DB경로 변경 방법 janus 2010.02.19 12267
42 운영관리 큐브리드 복제 구성 시 마스터 데이터베이스 백업 주의사항 정만영 2010.02.11 12591
41 운영관리 cubrid_service.exe 가 CPU 를 지속적으로 일정부분 점유하는 경우 남재우 2010.01.01 13030
40 운영관리 CUBRID Database page크기 확인 방법 janus 2009.12.31 16017
39 운영관리 CUBRID Manager의 백업 자동화를 이용하여 요일 별로 백업을 하는 방법. file seongjoon 2009.12.16 15668
38 운영관리 자동 백업, 매니져 관리자 암호 등의 설정에 대하여 CUBRID 배포판을 만들어 동일하게 배포하고자 할때 남재우 2009.12.16 12826
Board Pagination Prev 1 2 3 4 Next
/ 4

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales