ALTIBASE WebLogic 연동 가이드

Similar documents
ALTIBASE WebLogic 연동 가이드

ALTIBASE 사용자가이드 Templete

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Admin Guide for dummy

Windows 8에서 BioStar 1 설치하기

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

ALTIBASE 사용자가이드 Templete

Microsoft Word - src.doc

JDBC 소개및설치 Database Laboratory

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

슬라이드 1

ALTIBASE 사용자가이드 Templete

Install stm32cubemx and st-link utility

Interstage5 SOAP서비스 설정 가이드

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

ALTIBASE 사용자가이드 Templete

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

쉽게 풀어쓴 C 프로그래밊

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

untitled

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

vRealize Automation용 VMware Remote Console - VMware

Cloud Friendly System Architecture

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

단계

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

Chapter 1

ALTIBASE 사용자가이드 Templete

Spring Boot/JDBC JdbcTemplate/CRUD 예제

기술자료

PowerPoint 프레젠테이션

교육2 ? 그림

SAS9.2_SAS_Enterprise_Miner_install_guide_single_user_v2

Microsoft PowerPoint - GUI _DB연동.ppt [호환 모드]

.

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for

Microsoft Word - Armjtag_문서1.doc

PowerPoint 프레젠테이션

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

슬라이드 1

J2EE Concepts

ALTIBASE 사용자가이드 Templete

10.ppt

FileMaker ODBC 및 JDBC 가이드

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

FileMaker 15 ODBC 및 JDBC 설명서

ALTIBASE 사용자가이드 Templete

The Pocket Guide to TCP/IP Sockets: C Version

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

Spotlight on Oracle V10.x 트라이얼프로그램설치가이드 DELL SOFTWARE KOREA

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

Endpoint Protector - Active Directory Deployment Guide

윈도우시스템프로그래밍

DBMS & SQL Server Installation Database Laboratory

슬라이드 1

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

PowerPoint 프레젠테이션

목차 데모 홖경 및 개요... 3 테스트 서버 설정... 4 DC (Domain Controller) 서버 설정... 4 RDSH (Remote Desktop Session Host) 서버 설정... 9 W7CLIENT (Windows 7 Client) 클라이얶트 설정

서현수

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2003) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2003 Exchange Server 2003 GFI MailEssentials 2010 fo

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

PowerPoint Template

Windows Server 2012

슬라이드 1

ISP and CodeVisionAVR C Compiler.hwp

Altibase Installation Manual

PowerPoint Template

게시판 스팸 실시간 차단 시스템

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

ALTIBASE 사용자가이드 Templete

J2EE & Web Services iSeminar

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

rmi_박준용_final.PDF

RHEV 2.2 인증서 만료 확인 및 갱신

chapter1,2.doc

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

ALTIBASE HDB Patch Notes

단계

Remote UI Guide

[Brochure] KOR_LENA WAS_

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

Microsoft PowerPoint - 10Àå.ppt

아래 항목은 최신( ) 이미지를 모두 제대로 설치하였을 때를 가정한다

Microsoft Word - CAE 클러스터 환경 구축-ABAQUS.doc

Sena Device Server Serial/IP TM Version

4S 1차년도 평가 발표자료

Domino Designer Portal Development tools Rational Application Developer WebSphere Portlet Factory Workplace Designer Workplace Forms Designer

TTA Journal No.157_서체변경.indd


윈도우시스템프로그래밍

Solaris Express Developer Edition

Transcription:

Real Alternative DBMS ALTIBASE, Since 1999 ALTIBASE & WebLogic 연동가이드 2010. 12 Copyright c 2000~2010 ALTIBASE Corporation. All Rights Reserved.

Document Control Change Record Date Author Change Reference 2010-12-13 durusari Created Reviews Date Name (Position) 2010-12-31 ma114(ts), balance(ts), snkim(sp) Distribution Name Location ALTIBASE & WebLogic 연동가이드 2 page of 30

목차 개요... 4 WEBLOGIC 용어설명... 5 도메인... 5 WebLogic 서버인스턴스 ( 관리서버, 관리된서버 )... 5 JDBC 데이터소스... 6 커넥션풀 (pool)... 6 배치, 배포... 6 시작하기전에... 7 WebLogic 버전... 7 JDBC 스펙 (spec)... 7 WEBLOGIC SETUP... 8 다운로드... 8 설치... 8 도메인생성... 10 WEBLOGIC 서버인스턴스의구동과종료... 12 구동... 12 종료... 12 JDBC 드라이버설정... 13 ALTIBASE JDBC 드라이버를얻는방법... 13 ALTIBASE JDBC 드라이버버전을확인하는방법... 13 WebLogic 에서사용할 JDBC 드라이버를설정하는방법... 13 ALTIBASE 와 WEBLOGIC 연동... 15 JDBC 데이터소스생성... 15 웹응용프로그램생성및배치... 20 연동예제... 21 FAIL-OVER & LOAD-BALANCING 설정... 25 WebLogic 에서의설정... 25 ALTIBASE 에서의설정... 25 연동오류... 28 Cannot load driver... 28 Can not make a database connection to the given URL / Invalid Altibase URL (No suitable driver)... 28 Could not create pool connection... 28 Client unable to establish connection / Communication link failure... 28 Hang 현상... 29 ALTIBASE & WebLogic 연동가이드 3 page of 30

