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; 2 3 4 5 6 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>
Referências:
www.brunors.com

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