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>