In Oracle 12.2 Release We can use the INACTIVE_ACCOUNT_TIME resource parameter in profile to automatically lock the account of a database user who has not logged in to the database instance in a specified number of days.

1. By default, it is set to UNLIMITED.
2. The minimum setting is 15 and the maximum is 24855.

col RESOURCE_NAME for a43
col limit for a23
set lines 299
SQL> select RESOURCE_NAME,limit from dba_profiles where profile='DEFAULT';

RESOURCE_NAME                               LIMIT
------------------------------------------- -----------------------
COMPOSITE_LIMIT                             UNLIMITED
SESSIONS_PER_USER                           UNLIMITED
CPU_PER_SESSION                             UNLIMITED
CPU_PER_CALL                                UNLIMITED
LOGICAL_READS_PER_SESSION                   UNLIMITED
LOGICAL_READS_PER_CALL                      UNLIMITED
IDLE_TIME                                   UNLIMITED
CONNECT_TIME                                UNLIMITED
PRIVATE_SGA                                 UNLIMITED
FAILED_LOGIN_ATTEMPTS                       10
PASSWORD_LIFE_TIME                          180
PASSWORD_REUSE_TIME                         UNLIMITED
PASSWORD_REUSE_MAX                          UNLIMITED
PASSWORD_VERIFY_FUNCTION                    NULL
PASSWORD_LOCK_TIME                          1
PASSWORD_GRACE_TIME                         7
INACTIVE_ACCOUNT_TIME                       UNLIMITED ----------- > This is the resource_name introduced in oracle 12.2.

17 rows selected.

To make an account lock automatically after 30 days of inactivity, Create a profile by setting INACTIVE_ACCOUNT_TIME to 30 and Set the profile to that user.

   CREATE PROFILE "END_PROFILE4"
    LIMIT
         COMPOSITE_LIMIT UNLIMITED
         SESSIONS_PER_USER UNLIMITED
         CPU_PER_SESSION UNLIMITED
         CPU_PER_CALL UNLIMITED
         LOGICAL_READS_PER_SESSION UNLIMITED
         LOGICAL_READS_PER_CALL UNLIMITED
         IDLE_TIME UNLIMITED
         CONNECT_TIME UNLIMITED
         PRIVATE_SGA UNLIMITED
         FAILED_LOGIN_ATTEMPTS 10
         PASSWORD_LIFE_TIME 15552000/86400
         PASSWORD_REUSE_TIME UNLIMITED
         PASSWORD_REUSE_MAX UNLIMITED
         PASSWORD_VERIFY_FUNCTION NULL
         PASSWORD_LOCK_TIME 86400/86400
         PASSWORD_GRACE_TIME 604800/86400
         INACTIVE_ACCOUNT_TIME 30;

SQL>  select RESOURCE_NAME,limit from dba_profiles where profile='END_PROFILE' and resource_name='INACTIVE_ACCOUNT_TIME';

RESOURCE_NAME                               LIMIT
------------------------------------------- -----------------------
INACTIVE_ACCOUNT_TIME                       30

SQL> CREATE USER testuser identified by testuser profile END_PROFILE;

User created.
		 

If you try to give a value less than 15, it will throw error like - ORA-02377: invalid profile limit INACTIVE_ACCOUNT_TIME

   CREATE PROFILE "END_PROFILE5"
    LIMIT
         COMPOSITE_LIMIT UNLIMITED
         SESSIONS_PER_USER UNLIMITED
         CPU_PER_SESSION UNLIMITED
         CPU_PER_CALL UNLIMITED
         LOGICAL_READS_PER_SESSION UNLIMITED
         LOGICAL_READS_PER_CALL UNLIMITED
         IDLE_TIME UNLIMITED
         CONNECT_TIME UNLIMITED
         PRIVATE_SGA UNLIMITED
         FAILED_LOGIN_ATTEMPTS 10
         PASSWORD_LIFE_TIME 15552000/86400
         PASSWORD_REUSE_TIME UNLIMITED
         PASSWORD_REUSE_MAX UNLIMITED
         PASSWORD_VERIFY_FUNCTION NULL
         PASSWORD_LOCK_TIME 86400/86400
         PASSWORD_GRACE_TIME 604800/86400
         INACTIVE_ACCOUNT_TIME 10;

   CREATE PROFILE "END_PROFILE5"
*
ERROR at line 1:
ORA-02377: invalid profile limit INACTIVE_ACCOUNT_TIME

oracle 12.2.profilesecurity ORACLE 12CORACLE SECURITY


Related Topics

Open wallet automatically after starting the database
How to move AUD$ table to another tablespace using DBMS_AUDIT_MGMT
Lock account automatically with INACTIVE_ACCOUNT_TIME
how to send mail using utl_mail in oracle 11g
how to use DBMS_PRIVILEGE_CAPTURE to capture privs in oracle 12c
PDB Lockdown Profiles in Oracle 12.2
orapwd tool for password file in oracle
Purge AUD$ table using DBMS_AUDIT_MGMT
Unified audit trail in Oracle 12c
ENABLE_DDL_LOGGING in oracle 12c

You May Also Like

How to find execution history of an sql_id
How to run expdp in pluggable database(PDB)
Steps for upgrading oracle database to 19c using DBUA
How to generate AWR report in RAC
COLS & COLSEXCEPT FILTER in goldengate
Oracle database Security Assessment Tool
How to install postgres database on mac os/linux
Find the active transactions in oracle database
How to recreate MGMT database in ORACLE 12C GRID
How to use expdp to export data from physical standby database

From This Website

Install oracle enterprise manager cloud control 12c
Ansible script to run script on remote server and fetch the output
How to get tablespace quota details of an user in oracle
how to send mail using utl_mail in oracle 11g
ORA-02304: invalid object identifier literal while import with CREATE TYPE OID
COMPRESSION in datapump oracle
Upgrade grid infrastructure to 19C oracle
How to disable enable log shipping in standby using dgmgrl
How to recreate MGMT database in ORACLE 12C GRID
Shell script to monitor lag in standby datbase using dgmgrl