ORA-28002: n 일안에 비밀번호가 만기될 것입니다(the password will expire within n days)

스폰서 링크
Oracle DB
스폰서 링크
스폰서 링크

오류 내용

다음은 ORA-28002가 발생한 로그인 결과 화면 입니다.

C:\>sqlplus scott/tiger@192.168.127.130/orcl
SQL*Plus: Release 12.2.0.1.0 Production on Mon Mar 1 13:14:58 2021
Copyright (c) 1982, 2016, Oracle.  All rights reserved.
ERROR:
ORA-28002: the password will expire within 7 days
Last Successful login time: Sat Jan 30 2021 15:49:03 +09:00
Connected to:
Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production
SQL>

참고로 한글 메시지는 다음과 같습니다.

C:\>set nls_lang=KOREAN_KOREA.KO16MSWIN949
C:\>sqlplus scott/tiger@192.168.127.130/orcl
SQL*Plus: Release 12.2.0.1.0 Production on 금 10월 15 18:10:48 2021
Copyright (c) 1982, 2016, Oracle.  All rights reserved.
ERROR:
ORA-28002: 4 일안에 비밀번호가 만기될 것입니다
마지막 성공한 로그인 시간: 화 10월 12 2021 02:18:10 +09:00
다음에 접속됨:
Oracle Database 12c Standard Edition Release 12.2.0.1.0 - 64bit Production
SQL>

Oracle 일반 사용자로 로그인을 했을 때 이와 같이 ORA-28002가 발생 했다면 사용자의 profile DEFAULT와 관련된 PASSWORD_LIFE_TIME (비밀번호 유효 기간) 과 PASSWORD_GRACE_TIME (비밀번호 만료 유예 기간)의 설정을 알아야 합니다.

다음 SQL문으로 로그인한 사용자 자신의 상태를 출력합니다. ACCOUNT_STATUS항목에 출력 된 EXPIRED(GRACE)는 비밀 번호는 만료되었지만 오늘 2021/03/01 부터 만료일 2021/03/08까지 아직은 유예 기간으로 ORA-28002 메시지를 표시하면서 로그인 할 수 있다는 상태를 의미합니다..

COLUMN username FORMAT A6;
COLUMN account_status FORMAT A15;
COLUMN lock_date FORMAT A12;
COLUMN expiry_date FORMAT A12;
select username , account_status , sysdate as today , expiry_date 
  from user_users;

USERNA ACCOUNT_STATUS  TODAY      EXPIRY_DATE
------ --------------- ---------- ------------
SCOTT  EXPIRED(GRACE)  2021/03/01 2021/03/08

이 유예 기간이 끝나기 전에 사용자 자신의 비밀번호를 변경 하거나 DBA권한을 가진 관리자로 로그인해 비밀번호 유효 기간을 무기한으로 변경 해야 합니다.

사용자 자신의 비밀번호를 변경은 다음 글을 참조하십시오

눈깨비 정보창고 - 분기탱천
마우스 영역 지정 이미지 캡처를 문자 인식 및 번역하기 버튼 클릭 만으로  을 실행 해 주는 소프트웨어를 작성 했습니다. 자세한 도움말은 여기를 참조 하십시오. 웹 서비스 구축 눈깨비가 본업으로 하고 있는 기술적인 ...

비밀번호 유효 기간을 무기한으로 변경은 다음 글을 참조하십시오

눈깨비 정보창고 - 분기탱천
마우스 영역 지정 이미지 캡처를 문자 인식 및 번역하기 버튼 클릭 만으로  을 실행 해 주는 소프트웨어를 작성 했습니다. 자세한 도움말은 여기를 참조 하십시오. 웹 서비스 구축 눈깨비가 본업으로 하고 있는 기술적인 ...

사용자 프로파일 확인

사용자 프로파일 확인을 위해서는다음과 같이 dba권한을 가진 사용자로 로그인 해야 합니다.

sqlplus sys/manager@192.168.127.130/orcl as sysdba

다음 SQL문으로 사용자가 속한 profile을 확인 할 수 있습니다.

COLUMN username FORMAT A8;
COLUMN profile FORMAT A8;
select username, profile from dba_users where lower(username) = 'scott';

USERNAME PROFILE
-------- --------
SCOTT    DEFAULT

다음과 같이 Oracle12c에서는 PASSWORD_LIFE_TIME (비밀번호 유효 기간)의 profile DEFAULT값은 180 일로 설정되어 있습니다. 즉 6개월마다 비밀번호를 변경하지 않으면 안됩니다.

 COLUMN profile FORMAT A16;
 COLUMN resource_type FORMAT A13;
 COLUMN limit FORMAT A6;
 SELECT profile,resource_type,limit
   FROM dba_profiles
  WHERE resource_name='PASSWORD_LIFE_TIME';

PROFILE          RESOURCE_TYPE LIMIT
---------------- ------------- ------
DEFAULT          PASSWORD      180
ORA_STIG_PROFILE PASSWORD      60
SQL>

다음 SQL문으로 PASSWORD_GRACE_TIME (비밀번호 만료 유예 기간)의 profile DEFAULT값을 확인 할 수 있습니다. (기본 7 일)

COLUMN profile FORMAT A16;
COLUMN resource_type FORMAT A13;
COLUMN limit FORMAT A6;
SELECT profile,resource_type,limit
       FROM dba_profiles
      WHERE resource_name='PASSWORD_GRACE_TIME';

PROFILE          RESOURCE_TYPE LIMIT
---------------- ------------- ------
DEFAULT          PASSWORD      7
ORA_STIG_PROFILE PASSWORD      5

유예 기간도 지나버린 경우

그렇다면 PASSWORD_LIFE_TIME (비밀번호 유효 기간) 도 PASSWORD_GRACE_TIME (비밀번호 만료 유예 기간) 도 지나버린 다면 어떻게 될까요? ORA-28001: the password has expired 발생합니다. ORA-28001대해서는 다음 글에서 상세히 설명하였습니다.

눈깨비 정보창고 - 분기탱천
마우스 영역 지정 이미지 캡처를 문자 인식 및 번역하기 버튼 클릭 만으로  을 실행 해 주는 소프트웨어를 작성 했습니다. 자세한 도움말은 여기를 참조 하십시오. 웹 서비스 구축 눈깨비가 본업으로 하고 있는 기술적인 ...
제목과 URL을 복사했습니다