Background Image

FORUM

조회 수 14208 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
1. 사용환경
    - HW : Xeon E5530@2.40GHz Quad x 4 = 16Core
    - RAM : 36GB
    - Storage : Hitachi 12TB SAN (DF600F Multipath)
    - OS : Windows Server 2003, x64 Edition 

    - Cubrid 설정
        data_buffer_pages : 1500000
        broker : sql_log : off
        media_failure_support : no

2. 작업 
    - 알려주신대로 DB를 생성하였습니다.
    - 해당 DB에 MSSQL의 특정 테이블 하나에서 1000만건정도- 순수 데이터 크기 약 30GB정도 - 를 SSIS (SQL Server Integration Services)를 이용하여 마이그레이션 하기로 해보았습니다. (500만건은 25분 정도에 이상없이 들어갔습니다.)

3. 결과
   - 작업이 진행되는 중에 , 첨부의 "큐브리드힙고갈" 사진의 메시지가 나타나며,
   - cub_cas.exe 가 "큐브리드메모리점유율"에 표시된 만큼의 메모리를 사용하고
   - "큐브리드로그증가"와 같은 임시적 Log 파일이 90GB에 달하는 만큼 생성되었습니다. (media_failure_support = no옵션사용)

4. 조치
   - SSIS 서비스를 종료하였지만, 큐브리드 서비스가 정상작동 하지 않는것 같아 (적어도 24시간이상 기다림)
   - 큐브리드 서비스를 중지한후, 재시작 하였습니다만, 해당 DB가 첨부의 "큐브리드 재시작오류"와 같은 standalone mode라는 메시지를 표시하고 복구가 되질 않더군요.

해당 내역에 대한 도움말씀 좀 부탁드립니다.
  • ?
    cubebridge 2010.01.19 02:59
    현재 작업 시 발생된 문제에 대해서 설명 드리도록 하겠습니다.
    첨부하신 이미지파일로 보아 데이터를 받아 입력하는 작업은 하나의 트랜잭션으로 진행된 것으로 보여집니다. 정확히 말씀드리면 하나의 트랜잭션이 끝나기 전에 "Too many heap sections"의 메시지를 보셨을 것이고, 이에 따라 SSIS를 종료 시켰으며, 이로 인해 DB는 rollback작업에 들어간 것으로 보입니다. 트랜잭션에 대한 처리가 없었기 때문에 초기 상태로 돌아갈 것이고 변경된 내용인 90G의 로그를 읽어서 rollback을 할 것입니다. 따라서 DB를 중지 시킨다고 하더라도 자체적인 복구작업을 위해 제대로 중지되지 않을 것이며, 현재의 DB로의 접속도 불가능할 것입니다. 각각의 원인에 대해 설명하면 아래와 같습니다.

    1. cub_cas.exe가 10G가 넘는 메모리를 사용하게된 이유를 말씀드리면, CUBRID는 3tier구조로 DB와 프로그램 중간에 broker가 있으며, broker가 cub_cas.exe를 관리합니다. cub_cas.exe는 트랜잭선이 종료될 때마다 일정한 크기의 메모리 사용을 넘으면 자동으로 재시작되어 관리되도록 되어 있습니다. 단, 트랜잭션 종료 시에만 재시작되어 관리가 되므로 트랜잭션 처리가 없는 이번 작업에서는 재시작될 수 없어 계속 메모리 사용량을 늘여가게 됩니다.
    2. 임시적 로그파일(lgar)이 90G까지 생성된 이유도 트랜잭션 종료가 없이 작업이 진행되었기 때문입니다. 트랜잭션 처리가 없다는 것은 입력된 데이터를 rollback할 경우 사용할 수 있다는 이야기이며, 이를 대비하기 위한 로그는 남아있어야 하기 때문입니다. 이는 media_failure_support옵션과는 무관합니다. 트랜잭션 처리를 했을 경우 media_failure_support옵션이 no라면 트랜잭션 이전의 로그는 삭제될 것입니다. yes라면 그대로 남아 있게 됩니다.

    해결방법은 주기적으로 트랜잭션 처리를 하도록 프로그램을 설정 또는 수정해 주는 것입니다. 5만~10만건 정도로 트랜잭션 정리를 하도록 수정한다면, 임시로그도 크게 생성되지 않을 것이며, cub_cas.exe의 메모리 사용도 크지 않을 것입니다. 

    추가적인 질문이 있으시면 덧글 주시기 바랍니다.
  • ?
    쭈난 2010.01.19 18:38
    감사합니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 49
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
1074 LOWER 오류가 왜 날까요? 4 초보 2010.01.15 10392
1073 큐브리드 멈춤상태 broker status결과 첨부합니다. 1 file 니나노 2011.01.10 10393
1072 윈도우 DBA 비번 암호변경 3 천상 2016.06.15 10398
1071 ubuntu에서 cubrid 매뉴얼을 보고 설치 할 때 오류 발생 3 달려라데니얼 2014.02.25 10401
1070 VB 6.0 환경에서 레코드 컨트롤 시에 런타임 오류가 발생합니다. 1 red03410 2014.03.20 10403
1069 원격에서 접속은 되지만 테이블 목록을 볼 수 없습니다. 1 1311 2010.08.28 10406
1068 브로커 포트 관련 1 푸추어핸접 2013.10.28 10409
1067 큐브리드에 db link 기능이 있나요? 1 김성일컴퍼니 2013.07.18 10413
1066 linux cubrid manager 설치후 실행 error file 거기 2013.10.23 10416
1065 질의 자동화 질문입니다. 3 기린종인 2012.04.27 10417
1064 큐브리드 매니저 실행 후 DB접속 시 1 안녕하세요1 2016.04.15 10417
1063 loaddb 로 대량의 data insert 시 질문드립니다. 1 laim 2012.11.16 10420
1062 Java 저장 함수/프로시저 문의 1 초도한정 2014.01.03 10431
1061 cubrid_connect() 가 정의 되어 있지 않다고 나옵니다. 1 독고구검 2011.08.03 10436
1060 에러 문의 1 시나브로 2016.04.19 10438
1059 CUBRID-8.2.1.0215 CentOs5.1에 설치 중입니다. 1 Philip Park 2010.01.27 10439
1058 group by 오류 1 초보 2010.03.31 10444
1057 spec 나 srpm 은 어디에서 받을 수 있나요? 5 아주가끔은 2009.06.21 10447
1056 큐브리드 매니저에서 쿼리 포맷팅 기능이 있나요? 1 풀리야 2009.11.13 10448
1055 큐브리드->큐브리드 데이터 이관시 어떤 방식이 가장 좋을까요 3 호짱 2010.07.08 10465
Board Pagination Prev 1 ... 142 143 144 145 146 147 148 149 150 151 ... 200 Next
/ 200

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales