Pular para o conteúdo principal

Questão de Banco de Dados — Oracle — FCC 2017

Banco de DadosOracle
Código
fc037749
Banca
FCC
Órgão
TRE-PR
Ano
2017
Nível
Superior
Cargo
Analista Judiciário - Análise de Sistemas
Um Database Administrator − DBA Oracle deseja conceder à usuária Maria os privilégios para criar sessão de conexão no banco de dados e criar tabelas, permitindo ainda que ela possa estender seus privilégios para outros usuários. O comando que o DBA deverá utilizar é:
  1. AGRANT CREATE SESSION, CREATE TABLE TO Maria WITH RESTRICTED OPTION;
  2. BGRANT CREATE SESSION, CREATE TABLE TO Maria WITH ADMIN OPTION;
  3. CGRANT PRIVILEGE CREATE SESSION, CREATE TABLE TO Maria WITH GRANT OPTION;
  4. DGRANT ADMIN CREATE SESSION, CREATE TABLE TO Maria;
  5. EGRANT CREATE SESSION, CREATE TABLE TO Maria WITH GRANT OPTION;
Revelar gabarito e comentário

GabaritoB — GRANT CREATE SESSION, CREATE TABLE TO Maria WITH ADMIN OPTION;

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Comando GRANT no Oracle: privilégios de sistema

Gabarito: letra B. Para conceder privilégios de sistema (como CREATE SESSION e CREATE TABLE) e permitir que o usuário conceda esses mesmos privilégios a outros, utiliza-se a cláusula WITH ADMIN OPTION. Já a cláusula WITH GRANT OPTION é usada apenas para privilégios de objeto. A sintaxe correta é GRANT <privilégio> TO <usuário> WITH ADMIN OPTION.

A banca cobra a diferença entre privilégios de sistema e de objeto no Oracle, e a cláusula específica para cada um.

GRANT no Oracle
  • 1Privilégios de sistema
    • Ex.: CREATE SESSION, CREATE TABLE
    • Cláusula: WITH ADMIN OPTION
    • Permite repassar a outros
  • 2Privilégios de objeto
    • Ex.: SELECT, INSERT em tabela
    • Cláusula: WITH GRANT OPTION
    • Permite repassar a outros
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

A cláusula WITH RESTRICTED OPTION não existe no Oracle. O termo correto para privilégios de sistema é WITH ADMIN OPTION.

Alternativa B — ✅ Correta ⟵ GABARITO

A sintaxe GRANT CREATE SESSION, CREATE TABLE TO Maria WITH ADMIN OPTION está correta. O WITH ADMIN OPTION permite que Maria conceda os privilégios de sistema que recebeu a outros usuários.

Alternativa C — ❌ Incorreta

O uso de PRIVILEGE antes da lista de privilégios não é válido (GRANT PRIVILEGE ...). Além disso, WITH GRANT OPTION é usado para privilégios de objeto, não de sistema.

Alternativa D — ❌ Incorreta

A sintaxe GRANT ADMIN ... está errada. O ADMIN não faz parte da cláusula; o correto é WITH ADMIN OPTION.

Alternativa E — ❌ Incorreta

WITH GRANT OPTION é a cláusula usada para privilégios de objeto (como SELECT em uma tabela), não para privilégios de sistema. Para estes, a cláusula correta é WITH ADMIN OPTION.

NÃO CAIA NESSA!

A banca troca WITH ADMIN OPTION (correto para privilégios de sistema) por WITH GRANT OPTION (usado para privilégios de objeto). Cuidado: no Oracle, a regra é clara — ADMIN para privilégios de sistema, GRANT para privilégios de objeto.

Gabarito: letra B.

Link permanente: /questoes/fc037749