본문 바로가기
GIS 개발/Oracle

오라클 사용자 잠금 해제 및 비밀번호 특수문자

by 한여름밤의코딩 2017. 6. 14.

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 필수)

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



alter user 유저ID identified by “비밀번호”;

특수문자를 사용하는 비밀번호인 경우 '@'는 사용할 수 없다