오늘 회사에서 작업하는 도중에
오라클 에러가 발생했다.
ORA-28001 : the password has expired
아주 간단한 문제다.
관련 내용을 찾아보니, 오라클은 계정 생성 시 비밀번호 유효 기간을 지정해두는데
생성 사용자가 지정하지 않으면 Default로 180일로 유효기간(Expired_Date)가 지정된다고 한다.
이 에러는 결국 비밀번호만 변경해주면 간단하게 해결된다.
커맨드 창을 키고 sys계정으로 접속한다
sqlplus sys/success as sysdba;
자신의 계정에 맞게 접속을 해주자.
현재 데이터 베이스의 전체 사용자의 EXPIRY_DATE 확인 방법
select username , account_status , lock_date, expiry_date,created,profile from dba_users ;
조회가 된다 ! 각 필드에 대해 설명을 하자면,
USERNAME : ID
ACCOUNT_STATUS : 계정의 현재 상태를 나타냄
LOCK_DATE : 계정이 잠긴 날짜
EXPIRY_DATE : 계정 유효 날짜
CREATED : 계정 생성 날짜
PROFILE : 사용하는 프로파일 명
여기서 문제가 됬던 것은 EXPIRY_DATE 이다 . 유효 날짜가 다 되었던 것!!!!!!!!!!!!!!!!!!!
패스워드가 만료됬는데도 첫 로그인 시에, 에러를 띄우고 오라클에선 기본적으로 유예기간 7일을 준다.
유예기간까지 끝났는데 로그인을 하면 에러가 발생하고 로그인이 되지가 않는다.
이 경우 비밀번호를 변경을 해주면 EXPIRY_DATE(계정유효날짜) 가 자동으로 변경이 된다
변경된 날짜 + 180 이 EXPIRY_DATE에 들어 갈 것이다.
ALTER USER {USERID} IDENTIFIED BY {PASSWORD};
+ 추가
프로파일 변경
유효기간 180일 유예기간 7일인 기본 설정을 변경할 수 있다.
SELECT * FROM DBA_PROFILES;
FAILED_LOGIN_ATTEMPTS : 로그인 실패 가능 횟수
PASSWORD_LOCK_TIME : 암호가 사용기간 만료되어 계정이 잠겨진 채로 남아 있었던 일수
PASSWORD_LIFE_TIME : 패스워드 만료 기간
PASSWORD_GRACE_TIME : 패스워드 유예 기간
PASSWORD_REUSE_TIME: 이전 패스워드 재사용 가능 기간
PASSWORD_REUSE_MAX : 이전 패스워드 재사용 가능 최대 횟수
PASSWORD_VERIFY_FUNCTION : 패스워드를 할당하기 전 복잡성 검사를 수행할 PL/SQL 함수
프로필 변경
ALTER PROFILE DEFAULT LIMIT
FAILED_LOGIN_ATTEMPTS 5
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_GRACE_TIME 10;
UNLIMITED로 설정도 가능함
끗~~~~~~~~~~~~~포스팅 무지 힘드네
[ORACLE] Sqldeveloper 설치 방법 (0) | 2020.02.12 |
---|---|
[ORACLE] Oracle 11g / 오라클 11g 설치 방법 (2) | 2020.02.10 |
[DATABASE/SQL] WHERE절에 NOT 사용하기 , 특정 값을 제외한 조회 (1) | 2020.02.07 |
[DATABASE>PL/SQL] 프로시저 변수타입 동적설정 (0) | 2020.01.29 |
[ORACLE/SQL]REGEXP_SUBSTR 함수 (2) | 2018.09.07 |
댓글 영역