Esse recurso de criar a regra do Lockdown com um range de valores possíveis é muito legal. Vamos observar o meu Lockdown Profile atual e quais as regras que o mesmo possui:
[oracle@quiasma ~]$ sqlplus / as sysdba
SQL*Plus: Release 18.0.0.0.0 - Production on Fri Apr 16 04:15:19 2021
Version 18.13.0.0.0
Copyright (c) 1982, 2018, Oracle. All rights reserved.
Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.13.0.0.0
SQL> set lin 200
SQL> col profile_name format a30
SQL> col rule format a25
SQL> col clause format a20
SQL> SELECT PROFILE_NAME, RULE, CLAUSE, STATUS FROM DBA_LOCKDOWN_PROFILES WHERE PROFILE_NAME='PROFILE_DO_BRUNO';
PROFILE_NAME RULE CLAUSE STATUS
------------------------------ ------------------------- -------------------- -------
PROFILE_DO_BRUNO PARTITIONING DISABLE
PROFILE_DO_BRUNO ALTER SYSTEM DISABLE
PROFILE_DO_BRUNO ALTER SYSTEM KILL SESSION ENABLE
Criando uma nova regra, incluindo os valores mínimos e máximos do parâmetro cpu_count:
SQL> ALTER LOCKDOWN PROFILE PROFILE_DO_BRUNO DISABLE STATEMENT= ('ALTER SYSTEM') CLAUSE = ('SET') OPTION = ('CPU_COUNT') MINVALUE='1' MAXVALUE='3';
Lockdown Profile altered.
Conectando no PDB que possui o Lockdown Profile associado:
SQL> ALTER SESSION SET CONTAINER=HIPOFISE1;
Session altered.
SQL> SHO PARAMETER CPU_COUNT;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cpu_count integer 1
Alterando valor do parâmetro dentro do range permitido:
SQL> ALTER SYSTEM SET CPU_COUNT=3;
System altered.
SQL> SHO PARAMETER CPU_COUNT;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cpu_count integer 3
Alterando parâmetro com valor que excede o permitido:
SQL> ALTER SYSTEM SET CPU_COUNT=4;
ALTER SYSTEM SET CPU_COUNT=4
*
ERROR at line 1:
ORA-01031: insufficient privileges
Obs: Este procedimento foi criado pelo senhor Ahmed Baraka (www.ahmedbaraka.com) e foi apenas reproduzido por mim em um laboratório pessoal para fins de aprendizado.