- @참고: 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