[ORA-28002] 사용자 계정의 암호가 만기될 것입니다.

Oracle 2010. 9. 29. 10:58
Oracle 11g R1 Window 32bit의 환경에서 확인한 내용입니다.

Oracle 10g 이하에서 DB Schema를 자동으로 생성해주는 Script를 만들어서 사용하고 있었던 터라,

Oracle 11g R1에서도 그대로 사용하여 DB Schema를 생성하고, Test를 하고 있었던 어느 날 갑자기

아래와 같은 Message가 나타납니다.

====================================================================
@> conn scott/tiger@david11g

ERROR:
ORA-28002: 7 일안에 암호가 만기될 것입니다
====================================================================

그래서 Oracle 9iR2와 Oracle 11g R1의 Profiles의 내용을 비교해 보았습니다.

[Oracle 9iR2]

SYS@david9i> select resource_name, limit
  2  from dba_profiles
  3  where profile = 'DEFAULT'
  4  and resource_type = 'PASSWORD';
RESOURCE_NAME                       LIMIT
-------------------------------- ----------------------------------------
FAILED_LOGIN_ATTEMPTS            UNLIMITED
PASSWORD_LIFE_TIME                 UNLIMITED
PASSWORD_REUSE_TIME             UNLIMITED
PASSWORD_REUSE_MAX              UNLIMITED
PASSWORD_VERIFY_FUNCTION      NULL
PASSWORD_LOCK_TIME                UNLIMITED
PASSWORD_GRACE_TIME             UNLIMITED
7 개의 행이 선택되었습니다.

[Oracle 11gR1]

SYS@david11g> select resource_name, limit
  2  from dba_profiles
  3  where profile = 'DEFAULT'
  4  and resource_type = 'PASSWORD';
RESOURCE_NAME                       LIMIT
-------------------------------- ----------------------------------------
FAILED_LOGIN_ATTEMPTS            10
PASSWORD_LIFE_TIME                 180
PASSWORD_REUSE_TIME              UNLIMITED
PASSWORD_REUSE_MAX              UNLIMITED
PASSWORD_VERIFY_FUNCTION      NULL
PASSWORD_LOCK_TIME               1
PASSWORD_GRACE_TIME              7

7 개의 행이 선택되었습니다.


Profile의 유형이 추가된 것을 제외하고, Profile가 Default인것만 비교해보았을 때,

위와 같이 빨간색으로 표시한 부분의 값들에 대한 Default Value가 변경되었습니다.

그럼 변경된 내용들이 어떤 의미가 있는지 확인해보겠습니다.

1. FAILED_LOGIN_ATTEMPTS : 로그인을 실패했을 경우에 대한 제한 횟수

2. PASSWORD_LIFE_TIME : 암호 변경 일수를 의미합니다. 180일 이후에는 암호가 Expired 상태가 됩니다.

3. PASSWORD_LOCK_TIME: 암호 잠김 시간을 의미합니다. (1/1440 으로 설정하면 1분동안 잠김)

4. PASSWORD_GRACE_TIME : 암호 변경 메세지를 출력 날짜를 의미합니다. 이 설정으로 인해 서두에서
                                             나타났던 "ORA-28002"이라는 Alert Message가 나타나는 것입니다.

추가적으로 변경되지 않은 3개의 Resource에 대해서 설명을 하자면,

PASSWORD_REUSE_TIME : 사용했던 암호를 다시 사용 가능한 기간을 의미합니다.

PASSWORD_REUSE_MAX : 사용했던 암호 기억 횟수를 의미합니다. 사용했던 암호를 재사용하지 못하도록
                                        하기 위함입니다.

PASSWORD_VERIFY_FUNCTION : 암호 복잡성 검사 함수를 사용을 하기 위함입니다.

만약, Profle의 값을 변경하고자 한다면 아래와 같이 간단하게 수정할 수 있습니다.

============================================================================
sys@david11g> alter profile default limit
  2  password_life_time unlimited;

프로파일이 변경되었습니다.

SYS@david11g> select resource_name, limit
  2  from dba_profiles
  3  where profile = 'DEFAULT'
  4  and resource_name = 'PASSWORD_LIFE_TIME'

RESOURCE_NAME                    LIMIT
-------------------------------- ----------------------------------------
PASSWORD_LIFE_TIME               UNLIMITED

============================================================================

:     

TISTORY에 Login하려면 여기를 누르세요.