개요 본문서는 ALTIBASE 와 WebLogic 을연동하기위한가이드문서로서 WebLogic 설치부터시작하여 ALTIBASE 와연동을하는간략한웹응용프로그램실행까지다루고있습니다. 본문서는 Windows 플랫폼의 WebLogic 10.3.3.0 을기준으로작성되었으며모든내용은버전에따라상이할수있으므로 WebLogic 설치및도메인생성과같은기본환경구축은 BEA Systems 또는 Oracle 의문서, WebLogic 설치시제공되는관리콘솔 (Administration Console) 도움말을참조하시기바랍니다. Oracle Documentation Library 본문서와관련된오류및개선사항은 ALTIBASE 기술본부대표메일인 support@altibase.com 으로보내주시기바랍니다. ALTIBASE & WebLogic 연동가이드 4 page of 30

WebLogic 용어설명 ALTIBASE 와 WebLogic 의연동에앞서기본적으로알아야할 WebLogic 과관련용어에대해간략하게설명한다. 도메인 도메인이란 WebLogic 서버인스턴스 (instance) 에대한논리적인그룹으로하나의도메인은하나이상의 WebLogic 서버인스턴스로구성된다. 사용자는하나의 WebLogic (WebLogic Server/WLS) 을설치하여여러개의도메인을구성하거나여러개의 WebLogic 을설치하여하나의도메인으로구성할수있다. WebLogic 서버인스턴스 ( 관리서버, 관리된서버 ) WebLogic 서버인스턴스란웹응용프로그램 (Web Application), 웹서비스 (Web Services), EJB 등을배치 (deploy) 할수있는하나의프로세스 (process) 로서 관리서버, 관리된서버 로구분한다. 관리서버 (Administration Server) 도메인전체를관리할수있도록관리콘솔 (Administration Console) 이함께배치된 WebLogic 서버인스턴스로도메인생성시함께생성된다. 관리된서버 (Managed Server) 관리서버를제외한모든 WebLogic 서버인스턴스로별도로추가하거나인스턴스간클러스트링 (clustering) 이가능하다. 즉, 하나의도메인은 1 개의관리서버와 0 개이상의관리된서버로구성된다. ALTIBASE & WebLogic 연동가이드 5 page of 30

JDBC 데이터소스 JDBC 데이터소스란 WebLogic 서버인스턴스가 RDBMS 에접속하기위한자바객체이다. 연동할 RDBMS 에대한 JDBC 데이터소스를생성후해당 JDBC 데이터소스를사용할 WebLogic 서버인스턴스를지정하면해당 WebLogic 서버인스턴스에배치된웹응용프로그램은소스코드에 JDBC 데이터소스의 JNDI (Java Naming and Directory Interface) 이름을명시하여대상 RDBMS 와연동을할수있다. JBDC 데이터소스를생성하기위해서는관련 JDBC 드라이버가 WebLogic 에서사용할수있도록사전에설정되어있어야만한다. 커넥션풀 (pool) JDBC 데이터소스생성시자동으로생성되는접속대상 RDBMS 와의접속집합으로 초기용량, 최대용량 과같은다양한속성에의해조절된다. 커넥션풀, 접속풀은동의어로본문서에서는 커넥션풀 로통일한다. 배치, 배포 배치, 배포는모두 deploy 를의미하는동의어로본문서에서는 배치 로통일한다. ALTIBASE & WebLogic 연동가이드 6 page of 30

시작하기전에 WebLogic 버전 기본적으로최신버전을권장하며최소 WebLogic 8.1.6.0 이상을권장한다. 이보다하위버전에서서로다른버전의 ALTIBASE 를동시에연동하면 JDBC 드라이버연동이정상적으로되지않아 WebLogic 서버인스턴스의구동이실패하거나행 (hang) 과같은현상이발생할수있다. JDBC 스펙 (spec) ALTIBASE 5 JDBC 드라이버는 JDBC 스펙 3.0 (JRE 1.4 또는 1.5) 을기준으로 JDK 1.4 에서제작 (build) 되었으며스펙미지원의경우는 Not Supported 또는에러를반환한다. 따라서, JDBC 스펙 4.0(JRE 1.6 이상 ) 을기준으로작성된응용프로그램은스펙미지원으로인한문제가발생할수있으므로개발단계에서부터 JDBC 스펙 3.0 을준수하도록해야한다. 또한, JDBC 스펙 3.0 이라할지라도일부지원하지않는스펙이존재하므로사전에 API 매뉴얼 을참조하여미지원스펙을확인하도록한다. 스펙미지원으로인하여발생하는문제에대해 ALTIBASE 는보장하지않는다. ALTIBASE & WebLogic 연동가이드 7 page of 30

