1) 오류? 경고? 발생
이걸 오류라고 해야 할지? 오랜만에 오라클에 접속 하니 아래와 같은 경고문이 떴다.
[ORA-28002: the password will expire within 7 days]
뭐라하는지 잘 모르겠지만 대충 봐도 비밀번호가 7일이내 만료된다는 영어 까막눈이 봐도 알만한 경고창.
내가 비밀번호 만료를 설정한게 있었던가? 곰곰히 생각해도 없는데.
따로 비밀번호 만료일에 대한 설정을 해둔게 아니라면 기본이 180일로 설정된다고 한다.
2) 해결 방법
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE TIME UNLIMITED;
일단 오케이 눌러주고 아래의 쿼리문을 작성하여 날려주면 비밀번호 만료일일 180일에서 제한없음으로 변경이 된다.
SELECT LIMIT
FROM DBA_PROFILES
WHERE PROFILE = 'DEFAULT'
AND RESOURCE_NAME = 'PASSWORD_LIFE_TIME';
위 쿼리문으로 확인해보면 UNLIMIT으로 잘 바뀐걸 확인 할 수 있다.
이게 끝이 아니라 비밀번호를 최초 한번 변경해줘야 한다. 비밀번호는 기존 사용하던거 그대로 적용하여 변경해도 무관하니 비밀번호를 한번 변경해주면 다음 로그인부터는 경고창이 뜨지 않는걸 볼 수 있다.
ALTER USER (계정명) IDENTIFIED BY (비밀번호);
비밀번호 변경은 위 쿼리문을 사용하면 된다.
이 외에 제한없음으로 변경하지 않아도 180일 이전에 비밀번호를 한번씩 주기적으로 변경해주는 것만으로도 연장이 된다.
이미 만료일이 지났다면?
계정이 잠기게 된다. 잠긴 계정은 아래 쿼리문으로 풀어 줄 수 있다.
ALTER USER (계정명) ACOUNT UNLOCK;
계정을 풀어준 후 비밀번호를 변경해주면 된다.
전체 DB 로그인 정보 조회
SELECT USERNAME
,EXPIRY_DATE
,ACCOUNT_STATUS
FROM DBA_USERS;
계정 상태가 open으로 되어있다면 정상! 나는 몇개 락걸린 계정들이 있어 이번 기회에 풀어줬다.