본문 바로가기
DB/Oracle

[Oracle] ORA-28002: the password will expire within 7 days 메시지

by lucas_owner 2023. 12. 12.

ORA-28002: the password will expire within 7 days 오류

 

Spring Boot 다중 DataSource 를 설정하기 위해, 오랜만에 Oracle DB 를 확인 하던중 발생한 에러 메시지였다.

 

에러메시지 뜻: 해당 계정은 7일뒤 비밀번호가 만료된다.

 

필자의 경우, DB관리 최고 권한인 SYSDBA 권한이 있는 ROOT 계정의 경우였다.

 

Error Message

 

이러한 경우, 해결방안으로 간단하게 계정의 비밀번호 만료일자를 업데이트 시켜주면 된다.

 

우선 계정의, 패스워드 만료일자를 확인해보자.

# select EXPIRY_DATE, CREATED from dba_users where username='계정명';

select EXPIRY_DATE, CREATED from dba_users where username='ROOT';

 

조회 결과

현재일자(2023-12-12) 기준 7일 뒤 만료인것이 확인됬다. 

 

다음으로 현재 설정된 패스워드 유효기간을 확인해보자.

select resource_name,resource_type,limit from dba_profiles;

- password_life_time 의 Limit 컬럼 항목값이 현재 설정된 유효기간을 days 로 출력해준다.

이제 실질적인 해결방법을 알아보자. 

 

DB 계정 password Update

※명령어 

# ALTER USER ROOT identified by '변경할 비밀번호'

ALTER USER ROOT identified by 1234

 

- 이때 비밀번호는 이전의 비밀번호와 같아도 상관없다.(실제로 여러명이 공유하고 있는 계정이라면 패스워드 업데이트 사실을 공유하기가 상당히 번잡스러울수 있다고 생각한다, 보안측면에서는 좋지 않은것 같다.)

 

※ User altered. 메시지와 함께 비밀번호가 업데이트 된다.

 

 

※ 만약 개발 테스트용 DB 이거나, 로컬에서 혼자 사용한다면? 

- 패스워드 만료일자가 필요 없을수 있다. 

- 이런 케이스에서, 계속 Alter 명령어로 패스워드를 업데이트 해도되지만, 아예 만료일자가 없으면 편할 수 있다.

 

alter profile default limit PASSWORD_LIFE_TIME unlimited;

- 해당 명령어로 패스워드 만료일자 자체를 없앨 수 있다. 

- 보안적 측면에서 중요하지 않은곳에 사용하는게 좋을것 같다.

 

만료일자X - 계정 조회

반응형

댓글