Background Image

FORUM

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

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제

8.2.2버전의 디비를 8.4.0로 업그레이드 하기 위해서 unload를 받고.

해당 objects 파일을 loaddb하는 중에 발생한 에러입니다.

unloaddb 된 objects 파일의 크기는 1.7G입니다.
--------------------------------------------------------------------------------------

GC Warning: Header allocation failed: Dropping block.
GC Warning: Out of Memory!  Returning NIL!
CUBRID cannot allocate main memory and must halt execution.
The current transaction has been aborted.
Data integrity has been preserved.
Line 1374058:Your transaction cannot be rolled back since logging was ignored. Your database may be corrupted.
Line 1374058:Cannot create MOP with NULL OID.
Line 1374058:Cannot create MOP with NULL OID.
Line 1374058:Accessing deleted object -1|-16410289|-1.
Line 1374058:Accessing deleted object -1|-16410289|-1.

--------------------------------------------------------------------------------------
 

짐작해보건데.

free명령어로 메모리를 봤을때.

--------------------------------------------------------------------------------------

             total       used       free     shared    buffers     cached
Mem:       4029488    3916948     112540          0      12204     739104
-/+ buffers/cache:    3165640     863848
Swap:      8385920    1178740    7207180

             total       used       free     shared    buffers     cached
Mem:       4029488    3915212     114276          0      11368     760688
-/+ buffers/cache:    3143156     886332
Swap:      8385920    1187136    7198784

             total       used       free     shared    buffers     cached
Mem:       4029488    3916896     112592          0      10832     803200
-/+ buffers/cache:    3102864     926624
Swap:      8385920    1212416    7173504

             total       used       free     shared    buffers     cached
Mem:       4029488    3916700     112788          0      10388     838856
-/+ buffers/cache:    3067456     962032
Swap:      8385920    1230592    7155328

--------------------------------------------------------------------------------------

와 같이 buffers의 used값이 증가하다가 한계에 달해서 스왑이 일어날때 일어나는것 같습니다.

 

loaddb의 명령어중에 -c명령어를 통해서 중간 중간 커밋을 하고 해보려고했으나.

사용하는 db의 oid를 통해서 서로테이블간에 연결된것들이 많아서.

-c명령어로 하는경우 전체디비를 통체로 unloaddb해서 인지.

--------------------------------------------------------------------------------------

*** Committing the transaction ***
Line 29580767:"{NULL, 0, 0}" caused unique constraint violation.
Line 29580766:"{NULL, 0, 0}" caused unique constraint violation.
--------------------------------------------------------------------------------------


와 같은 아직 뒤에 테이블들의 값이 들어오지 않아서 유니크 값에 대한 문제가 발생합니다.

해서 -c명령어를 못쓰고 그냥 하려고해보았으나.

echo 30 >/proc/sys/vm/swappiness 으로 스왑이 덜 일어나도록 조정을 해도 결국엔

잡혀있는 메모리 4G를 넘어가면서 Out of Memory!  발생하게 됩니다.

