이 오류는 오라클 11g에서는 기본적으로 120일마다 패스워드를 바꿔야 한다는 정책으로 말미암아
3개월 지나면 기존의 패스워드로는 접속이 안되게 되는 것을 뜻합니다.
10g까지는 이 디폴트 셋팅이 UNLIMITED 였으나 11G에서는 이것이 120일이 디폴트입니다.
>>> 패스워드 기본값 확인 쿼리
SQL> SELECT RESOURCE_NAME, LIMIT FROM DBA_PROFILES WHERE PROFILE='DEFAULT';
RESOURCE_NAME LIMIT
-------------------------------- ----------------------------------------
COMPOSITE_LIMIT UNLIMITED
SESSIONS_PER_USER UNLIMITED
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL UNLIMITED
LOGICAL_READS_PER_SESSION UNLIMITED
LOGICAL_READS_PER_CALL UNLIMITED
IDLE_TIME UNLIMITED
CONNECT_TIME UNLIMITED
PRIVATE_SGA UNLIMITED
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LIFE_TIME UNLIMITED
RESOURCE_NAME LIMIT
-------------------------------- ----------------------------------------
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_VERIFY_FUNCTION NULL
PASSWORD_LOCK_TIME 1
PASSWORD_GRACE_TIME 7
즉 그러니.. 이것을 다시 UNLIMITED로 바꾸는 작업이 필요합니다.
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
물론 관리자로 접속하셔야 합니다.
헌데 이 퀴리를 날려도 해당 유저의 EXPIRY_DATE는 그대로 입니다.
>>> 사용자 패스워드 확인 퀴리
SQL> SELECT USERNAME, ACCOUNT_STATUS, LOCK_DATE, EXPIRY_DATE
2 FROM DBA_USERS
3 WHERE USERNAME = 'GHOST'
4 ORDER BY CREATED;
USERNAME ACCOUNT_STATUS LOCK_DAT EXPIRY_D
------------------------------ -------------------------------- ----------------
GHOST EXPIRED 11/04/10
이럴때는 해당 유저로 다시 접속해서 패스워드를 새로 넣어주시면 됩니다.
SQL> conn ghost
비밀번호 입력:
ERROR:
ORA-28001: the password has expired
ghost에 대한 비밀번호를 변경합니다.
새 비밀번호:
새 비밀번호 다시 입력:
비밀번호가 변경되었습니다.
연결되었습니다.
SQL>
다시 확인해보죠.
SQL> conn system/XXXXX
연결되었습니다.
SQL>
SQL> SELECT USERNAME, ACCOUNT_STATUS, LOCK_DATE, EXPIRY_DATE
2 FROM DBA_USERS
3 WHERE USERNAME = 'GHOST'
4 ORDER BY CREATED;
USERNAME ACCOUNT_STATUS LOCK_DAT EXPIRY_D
------------------------------ -------------------------------- ----------------
GHOST OPEN
'DB' 카테고리의 다른 글
오라클 서브쿼리 SUBQUERY (0) | 2012.07.29 |
---|---|
MSSQL SERVER 2005 설치 (0) | 2012.07.29 |
ORA-00600 에러 (0) | 2012.07.29 |
OUTER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN (0) | 2012.07.29 |
UNION ALL (0) | 2012.07.29 |