Using PDB Lockdown Profile to control values in SQL Statement

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.

Leave a Comment

Your email address will not be published.