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 53
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4459
1275 컴퓨터 메모리 증가 현상 문의드립니다 file 파파후드 2012.09.23 10834
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 22768
1261 cubrid ha 백업 문의 1 깽즈야 2012.08.30 5959
1260 cubrid manager 접속 오류와 관련하여 1 bizsp 2012.08.30 5766
1259 loaddb시 피시 메모리 증가와 스왑에 따른 종료문제 7 천상하늘 2012.08.28 11367
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
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