WebLogic Setup WebLogic 을다운로드및설치후하나의도메인을생성하는간략한절차를 Windows 플랫폼의 WebLogic 10.3.3.0 을예로하여설명한다. 다운로드 2008 년 4 월 WebLogic 을개발한 BEA Systems 가 Oracle 로인수되면서버전 9 이상부터는 Oracle 미들웨어제품다운로드페이지에서다운로드할수있다. http://www.oracle.com/technetwork/middleware/downloads/index.html 해당웹페이지에서라이선스동의후운영체제플랫폼에맞는가장최근에릴리즈 (release) 된 WebLogic 을다운로드받도록한다. 설치 다운로드받은파일을실행하면 WebLogic 자동인스톨러 (installer) 가수행된다. 아래와같은절차로 WebLogic 을설치한다. 1. 시작화면에서다음을선택후 WebLogic 및관련미들웨어제품이설치될경로를지정한다. ALTIBASE & WebLogic 연동가이드 8 page of 30

2. 설치유형을선택후 WebLogic 및관련미들웨어제품이설치될경로를지정한다. ( 여기서지정한 WebLogic 의설치경로는추후환경변수 WL_HOME 으로식별된다.) 3. 시작메뉴폴더위치를지정후설치를시작한다. 4. 설치가모두완료되면이어서수행할도메인생성을위해 Quickstart 실행 옵션이체크된상태에서완료 (Done) 를선택한다. ALTIBASE & WebLogic 연동가이드 9 page of 30

도메인생성 설치마법사 (Configuration Wizard) 를사용하여도메인을생성할수있다. 설치마법사실행은해당파일 ($WL_HOME/common/bin/config.exe) 을직접실행하거나시작메뉴의 WebLogic 메뉴그룹에서바로가기를실행하면된다. 아래와같은절차로 WebLogic 을설치한다. 1. 설치마법사를실행한다. 이전에 Quickstart 를수행했다면 Getting started with WebLogic Sever 를선택한다. 2. 새 WebLogic 도메인만들기를선택후필요한경우추가적인도메인소스를선택한다. 3. 새로이생성할도메인의이름과위치 ( 설치경로 ) 를지정후관리서버의사용자이름및비밀번호를입력한다. ( 여기서지정한도메인의설치경로는추후환경변수 DOMAIN_HOME 으로식별된다.) ALTIBASE & WebLogic 연동가이드 10 page of 30

4. 도메인관리서버의시작모드와 JDK 설정을한다. 시작모드테스트가목적이므로 개발모드 로선택한다. 개발모드는 $DOMAIN_HOME/autodeploy 를통하여웹응용프로그램을자동으로배치및변경할수있어손쉬운테스트가가능하다. JDK 시작모드를선택하면그에적절한 JDK 가자동적으로선택되므로특별한경우가아니라면별도로선택하지않아도된다. 5. 관리서버의수신포트와같은특별히변경을원하는사항이있다면관련항목을선택후변경하도록한다. 없다면생략 (NEXT) 한다. 참고로관리서버는기본적으로 7001 포트를사용한다. 6. 도메인생성이모두완료되면 관리서버시작 옵션을체크한상태에서완료 (Done) 를선택한다. ALTIBASE & WebLogic 연동가이드 11 page of 30

WebLogic 서버인스턴스의구동과종료 WebLogic 서버인스턴스를구동하고종료하는여러가지방법중 $DOMAIN_HOME/bin 에존재하는스크립트 (script or batch) 파일실행을통한구동과종료에대해설명한다. 스크립트파일은도메인별로관리서버와관리된서버각각에대한구동 / 종료스크립트파일이별도로존재하는데여기서는관리서버의구동과종료에대해서만설명한다. 관리서버 - startweblogic.cmd / stopweblogic.cmd 관리된서버 - startmanagedweblogic.cmd / stopmanagedweblogic.cmd 구동 startweblogic.cmd 를실행하여해당도메인의관리서버를구동한다. 아래는정상적으로구동이완료되었을때의메시지형태예제이다. $ startweblogic.cmd.. JAVA Memory arguments: -Xms256m -Xmx512m -XX:CompileThreshold=8000 - XX:PermSize=48m -XX:MaxPermSize=128m. WLS Start Mode=Development... 중략... <2010. 12. 7 오후 7 시 14 분 27 초 KST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING> <2010. 12. 7 오후 7 시 14 분 27 초 KST> <Notice> <WebLogicServer> <BEA-000360> <Server started in RUNNING mode> 종료 stopweblogic.cmd 를실행하여해당도메인의관리서버를종료한다. 아래는정상적으로종료가완료되었을때의메시지형태예제이다. $ stopweblogic.cmd Stopping Weblogic Server... Initializing WebLogic Scripting Tool (WLST)... Welcome to WebLogic Server Administration Scripting Shell Type help() for help on available commands Connecting to t3://ibm-1da5af93847:7001 with userid weblogic... Successfully connected to Admin Server 'AdminServer' that belongs to domain 'mydomain'.... 중략... Shutting down the server AdminServer with force=false while connected to AdminServer... Disconnected from weblogic server: AdminServer Exiting WebLogic Scripting Tool. Done Stopping Derby Server... 종료의경우, 종료스크립트파일실행결과만으로정상종료를보장할수없다. 메시지상으로정상적인종료를수행하였음에도불구하고관련프로세스가여전히존재할시는 WebLogic 서버인스턴스의로그를확인하여조치하여야한다. ALTIBASE & WebLogic 연동가이드 12 page of 30

