Microsoft MVP성태의 닷넷 이야기
개발 환경 구성: 640. docker - ibmcom/db2 컨테이너 실행 [링크 복사], [링크+제목 복사],
조회: 16593
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

docker - ibmcom/db2 컨테이너 실행

"ibmcom/db2express-c"가 이제는 "ibmcom/db2"로 바뀌었다고 합니다.

ibmcom/db2
; https://hub.docker.com/r/ibmcom/db2

위의 문서에도 나오지만, 간단하게는 컨테이너 생성을 이렇게 하고,

c:\temp> docker run --restart=always -itd --name mydb2 --privileged=true -p 50000:50000 -e LICENSE=accept -e DB2INST1_PASSWORD=testpw -e DBNAME=testdb -v db2db_shared:/database ibmcom/db2

db2 명령어를 실행해 볼까요?

# find / -name db2
/opt/ibm/db2
/opt/ibm/db2/V11.5/bin/db2
/opt/ibm/db2/V11.5/samples/wrappers/wrapper_sdk_java/javadoc/com/ibm/db2
/opt/ibm/db2/V11.5/samples/repl/asnqwxml/stockticker/src/com/ibm/db2
/opt/ibm/db2/V11.5/samples/repl/xmlpubtk/com/ibm/db2
/opt/ibm/db2/V11.5/samples/repl/xmlpubtk/doc/com/ibm/db2
/var/db2

# /opt/ibm/db2/V11.5/bin/db2
(c) Copyright IBM Corporation 1993,2007
Command Line Processor for DB2 Client 11.5.7.0

You can issue database manager commands and SQL statements from the command
prompt. For example:
    db2 => connect to sample
    db2 => bind sample.bnd

For general help, type: ?.
For command help, type: ? command, where command can be
the first few keywords of a database manager command. For example:
 ? CATALOG DATABASE for help on the CATALOG DATABASE command
 ? CATALOG          for help on all of the CATALOG commands.

To exit db2 interactive mode, type QUIT at the command prompt. Outside
interactive mode, all commands must be prefixed with 'db2'.
To list the current command option settings, type LIST COMMAND OPTIONS.

For more detailed help, refer to the Online Reference Manual.

데이터베이스 목록도 확인해 보고,

// db2 명령어로 확인

db2 => list db directory

 System Database Directory

 Number of entries in the directory = 1

Database 1 entry:

 Database alias                       = TESTDB
 Database name                        = TESTDB
 Local database directory             = /database/data
 Database release level               = 15.00
 Comment                              =
 Directory entry type                 = Indirect
 Catalog database partition number    = 0
 Alternate server hostname            =
 Alternate server port number         =

원하는 DB에 연결한 후,

db2 => CONNECT TO TESTDB

   Database Connection Information

 Database server        = DB2/LINUXX8664 11.5.7.0
 SQL authorization ID   = ROOT
 Local database alias   = TESTDB

db2 => select current server from sysibm.sysdummy1

1
------------------
TESTDB

  1 record(s) selected.

해당 DB의 테이블 목록도 보고,

db2 => LIST TABLES

Table/View                      Schema          Type  Creation time
------------------------------- --------------- ----- --------------------------

  0 record(s) selected.

사용자 목록도 확인합니다.

db2 => SELECT * FROM sysibmadm.authorizationids

AUTHID                                AUTHIDTYPE
------------------------------------- ----------
PUBLIC                                G         
SYSDEBUG                              R         
SYSDEBUGPRIVATE                       R         
SYSTS_ADM                             R         
SYSTS_MGR                             R         
DB2INST1                              U         

  6 record(s) selected.

암호를 알아낼 수는 없지만, 다음의 명령어로 암호가 맞는지 확인은 할 수 있습니다.

// 정상적인 계정이면,

db2 => CONNECT TO TESTDB USER db2inst1 USING testpw

   Database Connection Information

 Database server        = DB2/LINUXX8664 11.5.7.0
 SQL authorization ID   = DB2INST1
 Local database alias   = TESTDB


// 비정상적인 계정이면,

db2 => CONNECT TO TESTDB USER notmy USING testpw
SQL30082N  Security processing failed with reason "24" ("USERNAME AND/OR PASSWORD INVALID").  SQLSTATE=08001




참고로 db2 명령어가 이렇게 실패하는 경우,

# /opt/ibm/db2/V11.5/bin//db2
SQL10007N Message "-1390" could not be retrieved.  Reason code: "3".

관련 자료를 보면,

