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 é:
AGRANT CREATE SESSION, CREATE TABLE TO Maria WITH RESTRICTED OPTION;
BGRANT CREATE SESSION, CREATE TABLE TO Maria WITH ADMIN OPTION;
CGRANT PRIVILEGE CREATE SESSION, CREATE TABLE TO Maria WITH GRANT OPTION;
DGRANT ADMIN CREATE SESSION, CREATE TABLE TO Maria;
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.