Background Image

FORUM

조회 수 9233 추천 수 0 댓글 7
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Ubuntu 12.04 LTS 64bit
CUBRID Ver.
9.3.0.0206
CUBRID TOOL Ver.
-
응용 환경(API)
-
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------

안녕하세요, 

CUBRID SHARD을 이용하여 MySQL 을 샤드로 두고 사용하려 합니다.


shard_key.txt 파일을 다음과 같이 수정하였습니다.


[%shard_key]

SHARD_KEY_LIBRARY_NAME=/home/jaydee/shard-test/shard_key_utf.so

SHARD_KEY_FUNCTION_NAME=fn_shard_key_utf


그리고 9.3 메뉴얼에 나오는것처럼 cpp파일을 작성하였고, 
메뉴얼에서 해당 내용 하단의 Makefile 예제를 이용하여 make하였을때 
다음과 같은 에러 메시지가 나옵니다.

make: *** `all'에서 필요로 하는  타겟 `shard_key_udf.o'를 만들 규칙이 없습니다.  멈춤.

C++소스 파일 이름을 shardtest.cpp 라고 할때, 저 makefile은 사용할 수 없는건가요?
감사합니다.
  • ?
    이용미 2014.08.01 19:58

    안녕하세요.

    아래와 같이 수정하여 확인 부탁 드립니다.

    1. shardtest.cpp 파일의 이름을 shardtest.c로 변경.

    2. Makefile에서 Line 6의 [SHARD_KEY_UDF_OBJS = shard_key_udf.o]를 [SHARD_KEY_UDF_OBJS = shardtest.o]로 변경.

       so 파일의 이름도 shardtest.so로 생성하고 싶으시다면, Line 5, Line 9, Line 12의 shard_key_udf.so 를 shardtest.so 로 변경해 주세요.

    감사합니다.

  • ?
    이용미 2014.08.01 20:08

    추가로, so 파일의 이름도 shardtest.so로 생성되게 하신 경우, cubrid_broker.conf파일의 내용 중 [SHARD_KEY_LIBRARY_NAME=/home/jaydee/shard-test/shard_key_udf.so]를 [SHARD_KEY_LIBRARY_NAME=/home/jaydee/shard-test/shardtest.so]로 변경해 주셔야 합니다.


    또한, shardtest.c 파일의 function 이름을 fn_shardtest로 변경하신 경우, [SHARD_KEY_FUNCTION_NAME=fn_shard_key_udf] 부분도 [SHARD_KEY_FUNCTION_NAME=fn_shardtest]로 변경해 주세요.


    감사합니다.

  • ?
    제제디 2014.08.01 21:29

    감사합니다, 답변대로 하여 make 결과 에러없이 shard_key_udf.so파일이 잘 생성되었습니다.

    메뉴얼에 나와 있는대로 파일이름 수정하였고요, (shard_key_udf.c) , C++코드를 C코드로 바꾸었습니다.

    하지만, cubrid broker restart 명령어를 이용하여 broker를 재시작하고 JDBC이용해서 쿼리 요청 결과 


    처음 하나의 쿼리는 들어가고 다음과 같은 에러가 발생합니다.


    ROW 0 INSERTED

    exception occurs : -10001 - General server error[CAS INFO - localhost:36000,1,26388],[SESSION-0],[URL-jdbc:cubrid:localhost:36000:shard:root:********:?charSet=utf8].


    현재 shard_key.txt의 설정은 다음과 같습니다

    [%shard_key]

    SHARD_KEY_LIBRARY_NAME=/home/jaydee/shard-test/shard_key_udf.so

    SHARD_KEY_FUNCTION_NAME=fn_shard_key_udf


    shard_key_udf.c 코드 내부에도 다음과 같이 함수를 선언해주었구요.

    #define  LOG_FILE_PATH "/home/jaydee/shard-shared-lib-log.txt"
    int fn_shard_key_udf ( const char *shard_key , 
    T_SHARD_U_TYPE type , 
    const void *value , 
    int value_len )
    {
    int ret = ERROR_ON_MAKE_SHARD_KEY;
    append_log ( LOG_FILE_PATH , "SHARD_LIB_STARTED" );
    .
    .

    broker에서 shard_key_udf.so 파일을 로드를 못하는것 같습니다.
    답변 감사합니다.
  • ?
    이용미 2014.08.01 22:52

    매뉴얼에 있는 예제를 조금 변경하여, SHARD KEY가 문자인 경우를 확인해 보았으나, 위와 같은 오류는 발생하지 않았습니다...

    혹 가능하시면 cubrid_broker.conf 파일 설정 내용과 Test해보신 프로그램을 확인할 수 있을런지요?

  • ?
    제제디 2014.08.02 01:17

    네, 설정파일이 여러개라서 압축 파일 링크로 대체합니다.

    빠른 답변 감사합니다.


    https://www.dropbox.com/s/0cooz0c2nk3toio/cubrid-shard-settings.zip

    프로그램 소스, Makefile, 설정파일들을 동봉합니다.

  • ?
    이용미 2014.08.02 02:56

    설정 파일이 잘못되었네요.. 제가 위에서 파일명을 잘못적어 혼선을 드린것 같습니다. 죄송합니다.

    일단 설정 파일을 수정하신 후, 확인 부탁 드립니다.

    아래 내용을 참고해주세요.

    1. shard_connection.txt 파일은 수정 사항 없음.

    2. shard_key.txt 파일은 아래 내용만 포함되도록 해주세요. 

    [%shard_key]

    #min    max shard_id

    0 127 0   

    128 255 1  

    3. $CUBRID/conf/cubrid_broker.conf 파일의 shard1 항목의 마지막 부분에 아래 2 라인 추가.

    SHARD_KEY_LIBRARY_NAME=/home/jaydee/shard-test/shard_key_udf.so

    SHARD_KEY_FUNCTION_NAME=fn_shard_key_udf

  • ?
    제제디 2014.08.02 03:04
    많이 여쭤보았는데도 친절히 답해주셔서 감사합니다.
    모두 해결되었습니다.
    좋은 하루 되세요!

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 118
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4474
1020 이중화 구성시 펑션 class 위치 1 secret 차차오 2015.10.19 9
1019 이중화 모드에서 cubrid changemode 가 안먹을때 확인 방법이 있나요? 4 coolkkm 2017.12.15 388
1018 이중화 씨 락상태가 30분 정도 걸려있다가 재기동 하면 바로 안올라오나요? 3 coolkkm 2017.12.14 264
1017 이중환 관련 질문 드립니다. 2 jojosale 2013.12.05 8402
1016 이진 데이터를 Stored Procedure에 넘기는 방법 7 hyperhand 2009.12.23 14060
1015 이클립스 DBViewer에서 1분정도 지나면 컨넥션이 끊어집니다. 2 천타에 허리한번 펴자 ㅡㅡ; 2009.06.04 16332
1014 인덱스 scan 문의합니다 1 모모 2020.10.07 204
1013 인덱스 관련 문의입니다. 1 wook 2020.09.10 72
1012 인덱스 사용 관련하여 문의드립니다. 1 neighbor 2023.12.12 113
1011 인덱스 함수 생성 문의 1 후후후후후후후후 2021.09.01 434
1010 인덱스가 가끔 깨집니다. 도와주세요. 2 훈이아빠 2017.11.21 1651
1009 인덱스가 많이 설정된 데이터 삭제시 오래 걸리는지 여부 1 나라디 2022.06.29 188
1008 인덱스가 실행이 안되는 것 같아서 요청 드려 봅니다. 3 취우다 2017.04.15 9771
1007 인덱스를 엉뚱한 걸 타고 있습니다??! 9 file Philip Park 2020.11.26 301
1006 인서트 시 IX_LOCK 문의 1 joke7 2016.03.14 7715
1005 인코딩 관련 1 song 2008.12.17 21518
1004 인코딩 문의. 1 우페 2008.12.09 19219
1003 인코딩 문제와 권한 문제입니다. 1 싸댕 2016.12.15 15534
1002 인터프리터 로그 남기는 설정 문의드립니다. 1 sspark 2018.01.10 237
1001 일반사용자 시스템 테이블 접근 권한 제어관련 질문드립니다. 1 dkhwang 2020.07.03 316
Board Pagination Prev 1 ... 145 146 147 148 149 150 151 152 153 154 ... 200 Next
/ 200

Contact Cubrid

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