DB2START Fails with SQL10007N Message "-1390" could not be retrieved. Reason code: "3"
; https://www.ibm.com/support/pages/db2start-fails-sql10007n-message-1390-could-not-be-retrieved-reason-code-3

환경 변수에 DB2INSTANCE가 없어서 그렇다고 합니다. 그래서 다음과 같이 설정 후 다시 실행하면 정상적으로 구동이 됩니다.

# export DB2INSTANCE=db2inst1
# /opt/ibm/db2/V11.5/bin//db2




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 10/21/2022]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... [31]  32  33  34  35  36  37  38  39  40  41  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
13198정성태12/18/202214033.NET Framework: 2080. C# - Microsoft.XmlSerializer.Generator 처리 없이 XmlSerializer 생성자를 예외 없이 사용하고 싶다면?파일 다운로드1
13197정성태12/17/202213551.NET Framework: 2079. .NET Core/5+ 환경에서 XmlSerializer 사용 시 System.IO.FileNotFoundException 예외 발생하는 경우파일 다운로드1
13196정성태12/16/202214252.NET Framework: 2078. .NET Core/5+를 위한 SGen(Microsoft.XmlSerializer.Generator) 사용법
13195정성태12/15/202214494개발 환경 구성: 655. docker - bridge 네트워크 모드에서 컨테이너 간 통신 시 --link 옵션 권장 이유
13194정성태12/14/202214294오류 유형: 833. warning C4747: Calling managed 'DllMain': Managed code may not be run under loader lock파일 다운로드1
13193정성태12/14/202214825오류 유형: 832. error C7681: two-phase name lookup is not supported for C++/CLI or C++/CX; use /Zc:twoPhase-
13192정성태12/13/202214808Linux: 55. 리눅스 - bash shell에서 실수 연산
13191정성태12/11/202216399.NET Framework: 2077. C# - 직접 만들어 보는 SynchronizationContext파일 다운로드1
13190정성태12/9/202218419.NET Framework: 2076. C# - SynchronizationContext 기본 사용법파일 다운로드1
13189정성태12/9/202217836오류 유형: 831. Visual Studio - Windows Forms 디자이너의 도구 상자에 컨트롤이 보이지 않는 문제
13188정성태12/9/202217251.NET Framework: 2075. C# - 직접 만들어 보는 TaskScheduler 실습 (SingleThreadTaskScheduler) [1]파일 다운로드1
13187정성태12/8/202216744개발 환경 구성: 654. openssl - CA로부터 인증받은 새로운 인증서를 생성하는 방법 (2)
13186정성태12/6/202214620오류 유형: 831. The framework 'Microsoft.AspNetCore.App', version '...' was not found.
13185정성태12/6/202215584개발 환경 구성: 653. Windows 환경에서의 Hello World x64 어셈블리 예제 (NASM 버전)
13184정성태12/5/202213461개발 환경 구성: 652. ml64.exe와 link.exe x64 실행 환경 구성 [1]
13183정성태12/4/202213324오류 유형: 830. MASM + CRT 함수를 사용하는 경우 발생하는 컴파일 오류 정리 [1]
13182정성태12/4/202215203Windows: 217. Windows 환경에서의 Hello World x64 어셈블리 예제 (MASM 버전)
13181정성태12/3/202213934Linux: 54. 리눅스/WSL - hello world 어셈블리 코드 x86/x64 (nasm)
13180정성태12/2/202215190.NET Framework: 2074. C# - 스택 메모리에 대한 여유 공간 확인하는 방법파일 다운로드1
13179정성태12/2/202213732Windows: 216. Windows 11 - 22H2 업데이트 이후 Terminal 대신 cmd 창이 뜨는 경우
13178정성태12/1/202214845Windows: 215. Win32 API 금지된 함수 - IsBadXxxPtr 유의 함수들이 안전하지 않은 이유파일 다운로드1
13177정성태11/30/202215427오류 유형: 829. uwsgi 설치 시 fatal error: Python.h: No such file or directory
13176정성태11/29/202212210오류 유형: 828. gunicorn - ModuleNotFoundError: No module named 'flask'
13175정성태11/29/202216865오류 유형: 827. Python - ImportError: cannot import name 'html5lib' from 'pip._vendor'
13174정성태11/28/202213341.NET Framework: 2073. C# - VMMap처럼 스택 메모리의 reserve/guard/commit 상태 출력파일 다운로드1
13173정성태11/27/202214372.NET Framework: 2072. 닷넷 응용 프로그램의 스레드 스택 크기 변경
... [31]  32  33  34  35  36  37  38  39  40  41  42  43  44  45  ...