Background Image

FORUM

조회 수 2004 추천 수 0 댓글 16
?

단축키

Prev이전 문서

Next다음 문서

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

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Cnetos 7
CUBRID Ver.
CUBRID 9.3 (9.3.9.0002) (64bit release build for linux_gnu) (Aug  4 2017 11:55:22)
CUBRID TOOL Ver.
사용하지 않음
응용 환경(API)
java

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


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

최초 JDK 1.7 이었으나 큐브리드 포럼에서 1.7에서 안된사례가 있어서 1.8로 올려서 진행중입니다.



1. .bash_profile 내용

#export MAVEN_HOME=/root/apache-maven-3.0.5

export MAVEN_HOME=/root/.jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven_3.2.5

export EAP_HOME=/data/jboss-eap-6.3

export JBOSS_HOME=/data/jboss-eap-6.3

#export JAVA_HOME=/data/jdk/jdk1.7.0_80

export JAVA_HOME=/data/jdk/jdk1.8.0_271

#export JAVAPTH=${JAVA_HOME}/bin

export JAVAPATH=${JAVA_HOME}/bin

PATH=$PATH:$HOME/bin:${JAVA_HOME}/bin:$JAVA_HOME/bin:$JAVA_HOME/jre/lib/amd64/server

PATH=$PATH:$MAVEN_HOME/bin:


export PATH


#-------------------------------------------------------------------------------

# set CUBRID environment variables

#-------------------------------------------------------------------------------

. /root/.cubrid.sh


SVN_EDITOR=/usr/bin/vim

export SVN_EDITOR

export DA_INST_HOME=/root/dbms_api

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/root/dbms_api:$JAVA_HOME/lib:$JAVA_HOME/jre/lib/amd64:$JAVA_HOME/jre/lib/amd64/server

~


2. JAVA 버전

[root@dev01 ~]# java -version

java version "1.8.0_271"

Java(TM) SE Runtime Environment (build 1.8.0_271-b09)

Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode)


3. cubrid.conf 내용

[root@dev01 ~]# cd $CUBRID/conf

[root@dev01 conf]# cat cubrid.conf |grep java

java_stored_procedure=yes

[root@dev01 conf]# 


4. JDK 설치 및 cubrid.conf 설정 후 cubrid server restart 로 재시작 해줌.


5. SpCubrid.java 파일 내용

public class SpCubrid{

    public static String HelloCubrid() {

        return "Hello, Cubrid !!";

    }


    public static int SpInt(int i) {

        return i + 1;

    }


    public static void outTest(String[] o) {

        o[0] = "Hello, CUBRID";

    }

}


6. javac 컴파일 및 정상 확인


7. 함수생성

create function hello() return string as language java name 'SpCubrid.HelloCubrid() return java.lang.String';


8. 실행

csql> call hello() into :Hello;


In the command from line 1,


ERROR: Java VM is not running.



0 command(s) successfully processed.



현재 JVM이 계속 떠있지 않다는 에러메세지가 출력되며 정상적으로 실행이 되지 않습니다.


libjvm.so 파일이 있는 위치는 $JAVA_HOME/jre/lib/amd64/server 에 존재하며 

LD_LIBRARY_PATH 및 PATH 에도 등록한 상태이나 정상적으로 실행이 되지 않습니다.


