2022. 2. 16. 13:43 오라클
PASSWORD_ROLLOVER_TIME
- PASSWORD_ROLLOVER_TIME
원래 21c에 있는 New Features 기능이나 RU 19.12를 적용하면 기존에 PROFILE 외에 PASSWORD_ROLLOVER_TIME이 추가되었다.
이 설정은 패스워드를 변경했을 때에 OLD 패스워드도 일정시간(일) 유효하게 하는 기능이다.
이 기능을 사용하면 데이터베이스 사용자의 암호를 미리 변경할 수 있으므로 클라이언트에서 연결할 수 없는 시간을 없앨 수 있다.
-> 그간 사용중인 오라클 계정이 갑자기 locked 되는 장애 케이스를 보면 Application에서 password 를 hard coding 해서 쓰고 있었을 경우, Oracle 계정에서 신규 password 로 바꾸어도 AP에서 수정 반영하지 않으면 old password 로 계속 접속 시도하게 되어 순식간에 계정이 locked 되는 경우가 있었는데 이러한 장애를 방지할 수 있는 용도로 활용할 수 있을 듯 하다.
select * from dba_profiles order by 1;
PROFILE RESOURCE_NAME RESOURCE LIMIT COM INH IMP
-------------------- ------------------------------ -------- -------------------- --- --- ---
DEFAULT PASSWORD_ROLLOVER_TIME PASSWORD -1 NO NO NO
LIMIT 값이 -1 이 나오는데 얼마를 의미하는지 이건 잘 모르겠다..메뉴얼에도 설명이 없는..
테스트)
1. PASSWORD_ROLLOVER_TIME 변경 (1일로 바꾸었다)
SQL> CREATE PROFILE PROFILE_TEST LIMIT PASSWORD_ROLLOVER_TIME 1;
-> LIMIT 를 1로 바꾸면 86400(초) 로 값이 설정된다.
2. 사용자를 만들고 프로필을 지정한다.
SQL> CREATE USER TEST IDENTIFIED test PROFILE PROFILE_TEST;
SQL> GRANT CREATE SESSION TO test;
SQL> CONNECT TEST/test
2. 사용자 암호를 변경한다.
SQL> ALTER USER TEST IDENTIFIED BY test2;
SQL> CONNECT TEST/test <------ 이전 암호로 접속됨
SQL> DISCONNECT
SQL> CONNECT TEST/test2 <------ 신규 암호로 접속됨
테스트후 다시 원래 대로 -1 의 기본값으로 돌리고 싶다면..
SQL> alter profile default limit PASSWORD_ROLLOVER_TIME 0;