오라클 계정이 잠길때 해제방법
증상
the account is locked 오류 발생
원인
Oracle 에서 the account is locked 에러가 나는 원인은
● 잘못된 패스워드로 설정횟수만큼 접속 시도시 Lock.
● 30일동안(Default) 해당 계정으로 로그인을 하지 않았을 경우 Lock.
등이 있다.
해결방법
command창에서
* 로컬일경우,
sqlplus "/as sysdba"
또는
sqlplus /nolog
conn /as sysdba
* 로컬이 아닐 경우,
sqlplus /nolog
conn sys/password@<sid>
이름/패스워드@sid로 입력
로 접속 후
SELECT username, account_status, lock_date
FROM dba_users;
FROM dba_users;
으로 Lock이 된 사용자를 확인한 후
LOCKED<TIMED> 라고 되있으면, 패스워드 설정횟수 입력 오류로, 아래의 Unlock 명령만,
EXPIRED & LOCKED 라고 되있으면, 패스워드 기간만료로, Unlock 후 비밀번호를 지정해줘야 한다.
ALTER USER 사용자명 ACCOUNT UNLOCK;
로 Lock된 사용자를 Unlock시킨다
방금 말했다시피, 다시 Lock된 사용자 확인했는데, Open되지 않고 EXPIRED되어 있다면,
alter user 사용자명 identified by 바꿀패스워드; 로 패스워드를 변경하거나
또는
SQL*PLUS 를 재시작하여 Lock를 해제한 계정(사용자명/패스워드)로 로그인 하면 패스워드 변경 창이 뜬다.
추가로
패스워드 Lock 횟수 확인하는 방법은
SELECT U.USERNAME,P.PROFILE, P.RESOURCE_NAME, P.LIMIT
FROM DBA_USERS U, DBA_PROFILES P WHERE P.PROFILE=U.PROFILE
AND RESOURCE_NAME='FAILED_LOGIN_ATTEMPTS';
로 확인 가능하며, 'LIMIT'에 표시된 숫자가 실패 제한 횟수이다.
이 제한자체를 없애버리고 싶다면
ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;
이렇게 하면 횟수에 상관없이 막 시도해도 사용자가 잠기는 현상은 막을 수 있다.ㅎㅎㅎ
(보안이 중요한 서비스 서버가 아닌 개발서버에서는 사용해도 될듯!ㅎㅎ)
원본
댓글
댓글 쓰기