ORA-28000: The account is locked
Oracle의미
접속하려는 데이터베이스 사용자 계정이 잠겨 있어 로그온에 실패한다.
원인
프로파일의 FAILED_LOGIN_ATTEMPTS 한도 초과(반복된 잘못된 비밀번호), 또는 DBA가 계정을 수동으로 잠금(ALTER USER ... ACCOUNT LOCK). 로그인 실패로 인한 잠금은 PASSWORD_LOCK_TIME 후 자동으로 해제된다. 참고: PASSWORD_LIFE_TIME 만료는 계정을 잠그지 않는다. 계정은 EXPIRED / EXPIRED(GRACE) 상태가 되며 ORA-28001/ORA-28002를 반환한다.
해결 방법
계정 상태를 확인한다: SELECT username, account_status, lock_date FROM dba_users WHERE username = 'APP_USER'. 잠금을 해제한다: ALTER USER app_user ACCOUNT UNLOCK. 재발을 막으려면 로그인 실패의 원인을 찾고, 필요하면 프로파일의 FAILED_LOGIN_ATTEMPTS를 검토한다. 비밀번호가 만료되었다면 새 비밀번호를 지정한다.
같은 데이터베이스의 다른 항목
- ORA-00257Archiver error. Connect internal only, until freed
- ORA-01000Maximum open cursors exceeded
- ORA-00018Maximum number of sessions exceeded
- ORA-01578Oracle data block corrupted (file #, block #)
- ORA-01722Invalid number
- ORA-02049Timeout: distributed transaction waiting for lock
- enq: TX - row lock contention대기: 다른 트랜잭션이 보유한 행 수준 락에 세션이 블로킹됨