* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
Linux 64bit | |
8.4.3 | |
큐브리드 매니저 | |
jsp |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
cron을 사용하여 unload형태로 백업하고 있는 DB를 PC에서 load하니 레코드 건수 가 맞지않는 현상이 있습니다.
object파일을 직접 열어서 확인해보니 파일에는 실제 DB에 있는 건수와 레코드 숫자가 맞는데
load하면서 유실이 발생한 것으로 보입니다.
1. 무엇이 원인이라서 이런 문제가 발생하는지
2. object파일에 있는 레코드(데이타)를 다 load하려면 어떻게 해야하나요.
추가질문입니다.
콘손모드에서 큐브리드 명령어를 사용할때 클라이언트모드/서버모드로 옵션을 구분지어서 사용하도록 되어있던데요.
3. unload명령어에서도 -C 혹은 -S를 옵션을 반드시 사용해야되는건가요?
4. 클라이언트모드와 서버모드의 차이가 뭔가요?
안녕하세요.
아래 답변을 참고해 주세요.
1. 아래 내용을 확인해주세요.
- Unloaddb/Loaddb 수행 시, 사용하신 명령(옵션 포함).
- Loaddb 수행 시 발생되는 오류 및 $CUBRID/log/DBName_loaddb.err 파일 확인.
- Unloaddb 수행 시, 생성된 DBName_unload.log 파일에서 확인한 데이터 갯수와 직접 Object 파일을 이용하여 확인하신 데이터 건수 비교. 추가적으로 어떻게 Object 파일을 이용하여 데이터 건수를 확인하셨는지도 알려주세요.
- 문제가 발생한 테이블의 실제 건수와 Load 시 입력된 건수 비교.
2. 오류가 발생하지 않은 이상, 기본적으로 Object 파일에 있는 모든 데이터는 Load 시에 지정된 데이터에 입력됩니다.
옵션을 이용하여 특정 테이블을 제외한 나머지 테이블을 올릴수는 있습니다. 데이터가 정상적으로 올라가지 않은 것에 대하여는 위 1번 내용을 확인해 주세요.
3. Unload 수행 시, DB가 이미 구동되어 있는 경우라면 -C 옵션을 주시거나 명시하지 않으셔도 됩니다. 다만, DB가 정지 상태에 있는 경우에는 반드시 -S 옵션을 추가하여 Unload를 수행하셔야 합니다.
4. Client/Server 모드(-C)와 Standalone 모드(-S)의 차이점을 말씀하시는 것이 맞는지요?
특정 유틸리티를 수행하기 위하여 DB 접근 시, DB의 구동/정지 여부를 알려주기 위한 방법입니다.
CUBRID에서는 DB가 구동 중일 때 기타 유틸리티 작업을 위하여 Client/Server 모드로 접근해야 하며, 이때에는 -C옵션을 사용합니다. DB가 정지 중인 경우에는 Standalne 모드로 DB에 접근해야 하며, 이때에는 -S 옵션을 사용합니다.
여기서 주의 하실 점은 DB가 정지상태에 있는 경우, Standalone 모드로 연결되는 유틸리티는 하나만 가능합니다.
예를 들면 DB가 정지 중 일때, Unload 수행 시 완료가 되기 전까지는 csql과 같은 추가적인 유틸리티는 DB 사용이 불가능합니다.
감사합니다.