Pular para o conteúdo

Gerenciamento de Profiles no ORACLE

Gerenciamento de Profiles no ORACLE

Profiles em Oracle é um conjunto de recursos que podem ser utilizados para o gerenciamento de usuários. Cada recurso definido no profile possui um limite definido e um tipo que o define como sendo um recurso do Núcleo do Sistema Operacional (Kernel) ou um recurso de senha (PASSWORD).

Segue abaixo o exemplo de criação de um profile, contendo alguns recursos que  são relacionados ao Sistema Operacional e outros relacionados à senha do usuário:

SQL> CREATE PROFILE
FUNCIONARIOS
LIMIT
PASSWORD_GRACE_TIME UNLIMITED
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_REUSE_MAX 2
PASSWORD_REUSE_TIME UNLIMITED
PRIVATE_SGA  UNLIMITED
IDLE_TIME        DEFAULT
FAILED_LOGIN_ATTEMPTS 3
PASSWORD_LOCK_TIME UNLIMITED
CPU_PER_SESSION  UNLIMITED
LOGICAL_READS_PER_CALL DEFAULT
LOGICAL_READS_PER_SESSION DEFAULT
CONNECT_TIME DEFAULT;  2    3    4    5    6    7    8    9   10   11   12   13   14   15
Profile created.

Onde os recursos do profile criados que dizem respeito à senha do usuário são:

PASSWORD_LIFE_TIME ;  Tempo de duração da senha.
PASSWORD_GRACE_TIME; Tempo em que a senha ficará expirada após o valor do PASSWORD_LIFE_TIME ultrapassar. Caso seja definido como UNLIMITED, o usuário logará sem nenhum problema. Todavia, caso seja definido um tempo, por exemplo 3 dias, a senha ficará 3 dias locada, depois expirará.
PASSWORD_REUSE_TIME; Tempo em que uma determinada senha já utilizada uma vez, poderá ser utilizada novamente, caso seja escolhida.
PASSWORD_REUSE_MAX; Valor máximo que uma senha já utilizada poderá ser reutilizada.
FAILED_LOGIN_ATTEMPTS; Valor que define o número de tentativas ao qual o usuário poderá errar a senha, antes que a mesma seja locada.
PASSWORD_LOCK_TIME; Tempo que a senha é locada, após o valor do FAILED_LOGIN_ATTEMPTS ser excedido.

No entanto, os recursos que fazem relação do usuário com o Sistema Operacional são:

CPU_PER_SESSION ; Tempo de limite de CPU por sessão;
PRIVATE_SGA; Valor definido para alocação de SGA.
IDLE_TIME; Tempo que a sessão será desconectada pelo Oracle por estar um alto tempo inativa no ambiente.
LOGICAL_READS_PER_CALL; Valor máximo de blocos  lidos , definidos por  chamada.
LOGICAL_READS_PER_SESSION ; Valor máximo de blocos  lidos, definidos  por sessão.
CONNECT_TIME; Tempo definido para a sessão do usuário no ambiente.

Posteriormente, para consultar os valores definidos no profile criado, ou nos profiles já existentes,  poderá se fazer um select na DBA_PROFILES:

FUNCIONARIOS                   CONNECT_TIME                     KERNEL   DEFAULT
FUNCIONARIOS                   CPU_PER_CALL                       KERNEL   DEFAULT
FUNCIONARIOS                   CPU_PER_SESSION                   KERNEL   UNLIMITED
FUNCIONARIOS                   FAILED_LOGIN_ATTEMPTS             PASSWORD 3
FUNCIONARIOS                   IDLE_TIME                         KERNEL   DEFAULT
FUNCIONARIOS                   LOGICAL_READS_PER_CALL           KERNEL   DEFAULT
FUNCIONARIOS                   LOGICAL_READS_PER_SESSION      KERNEL   DEFAULT
FUNCIONARIOS                   PASSWORD_GRACE_TIME              PASSWORD UNLIMITED
FUNCIONARIOS                   PASSWORD_LIFE_TIME                PASSWORD UNLIMITED
FUNCIONARIOS                   PASSWORD_LOCK_TIME                PASSWORD UNLIMITED
FUNCIONARIOS                   PASSWORD_REUSE_MAX               PASSWORD 2
FUNCIONARIOS                   PASSWORD_REUSE_TIME              PASSWORD UNLIMITED
FUNCIONARIOS                   PASSWORD_VERIFY_FUNCTION      PASSWORD DEFAULT
FUNCIONARIOS                   PRIVATE_SGA                        KERNEL   UNLIMITED
FUNCIONARIOS                   SESSIONS_PER_USER                 KERNEL   DEFAULT
16 rows selected.

Para finalizar,  segue abaixo como  criar um usuário à partir do profile criado acima:

SQL> CREATE USER BRUNORS
IDENTIFIED BY MYPASS
DEFAULT TABLESPACE  USERS
TEMPORARY TABLESPACE  TEMP1
QUOTA  UNLIMITED ON USERS
PROFILE FUNCIONARIOS;  

User created.

Posteriomente, com um usuário que tenha o grant de DBA, aplicar os grants (permissões) básicas, para o usuário acima se conectar no banco de dados:

[brunors_oracle@localhost ~]$ sqlplus “/as sysdba”

SQL*Plus: Release 11.2.0.1.0 Production on Fri Jul 6 20:53:26 2012

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

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 – Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options

SQL> grant connect , create session, resource to BRUNORS;
Grant succeeded.

Agora, testando o acesso do usuário criado:

[brunors_oracle@localhost ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Fri Jul 6 21:01:02 2012
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
SQL> connect BRUNORS/MYPASS
Connected.
SQL>
Bruno Reis

Bruno Reis

DBA ORACLE  na International Business Machines (IBM), fornecendo suporte para grandes clientes. Técnico em Informática pela Escola Técnica Polivalente de Americana e estudante de Ciência Computação . Mantenedor do Weblog sobre Banco de Dados Oracle e Gerenciamento de Serviços de TI: www.brunors.com

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Marcações:
plugins premium WordPress