Oracle/Oh Oracle

PROFILE 중 PASSWORD_ROLLOVER_TIME 추가됨 ( 19.12 부터 지원 ) 2

darkturtle26 2022. 12. 6. 12:56

 

<< PASSWORD_ROLLOVER_TIME >> 
19.12 부터 지원  19.11 에서는 PROFILE 에 RESOURCE_NAME 에 PASSWORD_ROLLOVER_TIME 자체가 없음 

 

<< PASSWORD_ROLLOVER_TIME 어디까지 써봤니 ? >> 
1. 0 - 사용 하지 않음(Disable)
2. 1/24 - 1시간으로 최소값, 최대값 60일
3. (중요) PASSWORD_GRACE_TIME(유예시간) 과 PASSWORD_LIFE_TIME(사용시간) 중 최소값보다 작다 
        PASSWORD_ROLLOVER_TIME < MIN(PASSWORD_GRACE_TIME(유예시간), PASSWORD_LIFE_TIME(사용시간) )

따라서, PASSWORD_GRACE_TIME 이 최대 값으로 이해하면 된다. 

 

<< PASSWORD_ROLLOVER_TIME 소개 >>

 

2022.04.28 - [Oracle/Oh Oracle ] - PROFILE 중 PASSWORD_ROLLOVER_TIME 추가됨 ( 19.12 부터 지원 )

 

[oracle@oel7 ~]$ sqlplus "/as sysdba"

SQL*Plus: Release 19.0.0.0.0 - Production on Tue Dec 6 09:39:16 2022
Version 19.14.0.0.0

Copyright (c) 1982, 2021, Oracle.  All rights reserved.

st
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.14.0.0.0

SQL> CREATE USER TEST IDENTIFIED BY Q1W2E3R4 ;
User created.

SQL> GRANT CONNECT TO TEST ;
Grant succeeded.


SQL> SET LINESIZE 180
SQL> COL PROFILE FOR A30
SQL> COL RESOUCE_NAME FOR A50
SQL> COL LIMMIT FOR A50
SQL> SELECT P.PROFILE, P.RESOURCE_NAME, P.LIMIT
     FROM   DBA_USERS U, DBA_PROFILES P
     WHERE  U.USERNAME  IN (  'TEST' )
     AND    U.PROFILE = P.PROFILE  
     AND    P.RESOURCE_NAME IN ('PASSWORD_LIFE_TIME','PASSWORD_GRACE_TIME','PASSWORD_ROLLOVER_TIME')
     ORDER BY U.USERNAME, P.RESOURCE_NAME, P.LIMIT ;  

PROFILE                        RESOURCE_NAME                  LIMIT
------------------------------ ------------------------------ --------------------------------------------------------------------------------
DEFAULT                        PASSWORD_GRACE_TIME            7
DEFAULT                        PASSWORD_LIFE_TIME             180
DEFAULT                        PASSWORD_ROLLOVER_TIME         0            <<<< default 값 0 - disable 

SQL> ALTER PROFILE DEFAULT Limit password_rollover_time 1/24 ;

Profile altered.

SQL> SELECT P.PROFILE, P.RESOURCE_NAME, P.LIMIT
     FROM   DBA_USERS U, DBA_PROFILES P
     WHERE  U.USERNAME  IN (  'TEST' )
     AND    U.PROFILE = P.PROFILE
     AND    P.RESOURCE_NAME IN ('PASSWORD_LIFE_TIME','PASSWORD_GRACE_TIME','PASSWORD_ROLLOVER_TIME')
     ORDER BY U.USERNAME, P.RESOURCE_NAME, P.LIMIT ;  

PROFILE                        RESOURCE_NAME                  LIMIT
------------------------------ ------------------------------ --------------------------------------------------------------------------------
DEFAULT                        PASSWORD_GRACE_TIME            7
DEFAULT                        PASSWORD_LIFE_TIME             180
DEFAULT                        PASSWORD_ROLLOVER_TIME         .0416        <<<< 최소 값 1시간 으로 변경 

SQL> alter profile default limit password_rollover_time 5 ;

Profile altered.

SQL> SELECT P.PROFILE, P.RESOURCE_NAME, P.LIMIT
     FROM   DBA_USERS U, DBA_PROFILES P
     WHERE  U.USERNAME  IN (  'TEST' )
     AND    U.PROFILE = P.PROFILE
     AND    P.RESOURCE_NAME IN ('PASSWORD_LIFE_TIME','PASSWORD_GRACE_TIME','PASSWORD_ROLLOVER_TIME')
     ORDER BY U.USERNAME, P.RESOURCE_NAME, P.LIMIT ;  

