DBMS/Oracle

[Oracle] Data Pump Export(expdp) 실행 시 UDE-28000, ORA-28000(Account is Locked) 해결 방법

소소한 늙은 개발자의 메모장 2026. 7. 29. 10:10
반응형

Oracle Data Pump를 활용한 Export시 UDE-28000, ORA-28000 계정 잠김된 경우 해결 법

expdp(Data Pump Export)로 접속하려는 Oracle 계정이 잠금(Account Locked) 상태일 때 발생하는 오류


명령 실행 (예시)

$ORACLE_HOME/bin/expdp system/{비밀번호} full=y ~~~`

오류 내용

Export: Release 11.2.0.4.0 - Production on Wed Jul 29 09:33:33 2026

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

UDE-28000: operation generated ORACLE error 28000
ORA-28000: the account is locked

발생 가능한 원인(예상)

  • 잘못된 비밀번호를 여러 번 입력한 경우
  • PASSWORD_LOCK_TIME 정책에 의해 일정 시간 잠긴 경우
  • DBA가 계정을 수동으로 잠근 경우
  • 비밀번호 만료(PASSWORD EXPIRE) 후 인증에 실패한 경우

해결방법

서버에서 SYSDBA로 접속

sqlplus "/as sysdba"

또는

sqlplus sys/{비밀번호} as sysdba

잠금 확인

SELECT username, account_status, lock_date, expiry_date FROM dba_users WHERE username = 'SYSTEM';

예:

USERNAME ACCOUNT_STATUS
-------- -------------------------
SYSTEM   LOCKED(TIMED)

잠금 해제

ALTER USER system ACCOUNT UNLOCK;

비밀번호 만료시 (필요시)

ALTER USER system IDENTIFIED BY {새비밀번호} ACCOUNT UNLOCK;

잠긴 계정 전체 확인

SELECT username, account_status FROM dba_users WHERE account_status LIKE '%LOCK%';

추가 확인 사항

프로파일(설정) 확인

SELECT profile, resource_name, limit FROM dba_profiles 
    WHERE resource_name IN ('FAILED_LOGIN_ATTEMPTS','PASSWORD_LOCK_TIME');

예: RESOURCE_NAME의 FAILED_LOGIN_ATTEMPTSPASSWORD_LOCK_TIME 설정 확인

계정(SYSTEM, SYS) 상태 확인

SELECT username, account_status, lock_date, expiry_date FROM dba_users
  WHERE username IN ('SYSTEM','SYS');

ORA-28000 오류는 대부분 계정 잠금(Account Locked)으로 인해 발생하며, ACCOUNT_STATUS를 확인한 후 ALTER USER ... ACCOUNT UNLOCK으로 해결할 수 있습니다.
단, 운영 환경에서는 계정이 잠긴 원인을 먼저 확인한 후 잠금 해제를 수행하는 것을 권장합니다.


 

ACCOUNT_STATUS 의미
OPEN 정상 사용 가능
LOCKED 수동 잠금
LOCKED(TIMED) 로그인 실패로 인한 일시 잠금
EXPIRED 비밀번호 만료
EXPIRED & LOCKED 비밀번호가 만료된 상태에서 계정도 잠김
EXPIRED(GRACE) 비밀번호 변경 유예 기간
반응형