Criando e Gerenciando Usuários, Roles e Privilégios no Oracle Database 12c utilizando o SQL*Plus

Por Alex Zaballa
Postado em Janeiro 2016

Revisado por Marcelo Pivovar - Solution Architect

Este é mais um artigo da série que irei escrever enquanto me preparo para o exame de atualização do OCM para a versão 12c. Estes artigos serão criados antes da prova e serão baseados apenas nos tópicos do exame.

Indice de artigos do tema General Database and Network Administration, and Backup Strategy:

O Oracle Database 12c oferece uma nova opção chamada Oracle Multitenant, que permite a consolidação de forma simplificada.

Neste artigo, iremos verificar como criar e gerenciar usuários, roles e privilégios.

Em um ambiente Multitenant, nós temos 2 tipos de usuários e roles:

  • Common User: É um usuário que está presente em todos os containers. (container root e nos PDBs).
  • Local User: É um usuário que está presente em apenas um PDB específico.
  • Common Role: É uma role que está presente em todos os containers. (container root e nos PDBs).
  • Local Role: É uma role que está presente em apenas um PDB específico.

Criando Common Users

Para criar Common Users, você de estar conectado no container root
e o prefixo deve respeitar o parâmetro de banco “common_user_prefix”.

images

Criando Common Users:

2860015

Por padrão, quando estamos conectados no container root, ele irá utilizar a cláusula CONTAINER=ALL.

2860016

Não é possível utilizar a cláusula CONTAINER=CURRENT quando estamos conectados no root.

2860017

Verificando os usuários criados:

2860018

Criando Local Users

Para criar Local Users, procedemos da mesma forma que era feito até o banco 11G:

28600192860020

Por padrão, quando estamos conectados em um PDB, ele irá utilizar a cláusula CONTAINER=CURRENT.

2860021

Verificando os usuários criados:

2860022

Criando Common Roles

Para criar Common Roles, você de estar conectado no container root e o prefixo deve respeitar o parâmetro de banco “common_user_prefix”.

2860014

Criando Common Roles:

2860023

Por padrão, quando estamos conectados no container root, ele irá utilizar a cláusula CONTAINER=ALL.

2860024

Não é possível utilizar a cláusula CONTAINER=CURRENT quando estamos conectados no root.

2860025

Verificando as roles criadas:

2860026

Criando Local Roles

Para criar Local Roles, procedemos da mesma forma que era feito até o banco 11G:

28600272860028

Por padrão, quando estamos conectados em um PDB, ele irá utilizar a cláusula CONTAINER=CURRENT.

2860029

Verificando as roles criadas:

2860029

Atribuindo Privilégios a Common Users e Common Roles

Atribuindo privilégios a um Common User:

2860031

Atribuindo privilégios a um Common User apenas no container corrente:

2860032

Verificando os privilégios atribuídos:

2860033

A atribuição de privilégios para Roles funciona da mesma forma.

Atribuindo privilégios a uma Common Role em todos containers:

2860034

Atribuindo privilégios a uma Common Role apenas no container corrente:

2860035

Verificando os privilégios atribuídos:

2860036

Atribuindo Privilégios a Local Users e ocal Roles

Atribuindo privilégios a um Local User:

2860037

Verificando os privilégios atribuídos:

2860038

Atribuindo privilégios a um Local Role:

2860039

Verificando os privilégios atribuídos:

2860041

Atribuindo uma Common Role para um Local User:

2860042

Atribuindo uma Local Role para um Common User:

28600432860044

Alex Zaballa, formado em Análise de Sistemas, é especialista em Banco de Dados Oracle com sólidos conhecimentos em Servidores de Aplicação e Sistemas Operacionais; trabalha com Oracle há 15 anos, é Oracle ACE Director, certificado OCM Database 11G/Cloud e conta com mais de 190 outras certificações em produtos da Oracle. Alex também é fundador do Grupo de Usuários Oracle de Angola (GUOA) e membro do time OraWorld.

Este artigo foi revisto pela equipe de produtos Oracle e está em conformidade com as normas e práticas para o uso de produtos Oracle.