Database/Oracle
[Oracle]ORA-28000: the account is locked 오류 해결 방법
봉의일상
2025. 2. 24. 19:43
Oracle 데이터베이스에서 ORA-28000: the account is locked 오류가 발생하면, 이는 특정 계정이 잠겨(Locked) 있어 로그인이 불가능한 상태임을 의미합니다. 이 오류는 보안 정책에 의해 비밀번호 입력 실패 횟수가 초과되었거나, 계정이 수동으로 잠긴 경우 등에 발생할 수 있습니다.
1. 현재 계정 상태 확인
먼저, 계정이 잠겨 있는지 확인하려면 DBA 권한이 있는 사용자(SYS 또는 SYSTEM)로 로그인한 후 다음 쿼리를 실행합니다.
SELECT username, account_status FROM dba_users WHERE username = '사용자명';
여기서 ACCOUNT_STATUS가 LOCKED(TIMED) 또는 LOCKED로 표시된다면 계정이 잠긴 상태입니다.
2. 계정 잠금 해제하기
계정을 다시 활성화하려면 아래 명령어를 실행하면 됩니다.
ALTER USER 사용자명 ACCOUNT UNLOCK;
실행 후 다시 SELECT 문으로 계정 상태를 확인하세요.
3. 비밀번호 변경 (필요한 경우)
비밀번호 입력 실패로 인해 계정이 잠긴 경우, 비밀번호 정책에 따라 기존 비밀번호로는 로그인할 수 없을 수도 있습니다. 이 경우 비밀번호를 변경해야 합니다.
ALTER USER 사용자명 IDENTIFIED BY 새비밀번호;
비밀번호 정책을 확인하려면 다음 명령을 실행해보세요.
SELECT * FROM dba_profiles WHERE resource_name = 'FAILED_LOGIN_ATTEMPTS';
이 값이 너무 낮다면 조정이 필요할 수도 있습니다.
4. 비밀번호 입력 실패 허용 횟수 변경 (필요한 경우)
비밀번호 입력 실패 횟수 제한을 변경하려면 아래와 같이 설정할 수 있습니다.
ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS 10;
위 명령은 기본 프로파일의 최대 실패 횟수를 10회로 변경하는 예제입니다.