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 55
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4461
1275 컴퓨터 메모리 증가 현상 문의드립니다 file 파파후드 2012.09.23 10834
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 22768
1261 cubrid ha 백업 문의 1 깽즈야 2012.08.30 5959
1260 cubrid manager 접속 오류와 관련하여 1 bizsp 2012.08.30 5766
1259 loaddb시 피시 메모리 증가와 스왑에 따른 종료문제 7 천상하늘 2012.08.28 11368
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
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