Background Image

FORUM

조회 수 8886 추천 수 0 댓글 5
?

단축키

Prev이전 문서

Next다음 문서

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

안녕하세요.


얼마전 운영 중인 CUBRID 서버가 비정상 종료 된 이후 로그 파일을 찾을 수 없다고 나와 복구를 진행했습니다.


[에러 메시지]

Time: 07/28/12 20:19:59.343 - ERROR *** ERROR CODE = -10, Tran = 0, CLIENT = (unknown):(unknown)(-1), EID = 1

Unable to mount disk volume "/var/lib/cubrid822/databases/DATABASE/DATABASE_lgar3379".... No such file or directory


위와 같이 에러가 발생하며 구동이 되지 않아


# cubrid emergency_patchlog DATABASE


명령으로 복구 후 구동이 되었습니다.


INSERT/UPDATE/DELETE 등에 문제가 없는데 다음 명령을 실행하면 에러가 발생합니다.


select * from member_sessions where site_id = 12178


[에러 메시지]

Time: 08/02/12 10:26:48.621 - ERROR *** ERROR CODE = -495, Tran = 6, CLIENT = DATABASE-db3:query_editor_cub_cas_1(6392), EID = 3939

Execute: Query execution failure #9659.


특정 테이블 혹은 데이터에 문제가 생긴 것 같은데 에러코드 확인 방법과 문제 조치 방법에 대한 조언을 부탁드립니다.


