Tibero RDMS 설치는 Jeus에 비해 매우 설치하기 쉬웠습니다. 기본 값으로 엔터만 쳐도 설치가 되었습니다.

하지만 library 파일을 찾을 수 없다며 실행이 안됩니다.

설치를 완료한후

$ ln -s $JEUS_HOME/client/lib/*.so /usr/lib


라이브러리 파일을 usr/lib디렉토리에 링크를 걸어주면 티베로에 실행파일들이 제대로 실행됩니다.

또한 환경 설정 변수도 수동으로 지정해줘야 합니다. .profile을 열어 다음과 같이 패스를 알맞게 지정합니다.

TB_HOME="/root/tibero3"
export TB_HOME

TB_SID="Tb3"
export TB_SID

PATH="/root/tibero3/bin:/root/tibero3/client/bin:$PATH"


설치를 마쳐도 자동으로 데이터베이스를 생성해주지 않습니다. 따라서 직접 데이터 베이스를 만들어 줘야 합니다.

$TB_HOME/config/Tb3.tip 파일이 있는가 확인하고 파일을 열러 알맞게 수정합니다.

만약 Tb3.tip파일을 찾을 수 없다면 gen_tip.sh를 실행하여 Tb3.tip을 만들어 줍니다.
 
$ source ./gen_tip.sh


tbboot명령으로 NOMOUNT 단계 까지 DB를 올립니다. 그 이후 단계 까지는 컨트럴 파일 및 데이터 파일 등이 생성되어 있지 않기 때문에 당연히 올라가지 않습니다.

root@shin-desktop:~/tibero3/bin# tbboot -t NOMOUNT
listener port = 8629

Tibero RDBMS 3.0 SP2 Trial

TmaxSoft, Co. Copyright(C) 2001-2008.  All rights reserved.

Tibero instance started up (NOMOUNT mode).


아래와 같이 데이터 베이스를 생성해 줍니다.

root@shin-desktop:~/tibero3/bin# tbsql sys/tibero

tbSQL 3.0.0 SP2

TmaxSoft, Co. Copyright(C) 2001-2008. All rights reserved.

Connected.

SQL> CREATE DATABASE "Tb3"
   2 USER sys IDENTIFIED BY tibero
   3 MAXDATAFILES 256
   4 CHARACTER SET UTF8
   5 LOGFILE GROUP 0 ('log001.log') SIZE 50M,
   6 GROUP 1 ('log011.log') SIZE 50M,
   7 GROUP 2 ('log021.log') SIZE 50M
   8 MAXLOGFILES 100
   9 MAXLOGMEMBERS 8
  10 NOARCHIVELOG
  11 DATAFILE 'system001.tdf' SIZE 512M
  12 AUTOEXTEND ON NEXT 8M MAXSIZE 3G
  13 DEFAULT TEMPORARY TABLESPACE TEMP
  14 TEMPFILE 'temp001.tdf' SIZE 512M
  15 AUTOEXTEND ON NEXT 8M MAXSIZE 3G
  16 EXTENT MANAGEMENT LOCAL AUTOALLOCATE
  17 UNDO TABLESPACE UNDO
  18 DATAFILE 'undo001.tdf' SIZE 512M
  19 AUTOEXTEND ON NEXT 8M MAXSIZE 3G
  20 EXTENT MANAGEMENT LOCAL AUTOALLOCATE;
Database created.

데이터 베이스를 내린 후 다시 시작해 줍니다.
root@shin-desktop:~# tbboot
listener port = 8629

Tibero RDBMS 3.0 SP2 Trial

TmaxSoft, Co. Copyright(C) 2001-2008.  All rights reserved.

Tibero instance started up (NORMAL mode).

root@shin-desktop:~#


아까와 달리 NORMAL 모드 까지 올라 갑니다.

다음으로 시스템 관련 객체들을 생성해줍니다. 이 과정은 스크립트로 되어 있어 바로 실행 가능합니다.

스크립트 파일에 접속은 sys/tibero라고 되어 있기 때문에 패스워드는 처음 작업할 때 기본으로 작업하고 설정이 끝나면 마지막에 바꿔 주는것이 편리 할 것같습니다.

root@shin-desktop:~/tibero3/bin# ../scripts/system.sh
Creating the role DBA...
Creating system users & roles...
Creating virtual tables(1)...
Creating virtual tables(2)...
Granting public access to _VT_DUAL...
Creating the system generated sequences...
Creating system packages:
    Running /root/tibero3/scripts/pkg_standard.sql...
    Running /root/tibero3/scripts/pkg_dbms_output.sql...
    Running /root/tibero3/scripts/pkg_dbms_lob.sql...
    Running /root/tibero3/scripts/pkg_dbms_utility.sql...
    Running /root/tibero3/scripts/pkg_dbms_obfuscation.sql...
    Running /root/tibero3/scripts/pkg_dbms_transaction.sql...
    Running /root/tibero3/scripts/pkg_dbms_random.sql...
    Running /root/tibero3/scripts/pkg_dbms_lock.sql...
    Running /root/tibero3/scripts/pkg_dbms_system.sql...
    Running /root/tibero3/scripts/pkg_dbms_job.sql...
    Running /root/tibero3/scripts/pkg_utl_raw.sql...
    Running /root/tibero3/scripts/pkg_utl_file.sql...
    Running /root/tibero3/scripts/pkg_tb_utility.sql...
    Running /root/tibero3/scripts/pkg_dbms_sql.sql...
    Running /root/tibero3/scripts/pkg_dbms_rowid.sql...
Creating public synonyms for system packages...
Creating auxiliary tables used in static views...
Creating static views...
Creating static view descriptions...
Creating packages for statistics:
    Running /root/tibero3/scripts/pkg_sys_util.sql...
    Running /root/tibero3/scripts/pkg_dbms_stats.sql...
Creating remain public synonyms for system packages...
    Running /root/tibero3/scripts/iparam_desc_gen.sql...
Creating dynamic performance views...
Creating dynamic performance view descriptions...
Creating internal system tables...


마지막으로 테이블 스패이스와 사용자를 추가해 봅니다.


SQL> CREATE TABLESPACE "TIBERO_DAT"
   2 DATAFILE 'tibero-dat.tbf'
   3 SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE 3G EXTENT
   4 MANAGEMENT LOCAL AUTOALLOCATE;
Tablespace 'TIBERO_DAT' created.


SQL> CREATE USER shin
   2 IDENTIFIED BY shin
   3 DEFAULT TABLESPACE TIBERO_DAT;
User 'SHIN' created.


SQL> GRANT RESOURCE, CONNECT TO shin;
Granted.

SQL> conn shin/shin;
Connected.

정상적으로 설치 되었습니다. 그럼 JRE와 연동해 접속이 잘되는지 확인 해보겠습니다.


JDBC Connector 라이브러리를 JRE 라이브러리 폴더에 복사합니다.

$ cp /root/tibero3/client/lib/jar/*.jar /usr/lib/jvm/java-6-sun/jre/lib/ext


import java.sql.*;

public class TiberoJdbcTest
{
 public static void main(String args[])
 {
 
  String DB_URL = "jdbc:tibero:thin:@localhost:8629:tibero";
  try{
   Class.forName("com.tmax.tibero.jdbc.TbDriver");
      DriverManager.getConnection(DB_URL,"shin","shin");
   System.out.println("jdbc connection good");
  }catch (Exception e){
    System.out.println(e);
  } 
 }
}

다음과 같은 자바 파일을 생성합니다.

컴파일 후 실행하여 봅니다.

root@shin-desktop:/home/shin# javac6 TiberoJdbcTest.java;java6 TiberoJdbcTest
jdbc connection good


정상적으로 연결되었음을 확인 할 수 있습니다.

만약 연결에 문제 가 있다면

root@shin-desktop:/home/shin# javac6 TiberoJdbcTest.java;java6 TiberoJdbcTest
com.tmax.tibero.jdbc.TbSQLException: TJDBC-90401:connection refused by server - Connection refused

위와 같이 Exception이 발생합니다.

java 컴파일러와 런타임 실행때 뒤에 붙은 6은 제 시스템에 자바 1.5,1.6이 깔려 있어 구분하기 위해 이름을 제가 임의로 바꾼 것입니다.
일반적인 시스템에서는 javac로 컴파일 하고 java로 실행하면 됩니다.
저작자 표시
신고
어제 설치한 Jeus 6에서 MySQL을 연동한 홈페이지를 올려보기로 하였습니다. 이전엔 Resin과 Tomcat에서 테스트 해봤던 홈페이지입니다. 학교 과제로 제출하였던 홈페이지였습니다.

오랜만에 이런 작업 하는 거라 거의 4시간은 걸릴것 같습니다.

시넵티 꾸러미 관리자를 통해 우선 MySQL을 설치합니다.


MySQL 설치시 root 패스 워드를 입력합니다.

/root/jeus6/webhome/app_home/에다 원하는 application 이름의 디렉토리를 생성합니다. 저는 downtown이라고 만들었습니다. 기존 Tomcat에서 돌리던 홈쇼핑몰 파일들을 모두 이 폴더에 복사해 넣습니다.

$mkdir downtown


$JEUS_HOME/config/엔진컨테이너이름/JEUSMain.xml 파일을 열어 자신이 아까 만든 폴더 이름의 application항목을

<?xml version="1.0" encoding="UTF-8"?>
<jeus-system version="6.0" xmlns="http://www.tmaxsoft.com/xml/ns/jeus"
    xmlns:ns2="http://java.sun.com/xml/ns/javaee" xmlns:ns3="http://java.sun.com/xml/ns/persistence">
    <node>
        <name>shin-desktop</name>
        <engine-container>
            <name>container1</name>
            <command-option>-Xms256m -Xmx512m</command-option>
            <engine-command>
                <type>ws</type>
                <name>engine1</name>
            </engine-command>
            <engine-command>
                <type>jms</type>
                <name>engine1</name>
            </engine-command>
            <engine-command>
                <type>ejb</type>
                <name>engine1</name>
            </engine-command>
            <engine-command>
                <type>servlet</type>
                <name>engine1</name>
                <system-logging>
                    <level>ALL</level>
                </system-logging>
            </engine-command>
            <sequential-start>true</sequential-start>
        </engine-container>
        <class-ftp>true</class-ftp>
        <sequential-start>true</sequential-start>
        <enable-webadmin>true</enable-webadmin>
    </node>
    <application>
        <name>examples</name>
        <path>examples.ear</path>
        <deployment-type>EAR</deployment-type>
        <deployment-target>
            <target>
                <engine-container-name>shin-desktop_container1</engine-container-name>
                <web-context-group>
                    <name>MyGroup</name>
                </web-context-group>
            </target>
        </deployment-target>
    </application>
    <application>
        <name>downtown</name>
        <path>/root/jeus6/webhome/app_home/downtown</path>
        <deployment-type>COMPONENT</deployment-type>
        <deployment-target>
            <target>
                <engine-container-name>shin-desktop_container1</engine-container-name>
                <web-context-group>
                    <name>MyGroup</name>
                </web-context-group>
            </target>
        </deployment-target>
    </application>
</jeus-system>

mysql에서 DB를 생성해줍니다.

shin@shin-desktop:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 5.0.67-0ubuntu6 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> CREATE DATABASE shin;
Query OK, 1 row affected (0.06 sec)

mysql>

이제 JDBC Driver for MySQL (Connector/J) 파일을 mysql 홈페이지에서 다운 받습니다.
http://www.mysql.com/products/connector/

압축을 푼 jar파일을 JEUS와 JRE디렉토리에 복사하여야 합니다.

$JAVA_HOME/jre/lib/ext
$JUES_HOME/lib/system

위 폴더에 jar파일을 복사해 넣기만 하면 됩니다. Path는 시스템마다 다를 수 있기 때문에 어떤 경로가 현재 사용중인 디렉토리인지 확인후 복사합니다.

import java.sql.*;

public class JdbcTest
{
 public static void main(String args[])
 {
 
  String DB_URL = "jdbc:mysql://localhost:3306/DB이름";
  try{
   Class.forName("com.mysql.jdbc.Driver");
      DriverManager.getConnection(DB_URL,"root","password");
   System.out.println("jdbc connection good");
  }catch (Exception e){
    System.out.println(e);
  } 
 }
}

위 파일을 컴파일 후 실행해 보아 설치가 잘 되었는지 확인합니다. 정상적으로 jdbc driver가 설치 되었다면 아래와 같은 메세지를 확인 할 수 잇습니다.
jdbc connection good

jeus를 컨테이너를 제 기동 합니다.
http://localhost:9744/webadmin 에 접속해서 웹컨테이너를 손쉽게 재 기동할 수 있습니다.

정상적인 페이지가 나오기를 기대하였으나 내부오류 500 메세지가 떴습니다. 디버깅을 위해서 웹브라져에서 Exception Trace를 출력할 수 있습니다.

$JEUS_HOME/webhome/app_home/애플리케이션이름/WEB-INF/jeus-web-dd.xml 파일을 열러 attach-statcktrace-on-error의 값을 true변경하면 됩니다.
<?xml version="1.0" encoding="UTF-8"?>
<jeus-web-dd version="6.0" xmlns="http://www.tmaxsoft.com/xml/ns/jeus">
    <context-path>/downtown</context-path>
    <enable-jsp>true</enable-jsp>
    <auto-reload>
        <enable-reload>false</enable-reload>
        <check-on-demand>false</check-on-demand>
    </auto-reload>
    <max-instance-pool-size>-1</max-instance-pool-size>
    <webinf-first>true</webinf-first>
    <attach-stacktrace-on-error>true</attach-stacktrace-on-error>
</jeus-web-dd>

우여 곡절끝에 설정이 완료되었고 정상적인 페이지를 확인 할 수 있었습니다.^^;;


저작자 표시
신고


티스토리 툴바