Академический Документы
Профессиональный Документы
Культура Документы
Resumo: Este artigo apresenta como criar, modificar e excluir usurios, privilgios, atribuies e
perfis em instncias de banco de dados Oracle 11g. A definio de cada item feito com base na
1. INTRODUO
Para realizarmos qualquer ao em um servidor de banco de dados necessrio ter um usurio com
determinados privilgios de acesso ao servidor. No banco de dados Oracle 11g existem diferentes
privilgios que podem ser concedidos aos usurios, e gerenciar os privilgios individualmente pode
se tornar uma tarefa extremamente cansativa. Para facilitar essa tarefa de gerenciamento,
Geralmente temos vrios usurios conectados ao banco de dados e executando aes concorrentes e
simultneas. Para evitar que um usurio especfico consuma em excesso os recursos disponveis
(CPU, E/S, memria), o que prejudicaria os demais usurios, o banco de dados Oracle 11g fornece
1
Especialista em Banco de Dados e Business Inteligence (juvvenna@gmail.com).
2
DBA, Mestre em informtica e Professor do Centro Universitrio Newton Paiva (iremar.prof@uol.com.br).
2
um mecanismo, chamado de perfil, para controlar o limite desses recursos que o usurio pode
utilizar.
Este artigo discute as funcionalidades para criar usurios, controlar perfis, conceder privilgios e
estabelecer atribuies no SGBD Oracle 11g. Para entendimento deste artigo necessrio
2. USURIOS
Uma conta de usurio identificada por um nome (de no mximo trinta caracteres) e est associado
a somente um esquema, com o mesmo nome do usurio, no banco de dados. Os termos usurio e
esquema podem ser usados alternadamente em um ambiente Oracle, mas nem sempre querem
dizer a mesma coisa. Um usurio o nome utilizado para estabelecer uma conexo com o banco de
O comando utilizado para criar um usurio o CREATE USER. Esse comando possui somente dois
parmetros obrigatrios: o nome e a senha do usurio. No entanto, boa prtica definir vrios
outros parmetros para a conta do usurio (WATSON, 2010). Abaixo, conforme apresentando por
BRYLA & LONEY (2009), os principais parmetros utilizados quando um usurio criado.
Parmetros Uso
Nome do usurio Especifica o nome que identifica a conta do usurio. Ele pode ter
at 30 caracteres e no pode ser uma palavra reservada a menos
que ela esteja entre aspas (o que no recomendado).
Parmetros Uso
QUOTA Especifica a quantidade de espao, ou tamanho, permitido para
os objetos criados no tablespace especificado. O tamanho pode
ser em kilobytes(K) ou em megabytes(M).
PASSWORD EXPIRE Especifica que aps o primeiro logon, o usurio deve alterar a
senha.
3. PERFIS
Um processo de usurio pode consumir, em excesso, recursos como CPU, espao em disco ou
largura de banda de E/S (Entrada / Sada). Como esses recursos geralmente so limitados, o Oracle
11g possui um mecanismo para limitar e controlar a quantidade desses recursos que os processos do
usurio podem consumir. Alm disso, os perfis tambm podem ser usados como um mecanismo de
autorizao para controlar como as senhas de usurios so criadas, reutilizadas e validadas (BRYLA
Um perfil tem dupla funo: impor uma poltica para a senha da conta de usurio (limites para as
senhas) e restringir os recursos que uma sesso pode ocupar (limites para os recursos). No banco de
dados Oracle 11g os limites para as senhas so sempre obrigatrios; e os limites para os recursos s
ele FALSE). Todas as contas de usurios tm um perfil, por padro, chamado de DEFAULT. O
perfil DEFAULT pode ser ajustado, e a alterao ser imediatamente aplicada a todos os usurios
com o perfil. Perfis adicionais podem ser criados e atribudos explicitamente a certos usurios
Segundo WATSON (2010), os limites que podem ser aplicados a poltica de senha so:
Parmetros Uso
PASSWORD_REUSE_TIME Especifica o nmero de dias antes que uma senha possa ser
reutilizada.
Segundo WATSON (2010), os limites que podem ser aplicados ao uso dos recursos (tambm
Parmetros Uso
LOGICAL_READS_PER_SESSION Especifica o nmero de blocos que podem ser lidos por uma
sesso (independentemente de eles estarem no cache de buffer
do banco de dados ou lidos no disco) antes que a sesso seja
foradamente terminada.
LOGICAL_READS_PER_CALL Especifica o nmero de blocos que podem ser lidos por uma
nica instruo SQL (independentemente de eles estarem no
cache de buffer do banco de dados ou lidos no disco) antes que a
instruo seja foradamente terminada.
Parmetros Uso
dos recursos e pela disponibilidade de cada recurso no servidor.
estiver como TRUE. Por padro, esse parmetro definido com FALSE. Uma das maneiras para
RESOURCE_LIMIT=TRUE;
Segundo BRYLA & LONEY (2009), nos limites aplicados ao uso dos recursos existem dois tipos
de valores especiais que podem ser aplicados aos seus parmetros: UNLIMITED e DEFAULT. O
valor de parmetro UNLIMITED significa que no h limites sobre quanto do recurso determinado
pode ser utilizado, j o valor de parmetro DEFAULT significa que este parmetro assume seus
Ainda conforme BRYLA & LONEY (2009), a maneira como o banco de dados Oracle 11g trata um
dos limites de recursos que est sendo excedido, depende do tipo deste. Mas na maioria dos casos, a
sesso ser foradamente terminada quando o limite para um recurso determinado for excedido. Por
exemplo, caso haja uma transao em andamento quando uma sesso for terminada porque o limite
de um recurso foi alcanado, ela sofrer rollback. Se uma instruo for terminada, o trabalho feito
por ela sofrer um rollback, mas todas as instrues anteriores permanecero intactas.
PASSWORD_GRACE_TIME 7
PASSWORD_REUSE_MAX UNLIMITED
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LOCK_TIME 1;
4. PRIVILGIOS
Segundo WATSON (2010), em um banco de dados Oracle 11g no possvel fazer nada sem o(s)
privilgio(s) correto(s). Um usurio no pode sequer conectar-se sem ter o privilgio para tal e, uma
vez que conectado, ele no pode fazer mais nada de til (ou perigoso) sem receber mais privilgios.
comando REVOKE. Na maioria das vezes que o usurio no possui privilgio para executar uma
ao, o banco de dados Oracle 11g emite uma mensagem de advertncia semelhante a esta: ORA-
Ainda segundo WATSON (2010), podemos dividir os privilgios em dois grupos: privilgios de
sistemas e privilgios de objeto. O primeiro grupo permite que os usurios executem aes que
afetam o dicionrio de dados, j o segundo grupo permite aos usurios executar aes que afetam os
dados.
Outra definio que podemos usar dada por BRYLA & LONEY (2009): eles nos dizem que um
privilgio de sistema um direito para executar aes, que no envolvam nenhum objeto especfico,
mas sim procedimentos tais como alterar os parmetros da instncia, criar atribuies e criar
A relao completa desses privilgios pode ser encontrada na tabela do dicionrio de dados
LONEY (2009) como um direito que permite executar comandos como ALTER, SELECT,
8
banco de dados.
Os privilgios de sistema podem ser concedidos para um usurio, atribuio (ser discutido mais
adiante) ou para o grupo PUBLIC. Um fator importante ressaltado tanto por BRYLA & LONEY
(2009), como por WATSON (2010), que os privilgios de sistema ou de objeto devem ser
concedidos para o grupo PUBLIC somente quando for realmente necessrio. PUBLIC um grupo
especial que inclui todos os usurios do banco de dados e um atalho para conceder privilgios
Quando estamos concedendo um privilgio, podemos permitir que os beneficiados pelos privilgios
concedam estes mesmos a outros usurios, para isso basta incluir o parmetro WITH ADMIN
OPTION ao final do comando GRANT. A seguir temos a descrio de alguns privilgios de sistema
Privilgio Capacidade
Assim como nos privilgios de sistema, podemos conceder privilgios de objeto a um usurio,
atribuio ou para o grupo PUBLIC. E tambm podemos usar o parmetro WITH ADMIN
OPTION para permitir que os beneficiados repassem os mesmo privilgios a outros usurios. A
seguir temos a descrio de alguns privilgios de objeto (BRYLA & LONEY, 2009):
Privilgio Capacidade
5. ATRIBUIES
No contexto do banco de dados Oracle 11g, uma atribuio (role em ingls) conjunto de
privilgios de sistema e/ou privilgios de objeto que podem ser concedidos e revogados com uma
Tambm podemos dizer que uma atribuio um grupo nomeado de privilgios, sejam eles de
sistema ou de objeto, ou uma combinao de ambos, que facilita a administrao dos privilgios em
10
individualmente para cada usurio, possvel conceder um grupo de privilgios a uma atribuio e,
por sua vez, a atribuio pode ser concedida aos usurios (BRYLA & LONEY, 2009).
nenhum usurio especfico. Uma vez que a atribuio esteja criada, podemos conceder todos os
6. CONCLUSO
Um banco de dados Oracle 11g fornece excelentes mecanismos para o gerenciamento da segurana
de fcil utilizao, permitindo conceder aos usurios os direitos necessrios para a execuo das
tarefas.
11
REFERNCIAS
BRYLA, Bob; LONEY, Kevin. Oracle Database 11g: Manual do DBA. Traduo Altair Caldas
Dias de Moraes. Porto Alegre. Ed. Bookman. 2009.
WATSON, John. OCA Oracle Database 11g: Administrao I: guia do exame 1Z0-052.
Traduo Altair Caldas Dias de Moraes. Porto Alegre. Ed. Bookman. 2010.