어떻게 해결을 해야할지 몰라서 문의 드립니다.


 

  • ?
    이용미 2012.08.24 20:21

    안녕하세요. 질문 감사 드립니다.

    첨부해주신 오류로 보아, MOD 테이블에서 OID를 참조하는 컬럼에 NOT NULL, Unique 조건이 있는데, 해당 데이터가 삭제된 OID를 참조하여 발생하는 것으로 보입니다.

    발생 한 오류는 “-c” 옵션을 사용하기 전에도 발생했던 것으로 OID를 사용하는 환경에서 “-c” 옵션을 사용한다고 하여 발생하는 것이 아닙니다.

    해결 방법은 다음과 같습니다.

    1.     스키마 파일 백업(cp DB_schema DB_schema.org)

    2.     스키마 파일에서 MOP 테이블에 NOT NULL, Unique 조건 삭제(DB_schema 파일 수정)

    3.     -c” 옵션을 추가하여 데이터 로드 수행

    4.     오류 발생 테이블의 데이터 확인 후, 적절 값 입력 혹은 데이터 삭제

    5.     MOP 테이블에서 삭제한 NOT NULL, Unique 조건 추가

  • ?
    천상하늘 2012.08.24 23:52

    안녕하세요 말씀해주신것처럼 스키마를 수정하고 나서 -c옵션으로 로드를 했을때는

    Line 29580767:"{NULL, 0, 0}" caused unique constraint violation. 의 현상은 없었습니다.

    하지만 -c 옵션으로 해도 위에 언급한것과 같이 메모리가 계속 올라가고 스왑이 일어나는 순간 실패를 하게 됩니다.

    아래는 실행해본 로그입니다.

    -----------------------------------------------------------------------------------------------------

    메모리 현황

                 total       used       free     shared    buffers     cached
    Mem:       4029488    3901316     128172          0       3484     568288
    -/+ buffers/cache:    3329544     699944
    Swap:      8385920    1274512    7111408

                 total       used       free     shared    buffers     cached
    Mem:       4029488    3901708     127780          0       3528     568408
    -/+ buffers/cache:    3329772     699716
    Swap:      8385920    1274512    7111408

                 total       used       free     shared    buffers     cached
    Mem:       4029488    3901064     128424          0       3596     568080
    -/+ buffers/cache:    3329388     700100
    Swap:      8385920    1274512    7111408

                 total       used       free     shared    buffers     cached
    Mem:       4029488    3900676     128812          0       3652     568152
    -/+ buffers/cache:    3328872     700616
    Swap:      8385920    1274512    7111408

     

    스왑 당시 실패 로그.

    449000 instances committed
    450000 instances committed
    451000 instances committed
    452000 instances committed
    453000 instances committed
    GC Warning: Header allocation failed: Dropping block.
    GC Warning: Out of Memory!  Returning NIL!
    CUBRID cannot allocate main memory and must halt execution.
    The current transaction has been aborted.
    Data integrity has been preserved.
    Line 1374086:Your transaction (index 1, aaa@aaa|15528) has been unilaterally aborted by the system.
    Line 1374086:Cannot create MOP with NULL OID.
    Line 1374086:Cannot create MOP with NULL OID.
    GC Warning: Out of Memory!  Returning NIL!
    CUBRID cannot allocate main memory and must halt execution.
    The current transaction has been aborted.
    Data integrity has been preserved.
    Line 1374086:Your transaction (index 1, aaa@aaa|15528) has been unilaterally aborted by the system.
    Line 1374086:Cannot create MOP with NULL OID.
    Line 1374086:Cannot create MOP with NULL OID.


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 48
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
1274 로그인 에러 문의 드립니다. 3 낭군 2012.09.21 7785
1273 cubrid log message 관련 질문입니다. 3 깽즈야 2012.09.17 5850
1272 볼륨 자동 추가 기능이 작동하지 않는 것 같습니다. 2 nimbus89 2012.09.14 5701
1271 큐브리드의 이전 버전 다운로드에 대해서 1 DiaBlue 2012.09.13 5555
1270 테이블 크기제한은 어떻게 해제하나요? 2 로닥 2012.09.10 5576
1269 cubrid 복구 관련 문의 3 깽즈야 2012.09.07 7812
1268 큐브리드 매니저 질의 실행계획 표시 오류?? 3 file 종이 2012.09.07 5486
1267 master process에 대해서 4 깽즈야 2012.09.06 5783
1266 혹시 큐브리드매니저 자동완성 끄는 기능 있나요 2 안지민 2012.09.05 6036
1265 CCI API가 Thread Safe 한가요? 3 nimbus89 2012.09.04 7284
1264 CCI API로 구현시 DB를 원격에서 접속할 때 발생하는 문제 2 nimbus89 2012.09.01 5989
1263 명령창(커멘드 라인)으로 DB 생성시 볼륨 자동 추가 설정 방법 문의 4 nimbus89 2012.09.01 6784
1262 표준프레임워크의 공통컴포넌트에 게시판설치관련 3 file 큐브리 2012.08.31 22767
1261 cubrid ha 백업 문의 1 깽즈야 2012.08.30 5959
1260 cubrid manager 접속 오류와 관련하여 1 bizsp 2012.08.30 5766
1259 loaddb시 피시 메모리 증가와 스왑에 따른 종료문제 7 천상하늘 2012.08.28 11365
1258 DB링크 사용이 가능한지 문의드립니다. 1 secret 장경수 2012.08.28 5
1257 이전에 질문드렸었는데요.. 중복 제거 쿼리문 재질문드립니다... 2 광황제 2012.08.25 9117
1256 cubrid_real_escape_string 값이 빈 값으로 리턴 됨 4 file 차오이 2012.08.25 5547
1255 큐브리드 매니저 비밀번호 오류메시지 2 file 종이 2012.08.24 6075
Board Pagination Prev 1 ... 132 133 134 135 136 137 138 139 140 141 ... 200 Next
/ 200

Contact Cubrid

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