Background Image

FORUM

조회 수 2013 추천 수 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) 메세지가 출력되는지 확인 부탁드립니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 136
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4477
1645 테이블의 권한은 다른 유저에게 줄수 있는데 함수,프로시져,트리거는 권한 안되나요?? 1 덴드로비움 2017.08.18 2525
1644 PK 생성 질문드립니다. 유니크 인덱스 자동생성이 안되네요? 2 덴드로비움 2017.08.17 2442
1643 jeus 연동 한글등록 문제(깨짐) 4 뺀돌스 2019.02.21 2402
1642 문법오류라는데 해결이 불가능합니다 1 하루살이 2021.01.21 2389
1641 다중 REPLACE에 관한 질문입니다 2 위니텍 2019.01.30 2284
1640 clob 처리 문의 드립니다. 1 최범규 2017.07.20 2210
1639 큐브리드 버전별 테이블/컬럼 코멘트 조회방법 문의 드립니다 1 Kim 2020.09.21 2151
1638 cubrid server start: fail 이 뜹니다. 4 복분자 2018.05.24 2106
1637 .NET 4.5 에서의 NHibernate 문제, .NET 4.0 에서 NHibernate + TransactionScope 활용 문제. 1 websiter 2017.06.09 2057
1636 Spring Boot 큐브리드 select 경우 에러발생 문의드립니다. 1 피닉스맨 2019.03.11 2023
1635 큐브리드 에러 해결방법 문의드립니다 3 file 오명일 2018.03.08 2013
» Java VM is not running 에러 관련 16 JustBeNormal 2020.10.23 2013
1633 큐브리드 커맨드 내 spool과 set echo 의 사용가능 여부 1 솨솨솨 2021.06.01 1991
1632 MERGE 쿼리 실행시 중복 입력 오류 3 블루미 2018.01.19 1983
1631 실행 오류 -494 문의 1 yodongky 2017.08.20 1954
1630 내부아이피로 원격접속 2 보미 2017.09.25 1946
1629 character varying" to domain "date" 오류 3 리안커 2018.05.30 1932
1628 Java VM is not running 에러 해결이 안나네요 9 덴드로비움 2017.07.12 1914
1627 insert 시 useGeneratedKeys="true" keyProperty="key" keyColumn="id" 옵션 사용 여부.. 2 닉네임없다고전해라 2017.12.28 1897
1626 Error : [-1302] dblink - [HY000][1406][Oracle][ODBC][Ora]ORA-01406 : fetched column value was truncated 15 리들러 2022.07.13 1879
Board Pagination Prev 1 ... 114 115 116 117 118 119 120 121 122 123 ... 201 Next
/ 201

Contact Cubrid

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