[SQL] [ORACLE] SQLException: ORA-28001: 비밀번호가 만기되었습니다.

다시보려고 쓰기·2022년 1월 24일
0
post-thumbnail

오류코드

java.sql.SQLException: ORA-28001: 비밀번호가 만기되었습니다.

근본 원인 (root cause)

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: ORA-28001: 비밀번호가 만기되었습니다.

해결방법

1. 오라클 접속

command 에 접속한다.


sqlplus / as sysdba

2. 계정상태 확인

SELECT * FROM DBA_USERS WHERE USERNAME = 사용자아이디;

SELECT USERNAME.ACCOUNT_STATU, EXPIRY_DATE FROM DBA_USERS;

3. 비밀번호 유효기간 확인 (오라클 비밀번호 유효기간 Default : 생성일 + 180 DAYS)

SELECT * FROM DBA_PROFILES
 WHERE PROFILE = 'DEFAULT' AND RESOURCE_NAME = 'PASSWORD_LIFE_TIME';

4. 유효기간 변경 (무제한)

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

SELECT * FROM DBA_PROFILES WHERE = PROFILE = 'DEFAULT' AND RESOURCE_NAME='PASSOWRD_LIFE_TIME';

5. 패스워드 갱신

ALTER USER 사용자아이디 IDENTIFIED BY 새로운패스워드;

SELECT USERNAME.ACCOUNT_STATUS, EXPIRY_DATE FROM DBA_USERS;

- 패스워드 갱신을 하지 않으려면, 아래와 같이 변경한다.

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

- lock이 걸린 경우에는 해제

ALTER USER 사용자아이디 ACCOUNT UNLOCK;

0개의 댓글