현재 운영 중이 데이터베이스에서 특정 테이블을 최적화 하니 다음과 같은 에러가 발생합니다.
해서 다음과 같은 명령으로 복구를 시도 했습니다.
해당 에러 페이지를 보니
이런식의 에러는 어떻게 처리를 해야 할까요.
참고로 해당 데이터에는 데이터가 약 6만건 정도 저장되어 있답니다.
감사합니다.
[cubrid@www ~]$ cubrid optimizedb -n lot_data goeip08
CUBRID 2008 R1.4
Internal error: object 0|1116|14 may be corrupted.
CUBRID 2008 R1.4
Internal error: object 0|1116|14 may be corrupted.
해서 다음과 같은 명령으로 복구를 시도 했습니다.
[cubrid@www ~]$ cubrid checkdb -S goeip08 --repair
CUBRID 2008 R1.4
Some inconsistencies were detected in your database.
Please consult error_log_file /app/server/cubrid/product/8.1.4/log/server/goeip08_20090710_1944.err for additional information.
CUBRID 2008 R1.4
Some inconsistencies were detected in your database.
Please consult error_log_file /app/server/cubrid/product/8.1.4/log/server/goeip08_20090710_1944.err for additional information.
해당 에러 페이지를 보니
Time: 07/10/09 19:44:45.792 - ERROR *** ERROR CODE = -670, Tran = 1, EID = 105350
Operation would have caused one or more unique constraint violations.
Time: 07/10/09 19:44:45.792 - ERROR *** ERROR CODE = -670, Tran = 1, EID = 105351
Operation would have caused one or more unique constraint violations.
Time: 07/10/09 19:44:45.792 - ERROR *** ERROR CODE = -670, Tran = 1, EID = 105352
Operation would have caused one or more unique constraint violations.
..............................
형식으로 에러로그가 출력되어 있네요. 일단 메세지 내용으로 보니 무결성 쪽이 문제가 있는것 같은데요.Operation would have caused one or more unique constraint violations.
Time: 07/10/09 19:44:45.792 - ERROR *** ERROR CODE = -670, Tran = 1, EID = 105351
Operation would have caused one or more unique constraint violations.
Time: 07/10/09 19:44:45.792 - ERROR *** ERROR CODE = -670, Tran = 1, EID = 105352
Operation would have caused one or more unique constraint violations.
..............................
이런식의 에러는 어떻게 처리를 해야 할까요.
참고로 해당 데이터에는 데이터가 약 6만건 정도 저장되어 있답니다.
감사합니다.
두번째, cubrid checkdb는 데이터베이스 복구 명령이 아니고 인덱스와 데이터 구조를 확인하기 위한 것입니다, 즉, 물리적 일치 확인 명령으로 checkdb 실행 후 불일치로 나올 경우 --repair 옵션으로 자동 수정을 시도해 볼 수 있습니다.
마지막 ERROR CODE = -670 오류는 Unique 컬럼에 중복 값이 들어와 발생한 오류입니다.