DB/DB2

DB2 설치 및 사용 방법 (10.5V fix11 for Linux)

토끼C 2023. 6. 28. 12:04
반응형

DB2 설치 가이드

이 문서는 DB2 설치 가이드를 제공합니다. 10.5V fix11 for Linux 기준으로 작성되었으며, 설치 파일 다운로드, 설치 요구사항 확인, 인스턴스 생성 등의 과정을 안내합니다.

 

db2 11버전(무료, 기간 제한 없음) 설치 방법은 아래 링크에서 확인 가능합니다.

 

https://tokkicine.tistory.com/9

 

DB2 v11.5 커뮤니티 버전 설치 및 사용방법 리눅스 우분투

리눅스 DB2 커뮤니티버전 설치 방법(v11.5) . DB2 커뮤니티 버전(v11.5)을 설치하는 방법에 대한 포스팅입니다. 설치 전 요구사항을 충족시키기 위한 라이브러리 설치 방법과 인스턴스 생성, 데이터베

tokkicine.tistory.com

 

 

목차
설치 파일 다운로드
인스턴스 생성
Database 생성
Table 생성

 

 

설치 파일 다운로드

DB2를 사용하기 위해서는 DB2 fix Pack이 필요하다. 사용하는 컴퓨터 및 OS에 따라 설치하는 패키지가 다르니, 이 점을 확인한 후 다운받아야 한다.

작성자는 다음 링크를 통해 패키지를 다운받았다.

https://www.ibm.com/support/pages/node/3500079

