전체 테이블에 대해서는 아니지만 일부 테이블에 대해서는 테이블이 삭제되었는데도 시리얼이 남아있는 상태여서
다시 테이블을 만들때 [auto_increment] 가 이미 존재한다고 에러가 발생했습니다.
예전에 질문을 드렸을 때 테이블이 삭제되면 시리얼도 삭제된다고 말씀을 들었지만 위와 같은 문제가 발생을 하고 있습니다.
그럼 혹시 테이블을 지웠다가 다시 만들면 해결 될 가능성이 있을까요?
아울러, DB를 HA 구성으로 사용하고 있지만 위의 문제가 발생한 마스터 DB의 테이블에 대해서는 실제로 SQL 구문에
auto_increment 빼고 실행을 했지만 [auto_increment] 가 만들어졌습니다.
슬레이브 DB 쪽에서는 마스터와 동일한
테이블에 대해서 [auto_increment] 가 만들어져 있지 않은 상태입니다.
아마도, 테이블을 만들때 [auto_increment] 가
이미 존재한다고 에러가 발생했을 때 SQL에서 [auto_increment] 빼고 만든것이 원인인것 같습니다만, 이 부분도 마스터 DB 쪽의
해당 테이블을 삭제하고 다시 만들면 해결이 될까요??
참고로 슬레이브 DB 쪽에서 글 쓰기가 가능합니다.
아직 CSQL 로 해보진 않았지만 Cubrid Manager 상에서는 글 쓰기가 가능한데요 HA 구성이 잘 못 되어있는건가요?
양 서버의 cubrid.conf 및 cubrid_ha.conf 에 대해서는 마스터의 있는 파일을 슬레이브에 복사해서 동일한 설정으로 사용한고 있고요
ha_copy_sync_mode 는 sync:sync 로 설정해 놨습니다.
확인 부탁드릴께요.
감사합니다.
안녕하세요.
Auto_increment 속성의 경우, 예전 답변과 같이 해당 테이블을 drop 할 경우, 함께 삭제되는 것이 맞습니다.
다음 작업을 마스터 DB에서 csql을 이용하여 확인 부탁 드립니다.
- 문제가 발생하는 테이블 drop
- Auto_increment 속성이 db_serial 에 남아있는지 확인
- 문제가 발생하는 테이블(drop 하였던 테이블) 속성과 동일한 테이블 재생성
위의 방법으로 해결되지 않으신다면 현재 사내에서 해당 문제가 재현되고 있지 않으니, Test를 하셨던 시나리오를 자세히 올려주시면 감사하겠습니다.