상세 컨텐츠

본문 제목

ORA - 28001 DB계정 비밀번호 변경

PROGRAMMING/DATABASE

by 니콜 키크드만 2018. 7. 5. 16:13

본문

오늘 회사에서 작업하는 도중에

오라클 에러가 발생했다.



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로 설정도 가능함



끗~~~~~~~~~~~~~포스팅 무지 힘드네


반응형

관련글 더보기

댓글 영역