- @참고: https://www.ibm.com/docs/ko/db2/11.5?topic=system-macos

1. 제한 사항을 확인하기 위해

- computer info 확인 (os version, core, memory)

>system_profiler SPSoftwareDataType SPHardwareDataType

- 하드디스크 용량 확인

>df -h

2. 프로시저 진행

1) 데이터베이스의 데이터를 저장할 새 디렉토리 작성

>mkdir Docker/database

- cd Docker/database

2) ICR 에서 Db2 Docker 이미지 가져오기

>docker pull icr.io/db2_community/db2

3) Db2 Community Edition 이미지에 대한 환경 변수 파일 .env_list 작성

>vi .env_list

```

LICENSE=accept
DB2INSTANCE=db2inst1
DB2INST1_PASSWORD=password
DBNAME=testdb
BLU=false
ENABLE_ORACLE_COMPATIBILITY=false
UPDATEAVAIL=NO
TO_CREATE_SAMPLEDB=false
REPODB=false
IS_OSXFS=true
PERSISTENT_HOME=true
HADR_ENABLED=false
ETCD_ENDPOINT=
ETCD_USERNAME=
ETCD_PASSWORD=

```

4) Docker 컨테이너 실행

>docker run -h db2server --name db2server --restart=always --detach --privileged=true 
-p 50000:50000 --env-file .env_list -v /Users/<username>/Docker/database:/database icr.io/db2_community/db2

 

5) Docker 컨테이너에 접속

>docker exec -it db2server /bin/bash

 

6) Db2 인스턴스에 접속

su - db2inst1

 

3. 설치 완료 테스트

- @참고: https://suyangrok.tistory.com/8

1) 설치된 DB2 제품 기능 나열

>db2ls

2) db2 버전체크

db2inst1 으로 로그인 한 후

>db2licm -l

 

4. DB2 인스턴스 생성 및 DB 생성하기

- @참고: https://suyangrok.tistory.com/9

  - 샘플 데이터베이스 생성

[db2inst1@db2server ~]$ db2sampl

 

  - 데이터베이스에 접속

[db2inst1@db2server ~]$ db2 connect to sample

 

  - 데이터베이스 생성

[db2inst1@db2server ~]$ db2 create database TESTDB

 

  - 데이터베이스 삭제

[db2inst1@db2server ~]$ db2 drop database sample

* 이때, 

SQL1035N  The operation failed because the specified database cannot be
connected to in the mode requested.  SQLSTATE=57019

에러가 나온다면 

다른 application(SQLSTATE=57019) 에서 사용중이기 때문이다. 

그 application 을 꺼주고 다시 실행하면 된다.

- @참고(drop database error SQLSTATE=57019): https://www.ibm.com/support/pages/drop-database-fails-sql1035n-database-currently-use-error

 

5. database manager 

1) 실행중인지 status check

>ps -ef | grep db2sysc

 

2) database manager 실행

>db2start

 

3) database manager 종료

>db2stop

- db2stop 시 

SQL1025N  The database manager was not stopped because databases are still active.

에러가 난다면 사용중인 어플리케이션을 확인하고 중지시켜준다.

>db2 list application

강제종료 시

>db2stop force

 

4) db2 환경 설정 구성 보기 - @참고: https://www.lesstif.com/dbms/db2-quick-start-reference-30704860.html

>db2 "get dbm cfg"

 

6. 테이블 생성 시 

Connection refused. ERRORCODE=-4499, SQLSTATE=08001.

위와 같은 에러가 발생한다면, db2 가 비활성화되어있으므로 활성화시켜줘야 한다.

[db2inst1@db2server ~]$ db2 activate db PS30CA

- @참고: https://www.ibm.com/docs/ko/license-metric-tool?topic=problems-database

 

 

 

- @참고(db2stop 시): https://goni9071.tistory.com/entry/db2-SQL1025N-The-database-manager-was-not-stopped-because-databases-are-still-active

 

블로그 이미지

uchacha

개발자 일지

,