상세 컨텐츠

본문 제목

사용자 계정 잠금해제

DataBase/Oracle

by 탑~! 2014. 7. 1. 20:21

본문

Oracle DB를 사용하던중에 암호가 생각이 안나서 이것저것 입력하다가 해당 사용자 계정이 잠겼을때....난감합니다...

 

ORA-28000 : the account is locked    --> 요런 메세지가 나오거나, 사용자가 잠겼다는 메세지가 나옴....


오류는 사용자 계정이 Lock걸려 접근 할 수 없을때 나오는 코드.


해결 방법

저 사용자 계정과 상태 값을 확인


/as sysdba

혹은 system 계정으로 로그인 후


SELECT username, account_status, lock_date FROM dba_users;


유저 계정별 상태값이 나옴.

이상없는 유저의 상태값은 OPEN으로 잠긴 유저는 EXPIRED & LOCKED 로 나온다.


해제 방법

ALTER USER scott ACCOUNT UNLOCK;

(반대로 alter user scott account lock; 을 하면 해당 사용자를 그냥 콱 잠궈버릴수도 있음!!!)

 

그러면 로그인을 몇번을 실패하면 Lock이 걸릴까요?

이때는 아래의 SQL문으로 확인 할 수 있음.

 

SELECT p.PROFILE, p.Resource_name, p.LIMIT

FROM dba_users u, dba_profiles p

WHERE p.PROFILE = u.PROFILE

AND   p.Resource_name = 'FAILED_LOGIN_ATTEMPTS'

AND   UserName = '[유저ID]';


'LIMIT'에 표시된 숫자가 실패 제한 횟수이다.


이 제한 자체를 없에버릴려면?


ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;


이렇게 하면 횟수에 상관없이 막 시도해도 사용자가 잠기는 현상은 막을 수 있음...

 

그런데...사용자 잠금만 해제하면 되나?? 암호를 모르는데... 이럴때는

alter user scott identified by "#스코트777@@";    (암호에 특수 문자 입력시 Double Quotation Mark 필수)

 

요렇게 하면...사용자 잠금현상에 대해서는 끝~!!!!!



출처 : http://blog.daum.net/oracle80/125

관련글 더보기