PROFILE                        RESOURCE_NAME                  LIMIT
------------------------------ ------------------------------ --------------------------------------------------------------------------------
DEFAULT                        PASSWORD_GRACE_TIME            7
DEFAULT                        PASSWORD_LIFE_TIME             180
DEFAULT                        PASSWORD_ROLLOVER_TIME         5            <<<<< 5일로 변경 


SQL> alter profile default limit password_rollover_time 7 ;

Profile altered.

SQL> SELECT P.PROFILE, P.RESOURCE_NAME, P.LIMIT
FROM   DBA_USERS U, DBA_PROFILES P
  2    3  WHERE  U.USERNAME  IN (  'TEST' )
AND    U.PROFILE = P.PROFILE
AND    P.RESOURCE_NAME IN ('PASSWORD_LIFE_TIME','PASSWORD_GRACE_TIME','PASSWORD_ROLLOVER_TIME')
ORDER BY U.USERNAME, P.RESOURCE_NAME, P.LIMIT ;  4    5    6

PROFILE                        RESOURCE_NAME                  LIMIT
------------------------------ ------------------------------ --------------------------------------------------------------------------------
DEFAULT                        PASSWORD_GRACE_TIME            7
DEFAULT                        PASSWORD_LIFE_TIME             180
DEFAULT                        PASSWORD_ROLLOVER_TIME         7

-- PASSWORD_GRACE_TIME(7일) 보다 큰 값으로 PASSWORD_ROLLOVER_TIME 변경 시도 >> 변경 불가 
SQL> alter profile default limit password_rollover_time 7.1 ;
alter profile default limit password_rollover_time 7.1
*
ERROR at line 1:
ORA-02377: invalid profile limit PASSWORD_ROLLOVER_TIME

-- PASSWORD_GRACE_TIME(7일)을 190 일로 변경 
SQL> alter profile default limit PASSWORD_GRACE_TIME 190 ;

Profile altered.

SQL> SELECT P.PROFILE, P.RESOURCE_NAME, P.LIMIT
FROM   DBA_USERS U, DBA_PROFILES P
WHERE  U.USERNAME  IN (  'TEST' )
AND    U.PROFILE = P.PROFILE
AND    P.RESOURCE_NAME IN ('PASSWORD_LIFE_TIME','PASSWORD_GRACE_TIME','PASSWORD_ROLLOVER_TIME')
ORDER BY U.USERNAME, P.RESOURCE_NAME, P.LIMIT ;  2    3    4    5    6

PROFILE                        RESOURCE_NAME                  LIMIT
------------------------------ ------------------------------ --------------------------------------------------------------------------------
DEFAULT                        PASSWORD_GRACE_TIME            190
DEFAULT                        PASSWORD_LIFE_TIME             180
DEFAULT                        PASSWORD_ROLLOVER_TIME         7

-- 이젠 PASSWORD_GRACE_TIME(190일) 보다 작은 7.1 값으로 PASSWORD_ROLLOVER_TIME 변경 시도 >> 변경 가능 
SQL> alter profile default limit password_rollover_time 7.1 ;

Profile altered.

SQL> SELECT P.PROFILE, P.RESOURCE_NAME, P.LIMIT
FROM   DBA_USERS U, DBA_PROFILES P
WHERE  U.USERNAME  IN (  'TEST' )
AND    U.PROFILE = P.PROFILE
AND    P.RESOURCE_NAME IN ('PASSWORD_LIFE_TIME','PASSWORD_GRACE_TIME','PASSWORD_ROLLOVER_TIME')
ORDER BY U.USERNAME, P.RESOURCE_NAME, P.LIMIT ;  

PROFILE                        RESOURCE_NAME                  LIMIT
------------------------------ ------------------------------ --------------------------------------------------------------------------------
DEFAULT                        PASSWORD_GRACE_TIME            190
DEFAULT                        PASSWORD_LIFE_TIME             180
DEFAULT                        PASSWORD_ROLLOVER_TIME         7.1

-- PASSWORD_ROLLOVER_TIME < MIN (PASSWORD_LIFE_TIME,  PASSWORD_GRACE_TIME ) 
-- 7.1                    < MIN (180               , 190                  ) 
SQL>  alter profile default limit password_rollover_time 180.1 ;  -- 180 일보다 큰 값으로 변경 시도 -- 불가 
 alter profile default limit password_rollover_time 180.1
*
ERROR at line 1:
ORA-02377: invalid profile limit PASSWORD_ROLLOVER_TIME