본문 바로가기
DB

[oracle] ORA-28001: the password has expired

by sihyeong 2024. 3. 9.

데이터베이스 접속을 하니 다음과 같은 오류 메시지가 떴다.

 

ORA-28001: the password has expired

 

 

발생 원인

보안상의 문제로 Oracle에서 일정 주기로 비밀번호가 변경되어야 하는 정책을 사용하고 있다.

비밀번호 만료일자 설정을 따로 하지 않은 경우 기본 180일을 기준으로 해당 오류가 발생한다.

 

해결 방법

1. 비밀번호 변경

ALTER USER 계정이름 IDENTIFIED BY 새 비밀번호;

비밀번호가 변경되지 않아 계정이 만료되었기 때문에 해당 계정의 비밀번호를 변경한다면 정상적으로 이용이 가능해진다.

 

2. 계정 만료 해제

ALTER USER 계정이름 ACCOUNT UNLOCK;

 만료 계정의 잠금을 강제로 풀어 비밀번호 변경없이 사용할수도 있다.

 

 

 

 

기타 도움이 되는 명령어

비밀번호 만료일 확인

SELECT EXPIRY_DATE FROM DBA_USERS WHERE USERNAME='계정이름'

위의 명령어로 해당 계정의 만료일을 미리 확인할 수 있다.

 

계정 상태 확인

SELECT USERNAME, ACCOUNT_STATUS FROM DBA_USERS WHERE USERNAME='계정이름'

위의 명령어로 해당 계정이 만료되었는지 유무를 확인할 수 있다.

 

 

비밀번호 만료 동작 기준일 확인

SELECT * FROM DBA_PROFILES WHERE PROFILE = 'DEFAULT';

'DB' 카테고리의 다른 글

저장 프로시저 (Stored Procedure)  (0) 2024.02.26
mybatis where 1=1  (0) 2024.01.09