어떻게 하여야할지 확인 부탁드립니다.


  • ?
    JustBeNormal 2020.10.23 14:22
    정상적으로 실행되는 서버에서는 loadjava 를 실행하지 않고 실행하였을 경우 ERROR: Stored procedure execute error: java.lang.ClassNotFoundException: SpCubrid
    와 같은 에러가 나오는것으로 보아 loadjava를 하지 않은 것은 관계가 없는 것으로 보입니다.
  • ?
    원종민 2020.10.26 10:24
    OS에서 JAVA_HOME 경로를 찾지 못하는 경우 같습니다.

    아래는 테스트 내용입니다.

    1, JAVA_HOME 경로를 틀리게 설정 해 OS에서 jdk를 인식하지 못 할 경우 service start 시 "WARNING: Java VM library is not found: (null)." 라는 문구가 발생합니다.

    1-1. .bash_profile 확인
    $ cat .bash_profile 
    ...
    . /home/cubrid9/.cubrid.sh

    1-2. .cubrid.sh 확인
    $ cat .cubrid.sh 
    CUBRID=/home/cubrid9/CUBRID
    CUBRID_DATABASES=/home/cubrid9/CUBRID/databases
    ld_lib_path=`printenv LD_LIBRARY_PATH`
    if [ "$ld_lib_path" = "" ]
    then
    LD_LIBRARY_PATH=$CUBRID/lib
    else
    LD_LIBRARY_PATH=$CUBRID/lib:$LD_LIBRARY_PATH
    fi
    SHLIB_PATH=$LD_LIBRARY_PATH
    LIBPATH=$LD_LIBRARY_PATH
    PATH=$CUBRID/bin:$CUBRID/cubridmanager:$PATH
    export CUBRID
    export CUBRID_DATABASES
    export LD_LIBRARY_PATH
    export SHLIB_PATH
    export LIBPATH

    export JAVA_HOME=/usr/lib/jvm/java/test_path
    export PATH=$JAVA_HOME/bin:$PATH

    1-3. server 확인
    $ cubrid service start
    ...
    @ cubrid server start: demodb

    This may take a long time depending on the amount of recovery works to do.
    WARNING: Java VM library is not found: (null). 
    Consequently, calling java stored procedure is not allowed.

    CUBRID 9.3

    ++ cubrid server start: success
    ...

    1-4. csql 접속 후 SP 실행
    csql> call hello() into :Hello;

    In the command from line 1,

    ERROR: Java VM is not running.

    2. JAVA_HOME 올바른 경로로 설정 해 OS에서 jdk를 인식 할 경우

    2-1. .bash_profile 확인
    $ cat .bash_profile 
    ...
    . /home/cubrid9/.cubrid.sh

    2-2. .cubrid.sh 확인
    $ cat .cubrid.sh 
    CUBRID=/home/cubrid9/CUBRID
    CUBRID_DATABASES=/home/cubrid9/CUBRID/databases
    ld_lib_path=`printenv LD_LIBRARY_PATH`
    if [ "$ld_lib_path" = "" ]
    then
    LD_LIBRARY_PATH=$CUBRID/lib
    else
    LD_LIBRARY_PATH=$CUBRID/lib:$LD_LIBRARY_PATH
    fi
    SHLIB_PATH=$LD_LIBRARY_PATH
    LIBPATH=$LD_LIBRARY_PATH
    PATH=$CUBRID/bin:$CUBRID/cubridmanager:$PATH
    export CUBRID
    export CUBRID_DATABASES
    export LD_LIBRARY_PATH
    export SHLIB_PATH
    export LIBPATH

    export JAVA_HOME=/usr/lib/jvm/java
    export PATH=$JAVA_HOME/bin:$PATH

    2-3. server 확인
    $ cubrid service start
    ...
    @ cubrid server start: demodb

    This may take a long time depending on the amount of recovery works to do.

    CUBRID 9.3

    ++ cubrid server start: success
    ...

    2-4. csql 접속 후 SP 실행
    csql> call hello() into :Hello;

    === <Result of CALL Command in Line 1> ===

      Result              
    ======================
      'hello !!'  
  • ?
    JustBeNormal 2020.10.26 14:29
    cubrid server restart 혹은 cubrid server start 시에 WARNING: Java VM library is not found: (null). 와 같은 에러메세지는 발생하지 않았습니다.

    상기 테스트 결과에서 나타낸 /usr/lib/jvm/java/test 경로는 임의 경로이라 가정하고 /usr/lib/jvm/java 는 jdk 가 설치된 경로인가요?
  • ?
    원종민 2020.10.26 14:42
    /usr/lib/jvm/java 경로는 JAVA의 JDK가 모여있는 곳으로, 보통 /usr/lib/jvm 안에 위치해 있습니다.
  • ?
    JustBeNormal 2020.10.26 15:01
    /usr/lib/jvm/ 하위에 아무것도 존재하지 않을 때는 신규 jdk 설치한 후 해당 경로로 설정하면 될까요?
  • ?
    JustBeNormal 2020.10.26 15:26
    1. jdK 경로 /root/jdk

    2.cubrid.sh 내용
    [root@dev01 ~]# vi .cubrid.sh
    CUBRID=/data/cubrid/CUBRID
    CUBRID_DATABASES=/data/cubrid/CUBRID/databases
    ld_lib_path=`printenv LD_LIBRARY_PATH`
    if [ "$ld_lib_path" = "" ]
    then
    LD_LIBRARY_PATH=$CUBRID/lib
    else
    LD_LIBRARY_PATH=$CUBRID/lib:$LD_LIBRARY_PATH
    fi
    SHLIB_PATH=$LD_LIBRARY_PATH
    LIBPATH=$LD_LIBRARY_PATH
    PATH=$PATH:$CUBRID/bin:$CUBRID/cubridmanager:/root/jdk/lib:/root/jdk/jre/lib/amd64
    export JAVA_HOME=/root/jdk
    export CUBRID
    export CUBRID_DATABASES
    export LD_LIBRARY_PATH
    export SHLIB_PATH
    export LIBPATH
    export PATH
    ~


    3. /root/jdk/jre/csql.err 에러내용
    Time: 10/26/20 15:13:10.650 - ERROR *** file ../../src/jsp/jsp_cl.c, line 2782 ERROR CODE = -902 Tran = 1, EID = 1
    Java VM is not running.

    Time: 10/26/20 15:13:10.650 - SYNTAX ERROR *** file ../../src/compat/db_vdb.c, line 1001 ERROR CODE = -492 Tran = 1, EID = 2
    Java VM is not running.

    *** The previous error message is the last one. ***


    Time: 10/26/20 15:21:40.941 - ERROR *** file ../../src/jsp/jsp_cl.c, line 2782 ERROR CODE = -902 Tran = 2, EID = 1
    Java VM is not running.

    *** The previous error message is the last one. ***

    4. cubrid 서버 재시작
    [root@dev01 ~]# cubrid server restart
    @ cubrid server stop: DATAEYE

    Server DATAEYE notified of shutdown.
    This may take several minutes. Please wait.
    ++ cubrid server stop: success
    @ cubrid server stop: BDPBDCISN2

    Server BDPBDCISN2 notified of shutdown.
    This may take several minutes. Please wait.
    ++ cubrid server stop: success
    @ cubrid server stop: PDRMS

    Server PDRMS notified of shutdown.
    This may take several minutes. Please wait.
    ++ cubrid server stop: success
    @ cubrid server start: DATAEYE

    This may take a long time depending on the amount of recovery works to do.

    CUBRID 9.3

    ++ cubrid server start: success
    @ cubrid server start: BDPBDCISN2

    This may take a long time depending on the amount of recovery works to do.

    CUBRID 9.3

    ++ cubrid server start: success
    @ cubrid server start: PDRMS

    This may take a long time depending on the amount of recovery works to do.

    CUBRID 9.3

    ++ cubrid server start: success


    5. hello 실행

    csql> call hello() into :Hello;

    In the command from line 1,

    ERROR: Java VM is not running.


    0 command(s) successfully processed.
    csql> 

    jdk 설정관련해서는 특이점이 보이지 않는데 계속 jvm이 실행되지 않습니다.
  • ?
    JustBeNormal 2020.10.26 15:51
    jdk 버전을 1.7 1.8 여러가지로 해보아도 동일한 결과입니다....
  • ?
    JustBeNormal 2020.10.26 16:06
    jdk 를 1.6, 1.7. 1.8 모두 각각 설치하여 테스트해보았지만 모두

    csql> call hello() into :Hello;

    In the command from line 1,

    ERROR: Java VM is not running.


    0 command(s) successfully processed.
    csql>

    가 발생하여 실행이 되지 않습니다...

    확인하시기 위해 어떤 정보들을 더 드려야 할까요?
  • ?
    큐브리드_김주현 2020.10.26 16:14
    큐브리드를 이용해주셔서 감사합니다.

    사용하신 OS가 linux계열로 인지하고 작성하였습니다.

    $> su - cubrid
    $> echo $CUBRID : cubrid엔진 정상적인지 확인
    $> echo $JAVA_HOME : java경로가 맞는지 확인
    $> java -version
    $> javac -version 으로 정상적으로 버전 나오는지 확인
    $> echo $LD_LIBRARY_PATH : LD_LIBRARY_PATH출력되는지 확인
    ex> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64/lib/amd64:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64/lib/amd64/server:/home/cubrid/CUBRID/lib

    JAVA_HOME/lib/amd64와 JAVA_HOME/lib/amd64/server이 잘 설정되었는지 확인해보세요
    해당 위치에 "libjawt.so"가 존재하는지 확인해보세요..

    추가로 https://www.cubrid.org/manual/ko/10.1/sql/jsp.html#jsp-environment-configuration 를 참조하셔서 무엇이 문제인지 검토해 보시면되겠습니다.
    감사합니다.
  • ?
    JustBeNormal 2020.10.26 16:38
    cubrid 설치 유저는 root 입니다.
    [root@dev01 ~]# echo $CUBRID
    /data/cubrid/CUBRID
    [root@dev01 ~]# echo $JAVA_HOME
    /root/jdk
    [root@dev01 ~]# java -version
    java version "1.8.0_251"
    Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
    Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)
    [root@dev01 ~]# javac -version
    javac 1.8.0_251
    [root@dev01 ~]# echo $LD_LIBRARY_PATH
    /data/cubrid/CUBRID/lib:/data/cubrid/CUBRID/lib:/data/cubrid/CUBRID/lib:/data/cubrid/CUBRID/lib:/data/cubrid/CUBRID/lib:/data/cubrid/CUBRID/lib:/data/cubrid/CUBRID/lib:/data/cubrid/CUBRID/lib:/root/dbms_api:/root/dbms_api:/root/dbms_api:/root/dbms_api:/root/dbms_api:/root/dbms_api:/root/dbms_api:/root/dbms_api:/root/jdk/lib:/root/jdk/lib/amd64:/root/jdk/lib/amd64/server

    [root@dev01 ~]# find / -name libjawt.so
    /root/jdk/jre/lib/amd64/libjawt.so

    경로 모두 잡혀있으며 파일도 존재합니다.
  • ?
    JustBeNormal 2020.10.26 17:06
    LD_LIBRARY_PATH 부분만 별도로 추가합니다.

    LD_LIBRARY_PATH=$CUBRID/lib:$LD_LIBRARY_PATH:/root/dbms_api:/root/jdk/jre/lib/amd64/server:/root/jdk/lib/amd64:/root/jdk/lib
  • ?
    원종민 2020.10.26 17:18
    LD_LIBRARY_PATH 를 아래와 같이 수정 후
    LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64:$JAVA_HOME/jre/lib/amd64/server:$LD_LIBRARY_PATH

    $> echo $LD_LIBRARY_PATH 로 확인 해주세요.
  • ?
    JustBeNormal 2020.10.26 17:19
    [root@dev01 ~]# echo $LD_LIBRARY_PATH
    /data/cubrid/CUBRID/lib:/root/dbms_api:/usr/java/jdk1.7.0_67-cloudera/jre/lib/amd64:/usr/java/jdk1.7.0_67-cloudera/jre/lib/amd64/server
    [root@dev01 ~]#

    java 버전 변경하여 경로를 수정하였습니다.
  • ?
    오명환 2020.10.27 08:33
    다음 명령어를 통해 $JAVA_HOME/jre/lib/amd64/server/libjvm.so가 있는지 확인부탁드립니다.
    $> find $JAVA_HOME -name "*jvm*" -print
  • ?
    JustBeNormal 2020.10.27 09:03
    해당내용은 본문에도 적어두었습니다.

    libjvm.so 파일이 있는 위치는 $JAVA_HOME/jre/lib/amd64/server 에 존재하며

    LD_LIBRARY_PATH 및 PATH 에도 등록한 상태이나 정상적으로 실행이 되지 않습니다.
  • ?
    오명환 2020.10.27 17:07
    그럼, libjvm.so을 못 찾아서 나는 오류가 아닌 것 같습니다.
    다음과 같이 실행해보시고, java sp 관련 warninig 메세지가 출력되지 확인 부탁드립니다.

    (1) 절차 #1 -> standalone mode에서 jsp가 잘 동작하는지 확인
    $> cubrid service stop
    $> cub_master
    $> csql -S demodb
    csql> call hello();

    (2) 절차 #2 -> c/s mode에서 jsp를 위해 구동 준비가 잘 되는지 확인
    위의 경우에서 java sp가 잘 수행되는 경우
    $> cubrid server start demodb
    이때 경고(warning) 메세지가 출력되는지 확인 부탁드립니다.

  1. CUBRID 사용자를 위한 DBeaver 도구 출시 안내

    Date2024.04.23 Byadmin Views43
    read more
  2. SQLGate for CUBRID 영구 무료 라이선스 제공

    Date2020.04.09 Byadmin Views4458
    read more
  3. 운영db 접근이 되지 않아 문의 드립니다

    Date2023.07.20 By찬이 Views99
    Read More
  4. 홈경로 databases.txt 질문드립니다

    Date2023.07.17 By큐브리드드 Views92
    Read More
  5. Cubrid admin 접속 제한 문의드립니다.

    Date2023.07.13 By데굴v Views118
    Read More
  6. 특정단어 삭제

    Date2023.07.13 Byddmmdd Views165
    Read More
  7. error while loading shared libraries: libncurses.so.5 에러 문의 드립니다.

    Date2023.07.10 Bykikiki767 Views1465
    Read More
  8. 다운로드페이지에 CUBRIDManager 11.x windows-x64.exe 는 없는데 .. 다운로드 할 수 있을까요?

    Date2023.07.05 By최라이거 Views286
    Read More
  9. db_class에서 테이블 목록 조회시

    Date2023.07.03 Bycncn Views293
    Read More
  10. 조회쿼리 시간단축

    Date2023.06.30 Byleeee Views98
    Read More
  11. CUBRID 8.4.4 -> 11.0.3 로 업그레이드 시 발생할 문제가 있을까요?

    Date2023.06.29 BySDDC사업개발자 Views89
    Read More
  12. CUBRID to Tibero DBLink지원 가능한지 알고싶습니다.

    Date2023.06.28 By공공기관에서사용중1 Views137
    Read More
  13. ELO타입이 무엇인가요?

    Date2023.06.27 Bysobubble Views116
    Read More
  14. 백업파일 받았는데 복구하는 방법을 모르겠습니다.

    Date2023.06.20 ByGgyak Views186
    Read More
  15. UTF8 한글이 깨짐

    Date2023.06.19 Byyonggi Views271
    Read More
  16. 저장 프로스저에 있는 함수 상세보기 문의입니다.

    Date2023.06.12 By대출인생30년 Views82
    Read More
  17. MERGE INTO 속도 개선 문의

    Date2023.06.12 Byleeee Views129
    Read More
  18. NX_transcation

    Date2023.06.12 Byyoo Views79
    Read More
  19. cubrid cursor.close() 에러 관련질문

    Date2023.06.08 By힘내자화이팅 Views186
    Read More
  20. merge 쿼리 속도개선

    Date2023.06.08 Byleeee Views109
    Read More
  21. 브로커(CAS)수 질문드립니다!

    Date2023.06.05 By요시니 Views152
    Read More
  22. 데이터 이관 문의입니다.

    Date2023.05.30 Bykipo0821 Views129
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 200 Next
/ 200

Contact Cubrid

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