(위의 주소로 접속이 불가능 하거나, 다른 버전을 원하는 경우, https://www.ibm.com/support/pages/download-db2-fix-packs-version-db2-linux-unix-and-windows ****에 접속한 후 원하는 버전을 선택하면 된다.)

# arch 명령어로 32비트, 64비트를 확인할 수 있다.

 

 

 

작성자는 리눅스-64비트이기 때문에 Linux 64-bit, x86-64 on AMD64 and Intel EM64T을 선택했다. 이후 DB2 Server Fix Pack을 다운받아주면 된다. (IBM 아이디가 필요하니 없으면 생성한다.)

 

 

클릭하면 v10.5fp11_linuxx64_server_t.tar.gz 이라는 파일이 다운로드 된다.

 

다운로드 된 파일은 설치를 원하는 장치 서버에 업로드해준다.

 

다음 명령어를 사용하여 tar 압축을 해제한다.

tar -xvf v10.5fp11_linuxx64_server_t.tar.gz

압축이 해제되고 나면 server_t라는 이름의 디렉토리가 생긴다. 해당 디렉토리로 이동한 후 설치 파일을 실행한다.

 

설치를 진행하기 전 설치 요구사항을 충족하는지 확인한다.

cd server_t

./db2prereqcheck -v 10.5.0.0

- 만약 설치가 필요한 패키지가 있다면 설치해준다.

 

 

다음 명령어를 통해 필요한 패키지를 다운 받는다.

apt-get install libaio1

apt-get install libpam0g:i386

ln -s /lib/i386-linux-gnu/libpam.so.0/lib/libpam.so.0

apt-get install libstdc++5:i386`

 

 

./db2_install

설치 키워드로는 SERVER를, pureScale Feature는 설치하지 않음(no)를 선택한다.

(pureScale 환경 : 극단적인 용량 및 애플리케이션 투명성을 제공하여 분산 데이터베이스 솔루션의 성장과 관련된 위험과 비용을 줄이는 데 도움이 됨. - IBM)

 

설치가 다 된 후에는 다음 명령어를 통해 정상적으로 설치 되었는지 확인한다.

db2ls -q -p -b /opt/ibm/db2/V10.5

 

 

인스턴스 생성

설치가 정상적으로 되었다면, 인스턴스를 생성해준다. 인스턴스는 DB2를 사용하는 OS계정으로 사용한다.

다음은 인스턴스를 생성할 계정 생성 명령어이다. root권한의 계정으로 진행해야 하며, 그룹 및 사용자 계정 생성, 인스턴스 생성, 포트 설정, 방화벽 설정 등 설치에 필요한 단계들이 포함되어 있다.

다음 예제에서는 instance user와 fenced user를 동일한 계정으로 사용했다.

 

1. db2 그룹 추가

groupadd db2

 

2. 사용자 계정 및 home 생성

useradd -g db2 -m -s /bin/bash -d /home/db2_yj db2_yj

 

3. 사용자 계정 비밀번호 생성

passwd db2_yj

 

4. db2 관리서버 사용자 생성

cd /opt/ibm/db2/V10.5/instance

./dascrt -u dasusr1

 

5. 인스턴스 생성

./db2icrt -u db2_yj db2_yj

 

6. 인스턴스 계정 로그인

su - db2_yj

 

7. db2 통신방법 설정

db2set DB2COMM=TCPIP

 

8. 포트 확인 및 변경

vi /etc/services

 

9. db2 시작 및 종료

db2start

db2stop

 

10. 포트 확인

db2 get dbm cfg | grep SVC

 

11. 포트 설정

db2 update dbm cfg using svcename 50000

 

12.방화벽 설정

iptables -I INPUT 1 -p tcp --dport 50000 -j ACCEPT

iptables -I OUTPUT 1 -p tcp --dport 50000 -j ACCEPT

 

Database 생성

다음은 database 생성에 대한 예제이다. database 생성, 연결, 연결 끊기 등의 명령어를 다룬다.

1. database 생성

db2 create database testdb

 

2. database 연결

db2 connect to testdb 또는 db2 connect to testdb user db2_yj using db2_yj

db2 connect to ${database} user ${userID} using ${password}

 

3. database 연결 끊기

db2 disconnect testdb

 

Table 생성

table 생성은 db2 커맨드에서 직접 쿼리를 입력하는 방법과 sql 파일을 실행하는 방법 중 sql 파일을 실행하여 생성하였다.

  1. sql 파일 실행

db2 -tvf ${실행할 파일명}

table 생성 예제 EMP.SQL

CREATE TABLE EMP(EMPNO INT NOT NULL,ENAME VARCHAR(20),JOB VARCHAR(20),MGR INT,HIREDATE DATE,SAL INT,COMM INT,DEPTNO INT);

INSERT INTO EMP VALUES(7839,'KING','PRESIDENT',NULL,'1981-11-17',5000,NULL,10);
INSERT INTO EMP VALUES (7698,'BLAKE','MANAGER',7839,'1981-05-01',2850,NULL,30);
INSERT INTO EMP VALUES (7782,'CLARK','MANAGER',7839,'1981-05-09',2450,NULL,10);
INSERT INTO EMP VALUES (7566,'JONES','MANAGER',7839,'1981-04-01',2975,NULL,20);
INSERT INTO EMP VALUES (7654,'MARTIN','SALESMAN',7698,'1981-09-10',1250,1400,30);
INSERT INTO EMP VALUES (7499,'ALLEN','SALESMAN',7698,'1981-02-11',1600,300,30);
INSERT INTO EMP VALUES (7844,'TURNER','SALESMAN',7698,'1981-08-21',1500,0,30);
INSERT INTO EMP VALUES (7900,'JAMES','CLERK',7698,'1981-12-11',950,NULL,30);
INSERT INTO EMP VALUES (7521,'WARD','SALESMAN',7698,'1981-02-23',1250,500,30);
INSERT INTO EMP VALUES (7902,'FORD','ANALYST',7566,'1981-12-11',3000,NULL,20);
INSERT INTO EMP VALUES (7369,'SMITH','CLERK',7902,'1980-12-09',800,NULL,20);
INSERT INTO EMP VALUES (7788,'SCOTT','ANALYST',7566,'1982-12-22',3000,NULL,20);
INSERT INTO EMP VALUES (7876,'ADAMS','CLERK',7788,'1983-01-15',1100,NULL,20);
INSERT INTO EMP VALUES (7934,'MILLER','CLERK',7782,'1982-01-11',1300,NULL,10);
COMMIT;

 

반응형