Background Image

FORUM

조회 수 8785 추천 수 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 도구 출시 안내 new admin 2024.04.23 19
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4452
1871 Oracle SQL 을 Cubrid SQL 로 컨버젼 툴 문의 1 홍가 2014.06.26 22573
1870 broker shard 추가시 proxy오류 5 석이 2014.06.26 9452
1869 DB서버 이중화작업에 큐브리드를 적용하는 법이 알고 싶습니다. 1 거지같은 2014.06.25 9318
1868 큐브리드 service 와 server 의 개념이 어떻게 다른지 궁금합니다. 1 아워나 2014.06.24 6533
1867 Qt에 Cubri연결 잘 되나요?? 1 goguemi 2014.06.20 7534
1866 프로시저 unload 문의 1 chocob 2014.06.19 6233
1865 CUBRID MANAGER 로그인 실패 5 red03410 2014.06.19 8399
1864 CUBRID Exception 확인 요청 2 김현욱 2014.06.19 15349
1863 트리거 ACTIVE/INACTIVE 설정 2 할리 2014.06.18 7842
1862 쿼리 브라우져, 매니져 질의 결과 문제 2 소라게 2014.06.18 5821
1861 cubrid manager 에서 8001포트 서버 접속이 안됩니다. 6 misoboy 2014.06.18 13734
1860 Linux 설치 전 확인 사항에 glibc 버전관련 입니다. 1 어려운큐브 2014.06.18 11868
1859 보안관련 질문입니다. 1 secret goguemi 2014.06.18 6
1858 dabase경로를 다르게 주고 싶은데 가능한가요? 3 어려운큐브 2014.06.18 6069
1857 manager 패스워드를 잊었습니다. 2 왕검 2014.06.17 6584
1856 쿼리 브라우저 실행 오류 1 이현세 2014.06.12 11468
1855 자바 함수 문제 현상 1 secret 배운다큐브 2014.06.11 10
1854 8.2.2 버젼 PHP 트랜잭션관련 문의드립니다. 2 secret 반짝이 2014.06.11 7
1853 cub_cmserver 프로세스가 죽어요 3 secret 배운다큐브 2014.06.11 15
1852 StoredProcedure 한글 문제 및 getConnection 문제 4 조경석 2014.06.11 9398
Board Pagination Prev 1 ... 102 103 104 105 106 107 108 109 110 111 ... 200 Next
/ 200

Contact Cubrid

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