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;




 

1.USER 패스워드 분실  

오라클 사용자 비밀번호를 잊어버려서 접속이 안 되는 경우 어떻게 해야 할까요

(windows10 환경)

 


 

2.USER 패스워드 변경


이런 경우 SYS 계정에 접속해서 USER의 패스워드를 변경해주시면 됩니다.



사용자 패스워드 변경방법은 아래와 같아요!





 ALTER USER 사용자명 IDENTIFIED BY 패스워드





SYS 계정의 패스워드도 잊어버렸다면 어떡할까?

명령 프롬프트에서 패스워드 입력 없이 접속이 가능합니다. (실습환경에서)

첫번째는 sqlplus 접속과 동시에 sys계정으로 들어가는 방법입니다. 




 sqlplus “/as sysdba"




 



두번째 방법으로는, SQL Plus에 로그인 없이 접속하여 SYS로 연결하는 방법도 있습니다.



 

 sqlplus /nolog  


 conn /as sysdba







접속했다면 아래와 같이 SYS계정의 패스워드도 변경하시고 



 ALTER USER sys IDENTIFIED BY 패스워드 ;


 ALTER USER system IDENTIFIED BY 패스워드;

 


원래 접속하려고 했던 USER의 패스워드까지 변경해주신다면 끝!


*참고로 데이터베이스에 USER의 목록을 확인하고 싶다면



 SELECT username FROM DBA_USERS; (DBA권한)


 SELECT username FROM ALL_USERS; (USER권한)



위의 SELECT 문으로 확인하실 수 있습니다.

 



+ Recent posts

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