JDBC 드라이버설정 JDBC 데이터소스생성을하기위해서는관련 JDBC 드라이버를 WebLogic 에설정하여야한다. JDBC 드라이버설정에대한전반적인사항을설명한다. ALTIBASE JDBC 드라이버를얻는방법 ALTIBASE JDBC 드라이버는 Altibase.jar 라는하나의파일로제공된다. 기본적으로 ALTIBASE 서버패키지와함께제공되므로 ALTIBASE 가설치된운영체제계정의 $ALTIBASE_HOME/lib 디렉토리안에서얻을수있다. ALTIBASE 5 버전부터는 Altibase.jar 는물론 Altibase5.jar 라는파일도존재하는데, Altibase5.jar 는 ALTIBASE 5 버전과그이하의버전을함께연동할때사용한다. 따라서, 하나의 ALTIBASE 서버와만연동하거나동일한버전의여러 ALTIBASE 서버를연동하는일반적인상황에서는 $ALTIBASE_HOME/lib/Altibase.jar 파일을사용하면된다. 최신 ALTIBASE JDBC 드라이버는 ATC(http://atc.altibase.com) 를통하여얻을수있다. ALTIBASE JDBC 드라이버버전을확인하는방법 연동하려는 ALTIBASE 서버와 ALTIBASE JDBC 드라이버가호환가능한지판단을위해 ALTIBASE 서버와 ALTIBASE JDBC 드라이버의버전을비교하여 CM(Communication) 프로토콜이일치하는지반드시확인하여야한다. ALTIBASE 서버의버전을확인하는방법은아래와같다. $ altibase v version 5.3.1.7 IBM_AIX_5.3-64bit-5.3.1.7-release-xlC_r (powerpc-ibmaix5.3.0.0) Jan 3 2010 08:38:40, binary db version 5.3.1, meta version 5.5.1, cm protocol version 5.5.1, replication protocol version 5.3.1 ALTIBASE JDBC 드라이버의버전을확인하는방법은아래와같다. $ java -jar Altibase.jar JDBC Driver Info : Altibase Ver = 5.3.1.7 for JavaVM v1.4, CMP:5.5.1, $Revision: 14502 $ Jan 3 2010 08:38:29 여기서 ALTIBASE 서버의 cm protocol version 과 ALTIBASE JDBC 드라이버의 CMP 가일치하면호환이가능하다. 일반적으로호환성을위해 ALTIBASE 서버패키지에포함된 ALTIBASE JDBC 드라이버파일을사용하나가급적이면호환가능한최신의 ALTIBASE JDBC 드라이버파일을사용하는것을권장한다. WebLogic 에서사용할 JDBC 드라이버를설정하는방법 WebLogic 에서특정 JDBC 드라이버를사용하려면관련파일을해당도메인관리서버의 CLASSPATH 에추가해야한다. ALTIBASE & WebLogic 연동가이드 13 page of 30

크게두가지방법으로설정이가능하며둘중어느방법을선택하여도무관하나설정후에는반드시해당도메인의관리서버를재구동해야한다. 참고로모든예제들은 ALTIBASE 5 와버전이다른 ALTIBASE 를동시에연동하기위한설정으로동일버전의 ALTIBASE 간의연동시에는하나의 JDBC 드라이버만설정하면된다. 1. $DOMAIN_HOME/lib 에 JDBC 드라이버관련파일을위치. 각도메인의기본라이브러리경로인 $DOMAIN_HOME/lib 에 JDBC 드라이버관련파일을위치후해당도메인의관리서버구동하면아래와같은메시지와함께해당파일이자동으로 CLASSPATH 에추가된다.... <2010. 12. 14 오후 4 시 48 분 24 초 KST> <Notice> <WebLogicServer> <BEA-000395> <Following extensions directory contents added to the end_of_the_classpath:c:\oracle\middleware\user_projects\domains\myd omain\lib\altibase.jar;c:\oracle\middleware\user_projects\domains\m ydomain\lib\altibase5.jar>... 2. startweblogic.cmd 파일의 CLASSPATH 에 JDBC 드라이버관련파일을직접추가. 각도메인의관리서버구동스크립트파일인 startweblogic.cmd 를 open 하여 CLASSPATH 항목에 JDBC 드라이버관련파일을직접추가후재구동한다.... set_classpath=%save_classpath%;c:\weblogic_lib\altibase5.jar;c:\web Logic_lib\Altibase.jar... ALTIBASE & WebLogic 연동가이드 14 page of 30

ALTIBASE 와 WebLogic 연동 도메인관리콘솔을사용하여연동할 ALTIBASE 에대한 JDBC 데이터소스를생성후해당 JDBC 데이터소스를사용하는간단한웹응용프로그램을실행하는전체적인연동절차를설명한다. JDBC 데이터소스생성 ALTIBASE 에대한 JDBC 데이터소스를생성하고해당 JDBC 데이터소스의커넥션풀을설정하는절차이다. 참고로하위버전에서는커넥션풀을먼저생성후해당커넥션풀을사용할 JDBC 데이터소스를생성하는방식이었으나상위버전에서는 JDBC 데이터소스를생성하면자동으로커넥션풀이생성된다. 기본적으로 WebLogic 에서사용할 JDBC 드라이버를설정하는방법을참조하여생성할 JDBC 데이터소스에대한 JDBC 드라이버설정이선행되어있어야한다. JDBC 데이터소스생성로컬에설치된 ALTIBASE 5 에대한 JDBC 데이터소스 altibase 를생성한다. 1. 도메인의관리서버에서제공하는관리콘솔로접속한다. http://127.0.0.1:7001/console 2. 관리서버의사용자이름과비밀번호와입력하여로그인한다. ALTIBASE & WebLogic 연동가이드 15 page of 30

3. 관리콘솔메인페이지에서 데이터소스 항목을선택한다. 4. [ 새로만들기 ] 를선택한다. 5. JDBC 데이터소스속성을입력후다음단계로간다. JDBC 데이터소스, JNDI 이름일반적으로동일하게한다. 데이터베이스유형 [ 기타 ] 로선택한다. ALTIBASE & WebLogic 연동가이드 16 page of 30

6. 이어지는 JDBC 데이터소스속성 단계는생략하고다음단계로간다. 7. 트랜잭션옵션 을설정한다. 특별히설정할것이없다면다음단계로간다. 8. 연동할 ALTIBASE 의정보를입력한다. 9. ALTIBASE 접속을위해커넥션풀과관련된 JDBC 정보를입력한다. 드라이버클래스이름 Altibase.jar 를사용하는경우, Altibase.jdbc.driver.AltibaseDriver Altibase#.jar 를사용하는경우, Altibase#.jdbc.driver.AltibaseDriver URL 이전단계에입력한 ALTIBASE 의정보를토대로접속 URL 을입력한다. jdbc:altibase://127.0.0.1:20300/mydb ALTIBASE & WebLogic 연동가이드 17 page of 30

속성 ALTIBASE 4 의경우, user=sys 형식으로접속할사용자를입력해야한다. ALTIBASE 5 의경우는생략해도무방하다. 테스트테이블일반적으로더미 (dummy) 테이블인 dual 을지정한다. 10. [ 구성테스트 ] 를클릭하여접속테스트가성공하면다음단계로넘어간다. 테스트에실패한경우우선적으로연동오류섹션을참고하도록한다. ALTIBASE & WebLogic 연동가이드 18 page of 30

11. JDBC 데이터소스를배치할서버로관리서버를선택후 [ 완료 ] 를선택한다. 12. JDBC 데이터소스가성공적으로추가된것을확인한다. 커넥션풀설정변경 JDBC 데이터소스를생성하면관련커넥션풀이함께생성이된다. 커넥션풀은여러가지속성을가지는데필요시다음절차를참고하여설정을변경하도록한다. 예제로제시된속성변경은필수는아니나기본적으로권장하는사항이다. 1. 관리콘솔메인화면에서 데이터소스 항목을선택, 변경하려는 JDBC 데이터소스를선택후 [ 구성 ] 탭의 [ 접속풀 ] 탭을선택한다. 2. 아래속성을적절히변경후 [ 저장 ] 을선택한다. 초기용량 (Initial Capacity) 기본적인커넥션풀의개수로기본값이 1 이나업무부하를고려하여이보다는큰수치를권장한다. 확인 JDBC 데이터소스생성의성공여부를최종적으로확인한다. WebLogic 에서의확인관리콘솔메인화면에서 데이터소스 항목을선택, 확인하려는 JDBC 데이터소스를클릭후 [ 모니터링 ] 탭의 [ 테스팅 ] 탭에서접속성공여부를확인한다. ALTIBASE & WebLogic 연동가이드 19 page of 30

ALTIBASE 에서의확인 JDBC 데이터소스의접속대상 ALTIBASE 에서세션관련쿼리를수행, 설정한커넥션풀의초기용량만큼세션이존재하는지확인한다. 아래는초기용량을 10 으로지정한경우의실행결과이다. JDBC 타입의세션이 10 개인것을확인할수있다. CMD> isql -s 127.0.0.1 -u sys -p manager -port 20300 ----------------------------------------------------------------- Altibase Client Query utility. Release Version 5.3.3.12 Copyright 2000, ALTIBASE Corporation or its subsidiaries. All Rights Reserved. ----------------------------------------------------------------- ISQL_CONNECTION = TCP, SERVER = 127.0.0.1, PORT_NO = 20300 isql> set linesize 200 isql> set colsize 20 isql> select comm_name, client_type, 2 db_username, id session_id from v$session; COMM_NAME CLIENT_TYPE DB_USERNAME SESSION_ID -------------------------------------------------------------- TCP 127.0.0.1:11274 JDBC SYS 60 TCP 127.0.0.1:5126 JDBC SYS 61 TCP 127.0.0.1:8710 JDBC SYS 63 TCP 127.0.0.1:12294 JDBC SYS 64 TCP 127.0.0.1:13318 JDBC SYS 65 TCP 127.0.0.1:18694 JDBC SYS 66 TCP 127.0.0.1:19462 JDBC SYS 67 TCP 127.0.0.1:19974 JDBC SYS 68 TCP 127.0.0.1:20486 JDBC SYS 69 TCP 127.0.0.1:21254 JDBC SYS 70 TCP 127.0.0.1:34311 CLI-32LE SYS 72 11 rows selected. 웹응용프로그램생성및배치 연동을위한간략한웹응용프로그램을생성하고배치하는예제이다. 웹응용프로그램생성 이름은 sample, 기본페이지는 welcome.html 인웹응용프로그램을생성한다. 1. 웹응용프로그램의이름으로디렉토리를생성후하위디렉토리로 WEB-INF 를생성한다. 2. WEB-INF 디렉토리에아래내용으로 web.xml 파일을생성한다. <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> ALTIBASE & WebLogic 연동가이드 20 page of 30

<web-app> <welcome-file-list> <welcome-file>welcome.html</welcome-file> </welcome-file-list> </web-app> 배치 관리콘솔에서제공하는배치메뉴를통하여수동으로직접배치하여도되나편의상개발모드로설치하였을때제공되는 $DOMAIN_HOME/autodeploy 를통한자동배치를활용한다. 1. 생성한웹응용프로그램디렉토리전체를 $DOMAIN_HOME/autodeploy 밑으로위치시킨다. 2. 관리콘솔메인페이지좌측에 배치 메뉴를선택하여자동배치여부를확인한다. 확인 웹응용프로그램의기본페이지예제를통해배치의성공여부를최종적으로확인한다. 1. sample 디렉토리에아래내용으로 welcome.html 를생성한다. <head><title>welcome Page</title></head> <body>welcome!!</body> </html> 2. 생성한페이지에접근하여출력결과를확인한다. 연동예제 JDBC 데이터소스의 JNDI 를통하여 ALTIBASE 에접속하는예제를수행함으로 ALTIBASE 와연동이성공적으로되었는지최종적으로확인한다. ALTIBASE & WebLogic 연동가이드 21 page of 30

ALTIBASE 연동 ALTIBASE 5 와연동하는웹응용프로그램을작성하여접속정보를확인한다. 1. sample 디렉토리에아래내용으로 singleversion.jsp 를생성한다. <%@ page contenttype="text/html;charset=euc-kr" pageencoding="euc-kr"%> <%@ page import="java.sql.*, javax.naming.*, javax.sql.*"%> <head><title>single Version Test Page</title></head> <body> <% Context initctx = new InitialContext(); DataSource ds Connection scon Statement sstmt = (DataSource)initCtx.lookup("altibase"); = ds.getconnection(); = scon.createstatement(); String query = "select '" + "<b>db name: </b>' trim(db_name) '<br>" + "<b>version: </b>' trim(product_signature) '<br>" + "<b>current Time: </b>'"+ " to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') '<hr>'" + " from v$database;"; ResultSet sres = sstmt.executequery(query); sres.next(); out.println("<font size=4><b>altibase Connection Info</b></font><p>"); out.println(sres.getstring(1)); sres.close(); sstmt.close(); scon.close(); %> </body> </html> 2. 생성한페이지로접근하여연동대상 ALTIBASE 의정보가이상없이출력되는지확인한다. 서로다른버전의 ALTIBASE 연동 ALTIBASE 4 와 ALTIBASE 5 와동시에연동하는웹응용프로그램을작성하여접속정보를확인한다. 1. WebLogic 에서사용할 JDBC 드라이버를설정하는방법를참조하여 ALTIBASE 4, ALTIBASE 5 에각각에대한 JDBC 드라이버파일을 WebLogic 에서사용할수있도록사전에설정한다. 2. 각각에대한 JDBC 데이터소스를생성한다. (JNDI 는 JDBC 데이터소스이름과같게한다.) Altibase.jar 를사용하는 ALTIBASE 4 에대한 JDBC 데이터소스 altibase4 ( 드라이버클래스이름 : Altibase.jdbc.driver.AltibaseDriver) Altibase5.jar 를사용하는 ALTIBASE 5 에대한 JDBC 데이터소스 altibase5 ( 드라이버클래스이름 : Altibase5.jdbc.driver.AltibaseDriver ) ALTIBASE & WebLogic 연동가이드 22 page of 30

3. sample 디렉토리에아래내용으로 multiversion.jsp 를생성한다. <%@ page contenttype="text/html;charset=euc-kr" pageencoding="euc-kr"%> <%@ page import="java.sql.*, javax.naming.*, javax.sql.*"%> <head><title>multi Version Test Page</title></head> <body> <% Context initctx = new InitialContext(); DataSource ds1 = (DataSource)initCtx.lookup("altibase5"); DataSource ds2 = (DataSource)initCtx.lookup("altibase4"); Connection scon1 = ds1.getconnection(); Connection scon2 = ds2.getconnection(); Statement sstmt1 = scon1.createstatement(); Statement sstmt2 = scon2.createstatement(); String query = "select '" + "<b>db name: </b>' trim(db_name) '<br>" + "<b>version: </b>' trim(product_signature) '<br>" + "<b>current Time: </b>'"+ " to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') '<hr>'" + " from v$database;"; ResultSet sres1 = sstmt1.executequery(query); ResultSet sres2 = sstmt2.executequery(query); sres1.next(); sres2.next(); out.println("<font size=4><b>first ALTIBASE Connection Info."); out.println("</font></b><p>"+sres1.getstring(1)); out.println("<font size=4><b>second ALTIBASE Connection Info."); out.println("</font></b><p>"+sres2.getstring(1)); sres1.close(); sres2.close(); sstmt1.close(); sstmt2.close(); scon1.close(); scon2.close(); %> </body> </html> 4. 생성한페이지로접근하여연동대상 ALTIBASE 의정보가이상없이출력되는지확인한다. ALTIBASE & WebLogic 연동가이드 23 page of 30

ALTIBASE & WebLogic 연동가이드 24 page of 30

Fail-Over & Load-Balancing 설정 WebLogic 또는 ALTIBASE 에서 Fail-Over 및 Load-Balancing 을설정하는방법에대해설명한다. WebLogic 에서의설정 다중 JDBC 데이터소스생성하면서알고리즘으로 Fail-Over 또는 Load-Balancing 중하나를설정할수있다. 설정방법및상세한내용은관련문서를참조하도록한다. Fail-Over ( 장애조치 ) 접속요청을다중 JDBC 데이터소스목록의첫번째 JDBC 데이터소스에전송하고, 요청이실패할경우다음 JDBC 데이터소스에전송하는방식으로진행한다. 이러한과정은적합한접속을얻거나목록의끝에도달할때까지계속되며목록이끝날때까지접속을얻지못하면예외가발생한다. Load-Balancing ( 로드균형조정 ) 접속요청을다중 JDBC 데이터소스목록의데이터소스에골고루배치한다. 이알고리즘은 Fail-Over 알고리즘을기본적으로제공한다. ALTIBASE 에서의설정 ALTIBASE 버전 5.3.3 부터제공하는라이브러리계층의 Fail-Over 와 Load- Balancing 을이용하여 WebLogic 과연동하는방법에대해설명한다. 설정방법및상세한내용은 ALTIBASE 이중화매뉴얼 을참조하도록한다. Fail-Over & Load-Balancing 개요 ALTIBASE 는 Fail-Over 로 CTF(Connection Time Fail-Over) 와 STF(Service Time Fail- Over) 를제공하며클라이언트사이드의 Load Balancing 을지원한다. Fail-Over CTF 접속시점에장애를인식하여다른가용한 ALTIBASE 서버로접속. STF Load Balancing 접속중에장애발생시 CTF 를수행후세션상태 (auto commit mode, optimizer mode, XA connection 등 ) 를복구한다. statement 에대한 re-prepare, re-binding, execute 는 Fail-Over Callback 을활용하여사용자가직접수행하여야한다. 접속시점에접속가능한 ALTIBASE 서버중에하나를무작위 (Random) 로접속하는클라이언트사이드의제한적인 Load Balancing. 설정방법 JDBC에서는관련속성을 URL에추가하여설정한다. 관련속성은아래와같다. 속성명 설명 Server 기본 ALTIBASE 서버의주소. AlternateServers 가용 ALTIBASE 서버의주소. ConnectionRetryCount 가용 ALTIBASE 서버접속실패시접속시도반복횟수. ALTIBASE & WebLogic 연동가이드 25 page of 30

ConnectionRetryDelay 가용 ALTIBASE 서버접속실패시재접속시도간격. ( 초단위 ) LoadBalance 로드밸런싱여부. on 으로설정하면최초접속시도시기본 ALTIBASE 서버와가용 ALTIBASE 서버를포함하여랜덤으로선택한다. off 로설정하면최초접속시도시에기본 ALTIBASE 서버에접속하고, 실패하면가용 ALTIBASE 서버로접속한다. SessionFailOver STF 를할것인지여부, off 로할경우 CTF 만수행된다. 설정예제 ALTIBASE 서버 3 대 (192.168.1.81, 192.168.1.82, 192.168.1.83) 를연동하는시스템에서장애발생시 81, 82, 83 순으로 CTF 와 STF 를사용하기위한예제이다. 1. JDBC 데이터소스 altibase5_fo 를아래와같은 URL 로하여생성한다. jdbc:altibase://192.168.1.81:20300/mydb?alternateservers=(192.168.1.82:20300, 192.168.1.83:20300)&ConnectionRetryCount=2&ConnectionRetryDelay=1&LoadBalan ce=off&sessionfailover=on 2. 생성된 JDBC 데이터소스를선택후 [ 구성 ] 탭의 [ 접속풀 ] 탭을선택하여 URL 이끝까지모두정확히인식되었는지확인한다. 3. 지정한횟수 (100) 만큼연동대상 ALTIBASE 의시간, 데이터베이스이름, 포트번호, 버전상세정보를출력하는데 Fail-Over 가성공적으로수행되면쿼리를다시 prepare 후실패했던작업 (i) 부터다시수행하는웹응용프로그램을생성한다. <%@ page contenttype="text/html;charset=euc-kr" pageencoding="euc-kr"%> <%@ page import="java.sql.*, javax.naming.*, javax.sql.*"%> <head><title>failover Test Page</title></head> <body> <% Context initctx = new InitialContext(); DataSource ds = (DataSource)initCtx.lookup("altibase5_FO"); ALTIBASE & WebLogic 연동가이드 26 page of 30

Connection scon = ds.getconnection(); PreparedStatement sstmt = null; ResultSet sres = null; String query = "select to_char(sysdate,'yyyy/mm/dd hh24:mi:ss' ' - ')" + " trim(db_name) ' - '" + " (select '[ PORT_NO=' value1 ' ] - '" + " from v$property where name='port_no')" + " trim(product_signature) '<br> '" + "from v$database;"; sstmt = scon.preparestatement(query); for (int i = 0; i < 100; i++) { try { sres = sstmt.executequery(); if ( sres.next() ) { out.println("["+i+"] "+sres.getstring(1)); out.flush(); } Thread.sleep(1000); } catch(sqlexception e) { out.println("<font color=red>["+e.getsqlstate()+"] "+e.getmessage()); if (e.getsqlstate().equals("es_08fo01")) { out.println("</font> Resume from Failed SQL.<br>"); sstmt = scon.preparestatement(query); i--; continue; } else break; } } sstmt.close(); sres.close(); scon.close(); %> </body> </html> 4. 생성한페이지로접근하여연동대상 ALTIBASE 의정보가이상없이출력되는지확인후현재연동대상인 ALTIBASE 를종료시켰을때 Fail-Over 가잘되는지확인한다. ALTIBASE & WebLogic 연동가이드 27 page of 30

연동오류 ALTIBASE 와 WebLogic 연동시발생할수있는일반적인오류에대해서설명한다. Cannot load driver JDBC 드라이버설정이정상적으로완료되지않은상태에서접속을시도할경우발생한다. WebLogic 에서사용할 JDBC 드라이버를설정하는방법을참조하도록한다. Can not make a database connection to the given URL / Invalid Altibase URL (No suitable driver) 아래와같이접속 URL 에오류가있을경우오류가발생한다. 잘못된형식, 오타 jdbc 항목을 Altibase 가아닌다른이름으로설정한경우 ( 이경우는버전에따라 No suitable driver 가발생하기도한다.) jdbc:otherdbms://127.0.0.1:20300/mydb Could not create pool connection JDBC 데이터소스생성시커넥션풀설정에오류가있을때발생한다. 다양한경우가있으나대표적인경우는아래와같다. 접속대상이 ALTIBASE 4 인경우는속성 (property) 에 user=sys 형식으로접속할사용자를입력해야한다. Client unable to establish connection / Communication link failure 아래의경우, Client unable to establish connection 오류가발생한다. ( 버전에따라 Communication link failure 가발생하기도한다.) ALTIBASE 서버가구동되어있지않는경우 접속 URL 에서 ALTIBASE 서버의 ip 주소또는포트번호를잘못설정하여접속이불가능한경우 아래는연동할 ALTIBASE 서버의 ip 주소가 192.168.1.81 이고포트번호가 20300 인데다른값으로잘못지정한경우의예이다. jdbc:altibase://192.168.1.80:20800/mydb ALTIBASE & WebLogic 연동가이드 28 page of 30

Hang 현상 ALTIBASE JDBC 드라이버와 ALTIBASE 서버의 CM 프로토콜버전이다른상태에서접속을시도할경우 WebLogic 버전에따라행 (hang) 과같은현상이발생할수도있다. 이런현상이발생하게되면대부분 WebLogic 서버인스턴스를재구동해야만하므로사전에주의가필요하다. 관련된내용은 ALTIBASE JDBC 드라이버버전을확인하는방법을참조하도록한다. ALTIBASE & WebLogic 연동가이드 29 page of 30

알티베이스 서울특별시구로구구로 3 동 182-13 대륭포스트 2 차 1008 호 02-2082-1000 http://www.altibase.com 대전사무소대전광역시서구둔산동 921 주은리더스텔 901 호 042-489-0330 기술지원센터 02-2082-1114 support@altibase.com ATC (ALTIBASE Technical Center) http://atc.altibase.com Copyright c 2000~2010 ALTIBASE Corporation. All Rights Reserved. 이문서는정보제공을목적으로제공되며, 사전에예고없이변경될수있습니다. 이문서는오류가있을수있으며, 상업적또는특정목적에부합하는명시적, 묵시적인책임이일체없습니다. 이문서에포함된 ALTIBASE 제품의특징이나기능의개발, 발표등의시기는 ALTIBASE 재량입니다. ALTIBASE는이문서에대하여관련된특허권, 상표권, 저작권또는기타지적재산권을보유할수있습니다. ALTIBASE & WebLogic 연동가이드 30 page of 30