Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

db2 - Password validation for user db2inst1 failed with rc = -2146500508

잘 쓰고 있던 db2 docker 컨테이너가,

docker - ibmcom/db2 컨테이너 실행
; https://www.sysnet.pe.kr/2/0/13009

어느 순간부터 Open 메서드에서 이렇게 SQL10007 오류 메시지가 발생합니다.

DB2: IBM.Data.DB2.DB2Exception (0x80004005): ERROR [08001] [IBM] SQL10007N Message "0" could not be retrieved.  Reason code: "3".

   at IBM.Data.DB2.DB2ConnPool.Open(DB2Connection connection, String& szConnectionString, DB2ConnSettings& ppSettings, Object& ppConn)
   at IBM.Data.DB2.DB2Connection.Open()
   at WebSiteTest.DB2Test() in D:\test\WebSiteTest4\DB2SQLTest.aspx.cs:line 495
   at WebSiteTest.Page_Load(Object sender, EventArgs e) in D:\test\WebSiteTest4\DB2SQLTest.aspx.cs:line 103

이와 함께 컨테이너 측 로그에는 다음과 같은 식의 메시지가 나오는데요,

2022-10-21-01.56.45.801683+000 I220891510E469        LEVEL: Warning,
PID     : 15667                TID : 140031876392704 PROC : db2sysc 0,
INSTANCE: db2inst1             NODE : 000            DB   : TESTDB,
APPHDL  : 0-198,
HOSTNAME: 40880c208891,
EDUID   : 23                   EDUNAME: db2agent (TESTDB) 0,
FUNCTION: DB2 UDB, bsu security, sqlexLogPluginMessage, probe:20,
DATA #1 : String with size, 67 bytes,
Password validation for user db2inst1 failed with rc = -2146500508,
,
2022-10-21-01.56.45.801860+000 I220891980E538        LEVEL: Warning,
PID     : 15667                TID : 140031876392704 PROC : db2sysc 0,
INSTANCE: db2inst1             NODE : 000            DB   : TESTDB,
APPHDL  : 0-198,
HOSTNAME: 40880c208891,
EDUID   : 23                   EDUNAME: db2agent (TESTDB) 0,
FUNCTION: DB2 UDB, bsu security, sqlexSlsSystemAuthenticate, probe:150,
MESSAGE : Failing connection IP address: 192.168.100.30,
TA #1 : String, 16 bytes,
application id: ,
DATA #2 : String with size, 31 bytes,
192.168.100.30.57114.221021015645,

Password validation에 실패했다고 합니다. 확인을 위해 db2 명령어 shell로 접속해 계정을 확인해 보면,

# export DB2INSTANCE=db2inst1
# /opt/ibm/db2/V11.5/bin/db2
db2 => CONNECT TO TESTDB USER db2inst1 USING testpw
SQL30082N  Security processing failed with reason "1" ("PASSWORD EXPIRED").  
SQLSTATE=08001

보는 바와 같이 EXPIRED라고 합니다. ^^ 그래서 변경하려고 하는데,

// https://www.ibm.com/docs/en/db2/10.5?topic=details-maintaining-password-information

db2 => CONNECT TO TESTDB USER db2inst1 USING testpw NEW dsfasvdfvas CONFIRM dsfasvdfvas
SQL30083N  Attempt to change password for user id "db2inst1" failed with security reason "24" ("USERNAME AND/OR PASSWORD INVALID").  SQLSTATE=08001

오류가 발생하는군요. ^^ 이건 DB2의 계정 정보가 리눅스와 연동하기 때문이라고.

Error while changing password DB2 Community Edition SQL30083N
; https://stackoverflow.com/questions/56023609/error-while-changing-password-db2-community-edition-sql30083n

따라서, docker bash 환경에서 해당 계정의 암호를 변경하는 식으로 처리하면 됩니다.

# su - db2inst1
$ passwd

// 또는

# passwd db2inst1




그런데 테스트 컨테이너의 계정이 1년마다 만료되는 것이 여간 귀찮은 일이 아닐 수 없습니다. 이게 싫다면 chage 명령을 이용해 암호 만료 시간을 변경할 수 있습니다.
# chage -I -1 -m 0 -M 99999 -E -1 db2inst1

