Using PDB Lockdown Profile to disable a database option

Lockdown Profile é um dos recursos que mais gostei na arquitetura Multitenant, que nos permite customizar políticas de segurança para um PDB, como quais features, options os comandos podemos permitir ou não a nível de PDB. Neste artigo mostraremos um exemplo simples de desabilitar a opçao de utilização de uma option dentro do pluggable database.

Criando um lockdown profile dentro do root container:

[oracle@quiasma admin]$ sqlplus / as sysdba
 
SQL*Plus: Release 18.0.0.0.0 - Production on Thu Apr 15 05:45:17 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> CREATE LOCKDOWN PROFILE PROFILE_DO_BRUNO;
 
Lockdown Profile created.
 
SQL> col profile_name format a30
SQL> SELECT PROFILE_NAME FROM DBA_LOCKDOWN_PROFILES;
 
PROFILE_NAME
------------------------------
PRIVATE_DBAAS
PROFILE_DO_BRUNO
PUBLIC_DBAAS
SAAS

Desabilitando a option de partição neste lockdown profile:

SQL> ALTER LOCKDOWN PROFILE PROFILE_DO_BRUNO DISABLE OPTION = ('PARTITIONING');
 
Lockdown Profile altered.
 
SQL> col rule format a25
SQL> col clause format a10
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

Agora podemos vincular o lockdown profile para o PDB que desejamos:

SQL> ALTER SESSION SET CONTAINER=HIPOFISE1;
 
Session altered.
 
SQL> ALTER SYSTEM SET PDB_LOCKDOWN=PROFILE_DO_BRUNO;
 
System altered.

Conectando no PDB em questão e tentando criar uma tabela particionada:

SQL> conn system/oracle@HIPOFISE1
Connected.
SQL> CREATE TABLE BRUNO(RID NUMBER ) PARTITION BY HASH (RID) PARTITIONS 2;
CREATE TABLE BRUNO(RID NUMBER ) PARTITION BY HASH (RID) PARTITIONS 2
*
ERROR at line 1:
ORA-00439: feature not enabled: Partitioning

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.