1. ORA-28000 에러

: the account is locked

SCOTT 계정으로 접속해서 EMP테이블로 실습을 하려고하는데

다음과 같은 오라클 에러가 나왔어요... ㅠ 

계정이 잠겨있다는 말인데 계정의 잠김 여부는 어디서 확인할 수 있고 어떻게 풀 수 있는지 확인해보겠습니다!

 

 


 

2. 해결

USER의 잠김 상태확인

SYS계정으로 접속해서 DBA권한으로 유저들을 확인해보면 잠겨있는지 여부를 확인할 수 있어요.


 

 SELECT username, account_status, lock_date 

 FROM DBA_USERS;





수많은 USER들이 나오기 때문에 조건문에 SCOTT을 추가하여 검색해보겠습니다. 






 SELECT username, account_status, lock_date 

 FROM DBA_USERS 

 WHERE username like 'SCOTT';



 


SCOTT의 ACCOUNT_STATUS를 보니 패스워드 기한만료와 계정 잠금상태였네요.

 

여기서 잠깐 ACCOUNT_STATUS 상태를 정리하자면 아래와 같아요.


 

 OPEN : 정상

 EXPIRED : 계정의 패스워드가 파기된 상태

 LOCKED : 계정이 잠긴 상태

 EXPIRED & LOCKED : 패스워드가 파기되었고 계정이 잠긴 상태



 

USER의 잠금해제

계정의 잠그거나 해제하는 방법은 아래와 같습니다.


 

 ALTER USER 사용자명 ACCOUNT [UNLOCK | LOCK];




위와 같은 방법으로 SCOTT 계정의 잠금 상태를 해제해보겠습니다.



 

 ALTER USER scott ACCOUNT UNLOCK;




USER의 패스워드 재생성

잠금은 풀렸으나 아직 패스워드가 파기된 상태입니다.

파기된 패스워드는 다시 재생성 해주어야 합니다.

패스워드 재생성은 이전에 올린 게시글 (클릭)을 참조하시면 될 것같아요




 ALTER USER scott IDENTIFIED BY oracle;




패스워드를 재생성 해주니 드디어 계정이 'OPEN' 상태가 되었네요.



OPEN된 계정으로 접속한 결과입니다. 

예상대로 잘 접속됩니다! :-) 



패스워드를 생성하는 것과 반대로 패스워드를 파기할 수도 있습니다.

구문은 아래와 같습니다.


 

 ALTER USER 사용자명 PASSWORD EXPIRE;




 

+ Recent posts

"여기"를 클릭하면 광고 제거.