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
    감사합니다.

  1. No Image notice by admin 2024/04/23 by admin
    Views 48 

    CUBRID 사용자를 위한 DBeaver 도구 출시 안내

  2. SQLGate for CUBRID 영구 무료 라이선스 제공

  3. cci_execute() 에서 lock이 걸리는 현상

  4. 532번글 답변이 아직 없으셔서 다시 올립니다.

  5. 컬럼 수정이 안됩니다.

  6. 2.0에서 2.1로 업그레이드 하려면?

  7. CUBRID_Setup.sh: No such file or directory설치에러입니다.

  8. 서브쿼리 질문

  9. 큐브리드 매니져에서 정수 쿼리 16진수 표시

  10. 로그 분석 툴 이용시 분석 에러발생합니다.

  11. 오류구문이 뜹니다.

  12. mysql 구문변환

  13. 매니저에 쿼리 오류 메세지가 갑자기 안나옵니다.

  14. data_buffer_page 를 300000 이상으로 늘렸더니

  15. 큐브리드 커넥션 유지 시간

  16. 서브쿼리 ORDERBY_NUM() 최적화 문제

  17. ADO이용시 OLEDB Driver에러

  18. QTADO와 OLEDB사용시 문제

  19. 큐브리드 매니저에서 서브쿼리 날리면 값이 안나오는 문제

  20. 리스트 목록 갯수

  21. Linux Centso5.1에 설치 중입니다.

  22. CUBRID-8.2.1.0215 CentOs5.1에 설치 중입니다.

Board Pagination Prev 1 ... 169 170 171 172 173 174 175 176 177 178 ... 200 Next
/ 200

Contact Cubrid

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