#  chage -l db2inst1
Last password change                                    : Apr 20, 2023
Password expires                                        : never
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 0
Maximum number of days between password change          : 99999
Number of days of warning before password expires       : 7




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

[연관 글]






[최초 등록일: ]
[최종 수정일: 4/20/2023]

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

비밀번호

댓글 작성자
 




1  2  3  4  5  6  7  [8]  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
13432정성태10/31/20232452오류 유형: 878. 탐색기의 WSL 디렉터리 접근 시 "Attempt to access invalid address." 오류 발생
13431정성태10/31/20232788스크립트: 60. 파이썬 - 비동기 FastAPI 앱을 gunicorn으로 호스팅
13430정성태10/30/20232676닷넷: 2153. C# - 사용자가 빌드한 ICU dll 파일을 사용하는 방법
13429정성태10/27/20232958닷넷: 2152. Win32 Interop - C/C++ DLL로부터 이중 포인터 버퍼를 C#으로 받는 예제파일 다운로드1
13428정성태10/25/20233033닷넷: 2151. C# 12 - ref readonly 매개변수
13427정성태10/18/20233248닷넷: 2150. C# 12 - 정적 문맥에서 인스턴스 멤버에 대한 nameof 접근 허용(Allow nameof to always access instance members from static context)
13426정성태10/13/20233407스크립트: 59. 파이썬 - 비동기 호출 함수(run_until_complete, run_in_executor, create_task, run_in_threadpool)
13425정성태10/11/20233193닷넷: 2149. C# - PLinq의 Partitioner<T>를 이용한 사용자 정의 분할파일 다운로드1
13423정성태10/6/20233171스크립트: 58. 파이썬 - async/await 기본 사용법
13422정성태10/5/20233316닷넷: 2148. C# - async 유무에 따른 awaitable 메서드의 병렬 및 예외 처리
13421정성태10/4/20233393닷넷: 2147. C# - 비동기 메서드의 async 예약어 유무에 따른 차이
13420정성태9/26/20235580스크립트: 57. 파이썬 - UnboundLocalError: cannot access local variable '...' where it is not associated with a value
13419정성태9/25/20233218스크립트: 56. 파이썬 - RuntimeError: dictionary changed size during iteration
13418정성태9/25/20233922닷넷: 2146. C# - ConcurrentDictionary 자료 구조의 동기화 방식
13417정성태9/19/20233451닷넷: 2145. C# - 제네릭의 형식 매개변수에 속한 (매개변수를 가진) 생성자를 호출하는 방법
13416정성태9/19/20233256오류 유형: 877. redis-py - MISCONF Redis is configured to save RDB snapshots, ...
13415정성태9/18/20233754닷넷: 2144. C# 12 - 컬렉션 식(Collection Expressions)
13414정성태9/16/20233511디버깅 기술: 193. Windbg - ThreadStatic 필드 값을 조사하는 방법
13413정성태9/14/20233708닷넷: 2143. C# - 시스템 Time Zone 변경 시 이벤트 알림을 받는 방법
13412정성태9/14/20236988닷넷: 2142. C# 12 - 인라인 배열(Inline Arrays) [1]
13411정성태9/12/20233491Windows: 252. 권한 상승 전/후 따로 관리되는 공유 네트워크 드라이브 정보
13410정성태9/11/20235028닷넷: 2141. C# 12 - Interceptor (컴파일 시에 메서드 호출 재작성) [1]
13409정성태9/8/20233886닷넷: 2140. C# - Win32 API를 이용한 모니터 전원 끄기
13408정성태9/5/20233840Windows: 251. 임의로 만든 EXE 파일을 포함한 ZIP 파일의 압축을 해제할 때 Windows Defender에 의해 삭제되는 경우
13407정성태9/4/20233587닷넷: 2139. C# - ParallelEnumerable을 이용한 IEnumerable에 대한 병렬 처리
13406정성태9/4/20233554VS.NET IDE: 186. Visual Studio Community 버전의 라이선스
1  2  3  4  5  6  7  [8]  9  10  11  12  13  14  15  ...