ORA-28002: the password will expire within 7 days 오류
Spring Boot 다중 DataSource 를 설정하기 위해, 오랜만에 Oracle DB 를 확인 하던중 발생한 에러 메시지였다.
에러메시지 뜻: 해당 계정은 7일뒤 비밀번호가 만료된다.
필자의 경우, DB관리 최고 권한인 SYSDBA 권한이 있는 ROOT 계정의 경우였다.
이러한 경우, 해결방안으로 간단하게 계정의 비밀번호 만료일자를 업데이트 시켜주면 된다.
우선 계정의, 패스워드 만료일자를 확인해보자.
# 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;
- 해당 명령어로 패스워드 만료일자 자체를 없앨 수 있다.
- 보안적 측면에서 중요하지 않은곳에 사용하는게 좋을것 같다.
반응형
댓글