[Oracle] ORA-28001: 비밀번호가 만기되었습니다. 오류 해결 방법
오라클 데이터베이스를 사용하다 보면 갑자기 "ORA-28001: 비밀번호가 만기 되었습니다"라는 오류 메시지가 발생하는 경우가 있습니다. 이 오류는 사용자 계정의 비밀번호가 만료되어 발생하는 에러입니다. ORA-28001 에러에 대한 해결 방법에 대해서 알아보겠습니다.
ORA-28001 에러 발생 원인
오라클은 보안상의 이유로 기본 180일 주기로 비밀번호를 재설정하도록 설정되어 있습니다. 그래서 180일 이후에 사용자의 비밀번호를 변경하지 않았을 경우 ORA-28001 에러가 발생할 수 있습니다. 그리고 데이터베이스 관리자가 사용자 계정의 비밀번호를 강제로 만료시켰을 경우에도 ORA-28001 에가 발생합니다.
비밀번호 만료된 계정 조회
데이터베이스에 SYS 계정으로 접속합니다. 그리고 아래 쿼리를 이용해 비밀번호가 만료된 계정 정보를 조회합니다.
SELECT USERNAME, EXPIRY_DATE, ACCOUNT_STATUS
FROM DBA_USERS
WHERE ACCOUNT_STATUS = 'EXPIRED';
비밀번호가 만료된 사용자 계정이 조회됩니다.
비밀번호 변경하기
SYS 계정에서 아래 쿼리를 이용해 사용자 계정의 비밀번호를 변경해 줍니다.
ALTER USER TRGUSR IDENTIFIED BY trgusr123;
--ALTER USER "사용자계정" IDENTIFIED BY "새로운 비밀번호";
DBA_USERS 테이블을 다시 조회해 보면 ACCOUNT_STATUS = OPEN으로 변경되었고 EXPIRY_DATE 값도 변경된 걸 확인할 수 있습니다.
비밀번호 만료 기간 변경하기
180일 이후에 다시 비밀번호를 변경하는 게 불편하다면 비밀번호 만료 기간을 변경할 수 있습니다. 아래 쿼리를 이용해 비밀번호 만료 기간을 확인합니다.
SELECT RESOURCE_NAME, LIMIT
FROM DBA_PROFILES
WHERE PROFILE = 'DEFAULT'
AND RESOURCE_NAME = 'PASSWORD_LIFE_TIME';
그리고 아래 쿼리로 비밀번호 만료 기간을 변경하겠습니다.
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
--ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME 365; --365일 주기 변경
그러면 PASSWORD_LIFE_TIME LIMIT 값이 변경된 걸 확인할 수 있습니다. UNLIMITED는 비밀번호 만료 기간을 영구적으로 설정하겠다는 의미입니다. 만료 기간 주기를 365일로 하고 싶으면 365로 입력하면 됩니다.
마치며
오라클 데이터베이스 "ORA-28001: 비밀번호가 만기되었습니다" 오류는 비밀번호 만료로 인해 발생하는 오류이며 비밀번호 재설정, 비밀번호 변경 정책을 변경해서 해결할 수 있습니다. 보안과 편의성 사이에서 적절한 방법을 선택해서 해당 문제를 해결했으면 합니다.
'Database > Oracle' 카테고리의 다른 글
[Oracle] 오라클 21c Express Edition(XE) 데이터베이스 설치하기 (0) | 2025.04.08 |
---|---|
[Oracle] 오라클 Oracle 21c 데이터베이스 완벽 제거하는 방법 (0) | 2024.09.05 |
Oracle 오라클 ORA-01950 테이블스페이스 권한 오류 해결 (0) | 2024.08.29 |
Oracle 오라클 계정 생성 삭제, 테이블 스페이스 생성 삭제, 계정 권한 부여 (0) | 2024.08.28 |
Oracle 오라클 계정 생성 오류 해결 방법 ORA-65096 (2) | 2024.08.28 |
댓글