오류에 대한 해결책: ORA-28001: 암호가 만료되었습니다

배경

JAVA 프로그램에서 오류가 발생했습니다. ” java.sql.SQLException: ORA-28001: 암호가 만료되었습니다 ” 프로그램이 실행 중일 때.

이 오류는 특정 계정의 만료 된 암호로 인해 발생합니다.. 따라서 오라클 시스템은 보안상의 이유로 계정을 잠갔습니다..

추측을 검증하려면. 다음 명령을 실행했습니다.

SQL>고르다 * dba_profiles에서 profile =’DEFAULT’ 및 resource_name =’PASSWORD_LIFE_TIME’;
PROFILE RESOURCE_NAME 리소스 제한 DEFAULT PASSWORD_LIFE_TIME PASSWORD 180

암호의 제한 시간은 확실히 180 이 계정의 시간 제한을 취소하기로 결정했습니다.. 그러나 취소 작업을 수행하기 전에,프로그램에서 Oracle 데이터베이스를 연결하는 데 사용되는 계정을 알아야하므로 jdbc 및 odm 파일을 확인했습니다..

이 문제에 대한 세 가지 해결책

1.계정 A 잠금 해제

계정이 A이고 암호가 123. 다음 명령을 실행하십시오..

SQL> 사용자 A 변경 123 계정 잠금 해제;
사용자 변경.

2.계정 A의 비밀번호 재설정

SQL>사용자 A 변경 1234;
SQL>사용자 A 변경 123;

3.마지막 방법은 유효 시간을 무제한으로 수정하는 것입니다.

이 작업 후에 데이터베이스 서비스를 다시 시작할 필요가 없습니다.;

(1).dba_users 테이블의 프로파일 필드 값 확인, 일반적으로,이 사용자의 프로필은 “기본”


사용자 이름 선택,dba_users의 프로필;

(2).프로필의 PASSWORD_LIFE_TIME 확인,예를 들면 “기본”.


고르다 * dba_profiles WHERE s.profile =’DEFAULT에서’ AND resource_name =’PASSWORD_LIFE_TIME’;

(3).값 수정 “PASSWORD_LIFE_TIME” 무제한.

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

관련 오류가 없습니다. “ORA-28001: 암호가 만료되었습니다” 이 계정을 잠금 해제 한 후. 그래서이 문제는 해결되었습니다.

답장을 남겨주세요