Pular para o conteúdo principal

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

Banco de DadosOracle
Código
fc067315
Banca
FCC
Órgão
TRT - 5ª Região (BA)
Ano
2022
Cargo
Analista Judiciário - Tecnologia da Informação
Para um administrador de banco de dados Oracle atribuir ao usuário analista os privilégios para criar sessões, tabelas e views ele deve utilizar, em condições ideais, a instrução
  1. AGRANT OPERATION(create session, create table, create view) TO analista;
  2. BALLOW create session, create table, create view TO analista;
  3. CGRANT create session, create table, create view TO analista;
  4. DGRANT PERMISSION(create session, create table, create) TO analista;
  5. EDELEGATE TO analista PERMISSION TO create session, create table, create view;
Revelar gabarito e comentário

GabaritoC — GRANT create session, create table, create view TO analista;

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”.

Oracle — Concessão de Privilégios com GRANT

Gabarito: letra C. No Oracle, a concessão de privilégios de sistema (como criar sessão, tabela e visão) é feita com o comando GRANT seguido da lista de privilégios e do usuário/alvo, sem palavras extras como OPERATION, ALLOW, PERMISSION ou DELEGATE. A sintaxe correta é GRANT <privilégios> TO <usuário>;, conforme a documentação do Oracle e o SQL padrão (comando DCL).

A banca testa o conhecimento da sintaxe do comando GRANT para privilégios de sistema. A pegadinha está em inventar termos que não existem ou usar estruturas incorretas.

Alternativa A — ❌ Incorreta

GRANT OPERATION(create session, create table, create view) TO analista; — A palavra OPERATION não faz parte da sintaxe do GRANT. No Oracle, os privilégios são listados diretamente depois de GRANT, sem parênteses ou palavras adicionais.

Alternativa B — ❌ Incorreta

ALLOW create session, create table, create view TO analista; — O comando ALLOW não é um comando SQL para concessão de privilégios. O correto é GRANT.

Alternativa C — ✅ Correta ⟵ GABARITO

GRANT create session, create table, create view TO analista; — Esta é a sintaxe exata exigida: GRANT + privilégios separados por vírgula + TO + usuário. Os privilégios CREATE SESSION, CREATE TABLE e CREATE VIEW são privilégios de sistema no Oracle.

Alternativa D — ❌ Incorreta

GRANT PERMISSION(create session, create table, create) TO analista; — Uso incorreto: PERMISSION não é parte da sintaxe, há parênteses desnecessários e o privilégio create está incompleto (provavelmente deveria ser create view).

Alternativa E — ❌ Incorreta

DELEGATE TO analista PERMISSION TO create session, create table, create view;DELEGATE não é um comando SQL para concessão de privilégios. O comando correto é GRANT.

PEGA ESSA DICA!

Decore a sintaxe do GRANT: GRANT <privilégios> ON <objeto> TO <usuário/role> [WITH GRANT OPTION]; — para privilégios de sistema (como CREATE SESSION), a cláusula ON <objeto> é omitida. Pratique com listas de privilégios comuns: CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE PROCEDURE, etc.

Gabarito: letra C.

Link permanente: /questoes/fc067315