감사합니다.

  • ?
    이용미 2012.08.03 00:56

    안녕하세요. 질문 감사 드립니다.

    Emergency_patchlog 이후 정상적으로 구동이 된다고 하셨으니 복구는 정상적으로 완료된 것으로 보입니다.

    해당 오류 자체로는 원인 파악이 어려우므로 오류가 발생한 시간대의 $CUBRID/log/server 디렉토리에 있는 로그파일을 첨부 부탁 드립니다.

  • ?
    freemir 2012.08.03 18:12

    [DB의 데이터베이스가 종료된 시점의 에러 로그]

    Time: 07/28/12 20:09:19.421 - ERROR *** ERROR CODE = -10, Tran = 0, CLIENT = (unknown):(unknown)(-1), EID = 14251

    Unable to mount disk volume "/var/lib/cubrid822/databases/DB_NAME/DB_NAME_lgar3379".... No such file or directory


    Time: 07/28/12 20:09:19.449 - FATAL ERROR *** ERROR CODE = -97, Tran = 0, CLIENT = (unknown):(unknown)(-1), EID = 14252

    Internal error: unable to find log page 17316729 in log archives.


    상기와 같이 에러가 기록되고 있었으며, 로그파일을 찾지 못해 구동이 되지 않는 상태였습니다. csql로 접속도 안되는 상태여서 emergency_patchlog를 실행했습니다.



    [emergency_patchlog 이후 에러 메시지]

    Time: 07/28/12 20:36:52.828 - ERROR *** ERROR CODE = -407, Tran = 2, CLIENT = DB_NAME-db3:broker1_cub_cas_2(6404), EID = 1

    Unknown key {12155, '0', timestamp '12:35:37 PM 07/26/2012', 6963} referenced in B+tree index {vfid: (72022, 4), rt_pgid: 79220, key_type: midxkey}.


    Time: 07/28/12 20:38:45.347 - ERROR *** ERROR CODE = -407, Tran = 2, CLIENT = DB_NAME-db3:broker1_cub_cas_2(6404), EID = 2

    Unknown key {12155, '0', timestamp '12:35:37 PM 07/26/2012', 6963} referenced in B+tree index {vfid: (72022, 4), rt_pgid: 79220, key_type: midxkey}.


    Time: 07/28/12 20:51:52.634 - ERROR *** ERROR CODE = -495, Tran = 2, CLIENT = DB_NAME-db3:broker1_cub_cas_2(6404), EID = 12

    Execute: Query execution failure #9659.


    Time: 07/28/12 20:52:10.730 - ERROR *** ERROR CODE = -407, Tran = 2, CLIENT = DB_NAME-db3:broker1_cub_cas_2(6404), EID = 14

    Unknown key {0, 10657, '0', '0', timestamp '08:09:04 PM 07/28/2012'} referenced in B+tree index {vfid: (34890, 4), rt_pgid: 39500, key_type: midxkey}.


    이후 상기와 같은 에러가 발생되고 있습니다.

  • ?
    이용미 2012.08.04 01:55

    안녕하세요. 첨부해주신 내용 감사 드립니다.

     

    데이터베이스가 비정상 종료되면 로그, Data, Index 등이 손상될 가능성이 높습니다. 질문자님의 경우는 아카이브 로그가 손상되어 정상적인 구동이 어려웠던 것으로 보입니다. 로그가 손상되었을 경우, “emergency_patchlog”를 이용하여 로그 복구는 가능합니다만 Data, Index 등의 손상에 유무에 대해서는 알 수 없습니다. 해당 유틸리티 사용 후, DB가 정상적으로 구동 된 것으로 보아 로그 복구는 완료되었음을 알 수 있습니다.

     

    로그 복구 이후 발생한 407번 오류를 살펴보면 select SQL문 수행 시 잘못된 키가 인덱스를 참조한다고 되어있습니다. 이것으로 보아 비정상적인 종료로 인한 인덱스 손상이 발생한 것으로 보입니다. 데이터 손상에 대해서는 현재 알 수 없습니다.

     

    해결 방법으로는 가능한 빠른 시일 내에 2번 방법을 통하여 복구 하시는 것을 권장하지만 해당 방법의 경우 서비스를 중지시킨 후 작업을 해야 합니다. 그러므로 작업이 바로 불가능하시다면 1번 방법을 이용하여 오류를 해결하신 후 빠른 시일 내에 2번 방법을 통하여 복구하시는 것이 좋습니다.

    1.     cubrid checkdb r DB_NAME

    checkdb 유틸리티는 데이터베이스의 일관성을 확인하는 유틸리티로 “-r” 옵션 사용시 자동 수정 작업까지 포함합니다. checked 유틸리티에 대한 자세한 사항은 매뉴얼(http://www.cubrid.com/online_manual/841/admin/admin_db_check.htm)을 참고하시면 됩니다.

    2.     Unloaddb/Loaddb

    재구성에 대한 자세한 사항은 다음 링크를 참고하시면 됩니다.

    Unloaddb : http://www.cubrid.com/online_manual/841/admin/admin_migration_unload.htm

    Loaddb : http://www.cubrid.com/online_manual/841/admin/admin_migration_load.htm

     

    위의 방법으로도 문제가 해결되지 않으신다면 댓글 부탁 드립니다.
  • ?
    freemir 2012.08.06 09:05

    알려주신 방법 중 1번으로 해보니 처리가 안되는 상태입니다.


    cubrid checkdb -r DB_NAME 으로 복구 진행시


    Time: 08/06/12 00:02:10.301 - ERROR *** ERROR CODE = -40, Tran = 9, CLIENT = DB_NAME-db3:checkdb(32270), EID = 5243

    Internal error: 1730 expected pages, 1616 found pages for file VFID 4|43(volume "/var/lib/cubrid822/databases/DB_NAME/DB_NAME_x004").


    상기와 같이 복구 진행이 안되는 상태입니다.

    실 서비스 중인 데이터베이스라 새벽 시간에 unloaddb / loaddb 로 복구를 진행해보고 결과 말씀드리겠습니다.

    감사합니다.

  • ?
    freemir 2012.08.08 18:46

    unloaddb , deletedb, createdb, loaddb 를 통해 복구했습니다.

    loaddb 시 로그를 보면 특정 object가 없다고 나왔습니다.

    이후 쿼리 수행 시 문제는 없는 상태입니다.

    감사합니다.


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 48
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
1274 로그인 에러 문의 드립니다. 3 낭군 2012.09.21 7785
1273 cubrid log message 관련 질문입니다. 3 깽즈야 2012.09.17 5850
1272 볼륨 자동 추가 기능이 작동하지 않는 것 같습니다. 2 nimbus89 2012.09.14 5701
1271 큐브리드의 이전 버전 다운로드에 대해서 1 DiaBlue 2012.09.13 5555
1270 테이블 크기제한은 어떻게 해제하나요? 2 로닥 2012.09.10 5576
1269 cubrid 복구 관련 문의 3 깽즈야 2012.09.07 7812
1268 큐브리드 매니저 질의 실행계획 표시 오류?? 3 file 종이 2012.09.07 5486
1267 master process에 대해서 4 깽즈야 2012.09.06 5783
1266 혹시 큐브리드매니저 자동완성 끄는 기능 있나요 2 안지민 2012.09.05 6036
1265 CCI API가 Thread Safe 한가요? 3 nimbus89 2012.09.04 7284
1264 CCI API로 구현시 DB를 원격에서 접속할 때 발생하는 문제 2 nimbus89 2012.09.01 5989
1263 명령창(커멘드 라인)으로 DB 생성시 볼륨 자동 추가 설정 방법 문의 4 nimbus89 2012.09.01 6784
1262 표준프레임워크의 공통컴포넌트에 게시판설치관련 3 file 큐브리 2012.08.31 22767
1261 cubrid ha 백업 문의 1 깽즈야 2012.08.30 5959
1260 cubrid manager 접속 오류와 관련하여 1 bizsp 2012.08.30 5766
1259 loaddb시 피시 메모리 증가와 스왑에 따른 종료문제 7 천상하늘 2012.08.28 11365
1258 DB링크 사용이 가능한지 문의드립니다. 1 secret 장경수 2012.08.28 5
1257 이전에 질문드렸었는데요.. 중복 제거 쿼리문 재질문드립니다... 2 광황제 2012.08.25 9117
1256 cubrid_real_escape_string 값이 빈 값으로 리턴 됨 4 file 차오이 2012.08.25 5547
1255 큐브리드 매니저 비밀번호 오류메시지 2 file 종이 2012.08.24 6075
Board Pagination Prev 1 ... 132 133 134 135 136 137 138 139 140 141 ... 200 Next
/ 200

Contact Cubrid

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