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 53
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4459
3455 큐브리드 매니저에서 오류 5 file 초보 2010.02.10 10354
3454 // 를 사용하고 싶습니다. 1 죽통군 2010.02.10 9583
3453 리눅스 설치 확인 부탁 드립니다. 1 Philip Park 2010.02.12 10483
3452 컴포지션 관련해서 문의 드립니다. 3 file 野花 2010.02.12 12033
3451 설치 완료후 phpcubAdmin 에서 페이지 열기가 안됩니다. 2 마루정 2010.02.12 10037
3450 restoredb 이용한 복구가 제대로 되지 않아요. 4 럭키늘보 2010.02.18 13007
3449 리눅스상에서 백업파일의 Backup Time을 알수있는 방법이 있나요? 1 럭키늘보 2010.02.19 10018
3448 timestamp 필드 데이터를 다시 timestamp로 변환하기 1 byblog 2010.02.20 12652
3447 테이블명을 한글로 할 수는 없나요? 3 유니콘 2010.02.22 13832
3446 group by 오류 3 초보 2010.02.23 12513
3445 저장프로시저 함수-loadjava 3 쪼로롱 2010.02.23 15673
3444 555번 한글테이블 글 올린 사람입니다 (화면캡쳐함) 1 유니콘 2010.02.23 11764
3443 한글메세지 출력 방법에 대해서.. 4 모야 2010.02.25 12525
3442 Like 문이 의도하지 않은 결과값을 반환합니다. 3 이진혁 2010.02.25 12533
3441 mssql -> cubrid 데이터 이전시 문제 4 종이 2010.02.25 22652
3440 테이블 복구 1 mydream 2010.02.26 10544
3439 데이타 입력쿼리 실행시 unique 삽입 오류 납니다. 1 file 초보 2010.02.26 13190
3438 자동증가 컬럼수정후 자동증가값이 들어가게 하려면? 7 초보 2010.02.27 18072
3437 쿼리 문제 3 소라게 2010.03.03 9671
3436 큐브리드 데이타베이스 정지후 다시 데이타베이스 시작이 안됩니다. 1 file 초보 2010.03.03 10130
Board Pagination Prev 1 ... 23 24 25 26 27 28 29 30 31 32 ... 200 Next
/ 200

Contact Cubrid

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