Questão nº 73
Questão de Tecnologia da Informação · FCC TCE-GO 2022 (nº 73)
Em um banco de dados Oracle aberto e em condições ideais há um conjunto de triggers que não são mais necessários e o administrador do banco de dado deseja atribuir ao usuário analista o privilégio para que ele possa eliminar triggers em qualquer esquema. Para atribuir tal privilégio, o administrador deve utilizar a instrução
- AGRANT DELETE ALL TRIGGER TO analista.
- BGRANT DELETE ANY TRIGGER TO USER analista.
- CGRANT DROP ALL TRIGGER FOR analista.
- DGRANT KILL ANY TRIGGER TO ROLE analista.
- EGRANT DROP ANY TRIGGER TO analista. (alternativa correta)
Resposta comentada
Gabarito Alternativa E
Para permitir que um usuário execute uma ação em objetos de qualquer outro usuário (ou esquema) no Oracle, é necessário conceder um privilégio de sistema. Esses privilégios geralmente seguem o padrão AÇÃO ANY TIPO_DE_OBJETO.
- (A) Incorreta:
DELETEé para remover dados de tabelas, não para eliminar (dropar) objetos como triggers.ALL TRIGGERnão é uma sintaxe de privilégio válida. - (B) Incorreta: Novamente,
DELETEé para dados. A palavra-chaveUSERnão é usada dessa forma na cláusulaTOpara conceder privilégios a um usuário específico. - (C) Incorreta: Embora
DROPseja a ação correta para eliminar objetos,ALL TRIGGERnão é uma sintaxe de privilégio válida. O correto seriaANY TRIGGER. Além disso,FORnão é usado para especificar o beneficiário; o correto éTO. - (D) Incorreta:
KILLnão é um comando SQL válido no Oracle para gerenciar triggers. É um termo que pode ser associado a sessões ou processos em outros contextos, mas não para eliminar triggers. - (E) Correta: Esta é a sintaxe padrão para conceder o privilégio de sistema que permite a um usuário (
analista) eliminar (DROP) triggers em qualquer esquema (ANY TRIGGER) no banco de dados Oracle.
Fonte: FCC TCE-GO 2022 Analista de Controle Externo - Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.