DB2 10.5 Express 설치 – LINUX (결과 : 실패)

신규 고객사 연계할 프로그램에서 DB2를 사용해야할 일이 생겼다. 그래서 설치를 한다.

AIX용 DB2-EXPRESS 버전은 없다.

그외 OS에는 DB2-EXPRESS 버전은 있다.

설치버전

DB2 : 10.5 EXPRESS

OS : redhat-release-5Server-5.8.0.3

설치매뉴얼

버전별 매뉴얼 다운로드 위치

http://www-01.ibm.com/support/docview.wss?uid=swg27023558

10.5 버전의 설치매뉴얼 을 받을 수 있다. – 번역된 버전도 있으나 한글은 엄슴…

http://www-01.ibm.com/support/docview.wss?rs=71&uid=swg27038855

Cap 2014-11-04 16-39-09-317

밑의 Getting Started with DB2 Installation and Administration on Linux 머시기의 pdf 아이콘 클릭

1. 설치전 시스템 환경 확인

./db2prereqcheck

Cap 2014-11-04 16-56-25-442

yum install sg3_utils

./db2prereqcheck

Cap 2014-11-04 17-03-09-943

yum install kernel-devel

Cap 2014-11-04 17-09-20-643

설치 사전작업 완료

2. DB2 설치

일반게정으로 ./db2setup

Cap 2014-11-04 17-30-58-984

망할…자세히 보니 LINUX 버전이 낮아서 안되는 거다…DB2 버전을 낮추자 (10.5 -> 10.1)

헐 IBM 사이트에서 구 버전을 찾기가 느무 어렵다.

구글 삽질중 아래 사이트를 통하니 찾을수 있었다.

http://db2express.com/ko/

10.1 linux 64bit 버전을 찾아 사전설치 확인 진행

Cap 2014-11-05 10-45-33-060

./db2setup 을 하면 아래와 같은 에러발생

Cap 2014-11-05 10-52-48-697

./db2_install 로 재실행

Cap 2014-11-05 10-59-23-805

Cap 2014-11-05 11-01-34-844

성공한듯 하다

설치매뉴얼에 나온데로 sample db를 만든다

cd 설치경로/bin

./db2sampl

이 커멘드를 먹이고 시간이 좀 지나면 설치가 완료된다

접속테스트

오라클같이 sqlplus 와 같은게 무엇인지 한참 헤멨다.

bin 디렉토리에 db2를 실행하면 됬다…

Cap 2014-11-05 15-45-44-674

sample db 접속하여 쿼리문까지 정상적으로 수행된다.

그럼 원격에서 db2에 접속하고 싶은데 설치매뉴얼에는 그런 내용이 엄따…

쉣…gui로 다시 설치해야겠다.

삭제는

홈디렉토리/sqllib/bin/adm/db2stop

홈디렉토리/expc/db2_deinstall -a

홈디렉토리/sqllib

삭제성공 -> 기존 sqllib 디렉이 sqllib_bak으로 변경되었다.

리눅스 x 윈도 환경으로 들어가야하는데…우찌해야하나…

다른분께 x윈도우 들어가는 법을 부탁하여 알아냄

xming 설치 -> xlaunch 실행 -> 다음 -> 다음 -> putty -> x11 -> 설치계정 -> localhost:0

gnome-session

db2setup 실행

Cap 2014-11-05 18-43-46-370

ㅠㅠ

Cap 2014-11-05 18-46-57-832

Cap 2014-11-05 19-00-15-401

왜날뷁…설치이미지는 어디있을까…젠장 포기다.

2014/12/14 재시도 해보았으나 동일한 위치에서 위와 같은 에러가 발생함

db2 설치 버전에 문제가 있는것으로 보고 db2 10.5 linux 32 bit 버전으로 설치해본다

결과 : 실패 (64bit 버전을 설치하라고 뜸)

Cap 2014-12-14 16-51-21-051

————————————————————————————————————————

하다하다 안되서 해당 리눅스에서는 db2 설치가 안되는 것으로 결론을 내리고

윈도우 개발서버에 설치하니 한방에 끝남..-_-

Advertisements

DB2 NULL값을 0으로 변환후 MAX + 1 구하는 법

1. 실제 사용 테스트 쿼리

SELECT MAX(SEQ) AS MAXSEQ,

COALESCE(MAX(SEQ), ‘0’) + 1 AS NEXTSEQ,

CASE WHEN MAX(SEQ) IS NULL THEN 0 ELSE MAX(SEQ) +1 AS NEXTSEQ2

FROM TB_CERT_HISTORY

WHERE DOC_NO = ‘T-001’

 

여기서 SEQ의  MAX값을 구하려면 DOC_NO로 GROUP BY를 먹여야 되지 않나 하는 실수를 하지말자…삽질을 너무 오래했다…

 

2. 참고 URL : http://blog.naver.com/PostView.nhn?blogId=qmffjem09&logNo=70036028605&categoryNo=17&viewDate=&currentPage=1&listtype=0

 

3. 블로그 내용

//MSSQL

select ISNULL(max(WR_NO),0) as u_id from vote_Doc

//DB2
EX1)
select CASE WHEN MAX(WR_NO) IS NULL
THEN 0
ELSE MAX(WR_NO) END as u_id
from vote_Doc
EX2)
select COALESCE(MAX(WR_NO),0) as u_id
from vote_Doc

값증가시
만약 MAX(u_id)에 1을 증가하려면

select CASE WHEN MAX(WR_NO) IS NULL
THEN 0
ELSE MAX(WR_NO) + 1 END as u_id
from vote_Doc

== 동일표현식 하나 더

select COALESCE(MAX(WR_NO) + 1,0) as u_id
from vote_Doc