* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
Window7 32bit | |
2008 R4.3 (32bit) | |
없음 | |
ASP(c#).net |
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 | 재현 가능한 Source와 SQL |
관련 테이블(인덱스, 키정보 포함) 정보 | CUBRID 홈 디렉토리 아래 log 디렉토리 압축 |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
아래의 질문에 대해서 다음과 같은 답변이 왔습니다 .
1,2번 둘다 해본결과 수행이 불가능 합니다.
다른 방법은 없는 것인가요?
그리고 다른 다작업 상관이 없고 내가 수행하는 작업에 대해서만 로그를 적재 하지 않는 방법은 없나요?
----------------------------------------질문
증상 Oracle에서 Cubrid로 대량 데이터를 이관하고 있습니다.
기본적으로 1000개씩 데이터를 이관합니다.
CUBRID ADO.NET Driver 8.4.0 버전입니다.
소스는 다음과 같습니다.
string strSQL = new string[오라클 데이터에 따라 변함];
for(i){
strSQL[i] ="insert SQL";
}
usng(CubrdCommand dbComm = new CubrdCommand ())
{
dbComm.Connection = CubridCon;
CubridTransaction dbTran = CubridCon.BeginTransaction();
dbComm.Transaction = dbTrans;
CubridCon. BatchExecute(strSQL);
dbTrans.Commit();
}
문제는 위와 같이 했을 경우 archive 로그가 대량으로 적재됩니다.
데이터가 전체가 260,000건 정도일고 하루에 10번정도 돌렸을 경우에 500MB정도 되는 파일로 해서 10기가 정도 생성이 되고 DBA한태 문의한 결과 삭제 할수 없는 파일로 나옵니다.
프로그램상에서 로그를 적재 하지 않거나 하는 방법은 없나요.?
그리고 기존에 적재되어 있는 archive 로그를 삭재하는 방법도 알고 싶습니다.
현재 상황이 하드자체가 FULL이어서 백업을 하고나서 삭제는 불가능 한 상황입니다.
답변
안녕하세요.
현재 작업하시는 내용은 대량의 데이터를 입력하시는 것이기 때문에 archive를 쌓이지 않게 하는 방법은 없습니다.
다만, archive 수를 제한하거나 필요하지 않는 archive 파일을 제거할 수는 있으니 아래 내용을 참고하여 주세요.
1. archive 수를 제한하는 방법
$CUBRID/conf/cubrid.conf 파일에서 아래 파라미터를 수정합니다.
- log_max_archives : 보존할 보관 로그 파일의 최대 개수를 설정하는 파라미터. 해당 개수를 1로 지정하시더라도 엔진에서 필요한 파일로 인식하게 되면 그 이상의 파일이 존재할 수 있으므로 참고해 주세요.
- force_remove_log_archives : 지정한 개수의 최근 보관 로그 파일을 제외한 나머지 파일의 삭제 허용 여부를 지정.
- 참고 메뉴얼 : http://www.cubrid.org/manual/ko/8.4.4/admin/config.html#logging-parameters
2. archive 파일 제거
해당 방법은 백업 수행 시, 엔진에서 필요 없다고 판단한 archive 파일을 제거합니다.
백업 유틸리티 수행 시, [-r] 옵션을 추가하여 사용해 주시면 됩니다.
- 참고 메뉴얼 : http://www.cubrid.org/manual/ko/8.4.4/admin/admin_utils.html#db-backup
* 참고 사항
1. HA 구성시에는 2번 방법을 권장해 드리지는 않고, 1번 방법을 이용하여 보관 로그를 정리합니다. HA를 사용하시는 경우에는 아래 내용을 참고해 주세요.
- HA 구성 시, $CUBRID/conf/cubrid.conf 파일 설정 : http://www.cubrid.org/manual/ko/8.4.4/ha.html#cubrid-ha-conf
2. DB 볼륨이 위치하는 디렉토리에 DBName_lginf 파일을 보시면 보관 로그에 대한 상세 내용이 저장되어 있습니다. 그러나 해당 파일을 이용한 수동 삭제는 권장하지 않으니, 가급적이면 수동 삭제는 수행하지 말아주세요.
감사합니다.