Em determinada faculdade, para controlar os dados das monitorias prestadas por alunos a seus colegas, foram criadas as tabelas por meio dos scripts SQL a seguir.Se a tabela for eliminada com o comando do SQL, então, para desfazer essa eliminação utilizando o Oracle 21C, o comando a seguir deve ser executado, caso o parâmetro de inicialização esteja definido como
CCerto
EErrado
Revelar gabarito e comentário▾
GabaritoC — Certo
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”.
Recuperação de tabela no Oracle: FLASHBACK TABLE
Gabarito: Certo (C). No Oracle 21c, uma tabela eliminada com DROP TABLE pode ser recuperada com o comando FLASHBACK TABLE ... TO BEFORE DROP, desde que a tabela esteja na lixeira (recycle bin) — o que ocorre quando o parâmetro de inicialização RECYCLEBIN está definido como ON. A questão descreve exatamente esse cenário, e o comando apresentado é o correto para desfazer a eliminação.
O DROP TABLE no Oracle não apaga fisicamente a tabela e seus dados de imediato. Em vez disso, o Oracle move a tabela (e seus índices, gatilhos e outros objetos dependentes) para a recycle bin — um mecanismo de recuperação que permite restaurar objetos eliminados acidentalmente. Esse comportamento é controlado pelo parâmetro de inicialização RECYCLEBIN, que pode ser ON (padrão) ou OFF. Quando ON, o DROP TABLE coloca a tabela na lixeira; quando OFF, a tabela é eliminada de forma definitiva, sem possibilidade de recuperação via FLASHBACK TABLE ... TO BEFORE DROP.
O comando para restaurar a tabela é o FLASHBACK TABLE nome_da_tabela TO BEFORE DROP. Esse comando recupera a tabela da lixeira, restaurando sua estrutura e seus dados. Se houver mais de uma versão da tabela na lixeira (por exemplo, se a tabela foi eliminada e recriada várias vezes), o Oracle permite especificar o nome original ou o nome da lixeira para desambiguar. O comando também pode ser usado com a cláusula RENAME TO para dar um novo nome à tabela recuperada.
Na prática, o fluxo é: (1) a tabela é eliminada com DROP TABLE; (2) com RECYCLEBIN=ON, a tabela vai para a lixeira; (3) o comando FLASHBACK TABLE ... TO BEFORE DROP restaura a tabela com seus dados. Esse é um recurso valioso para recuperação de erros operacionais, evitando a necessidade de restaurar um backup completo do banco.
A pegadinha da banca está em confundir o FLASHBACK TABLE ... TO BEFORE DROP com outros comandos de recuperação, como FLASHBACK QUERY (que consulta versões passadas dos dados) ou FLASHBACK DATABASE (que recupera o banco inteiro). O comando específico para desfazer um DROP TABLE é o TO BEFORE DROP, que depende da lixeira. Guarde essa distinção: é exatamente nela que a questão se decide.
1DROP TABLE
2RECYCLEBIN=ON
3Tabela vai para a lixeira
4FLASHBACK TABLE ... TO BEFORE DROP
5Tabela restaurada com dados
LEVEL · soulevel.com.br
Item — ✅ CERTO
A afirmativa está correta. O comando FLASHBACK TABLE ... TO BEFORE DROP é o mecanismo do Oracle para recuperar uma tabela eliminada com DROP TABLE, desde que o parâmetro RECYCLEBIN esteja ON. A questão descreve esse cenário e o comando apresentado é o correto.
PEGA ESSA DICA!
Para questões de recuperação no Oracle, lembre-se: FLASHBACK TABLE ... TO BEFORE DROP recupera tabelas da lixeira (depende de RECYCLEBIN=ON); FLASHBACK QUERY consulta dados passados; FLASHBACK DATABASE recupera o banco inteiro. Se a questão mencionar DROP TABLE e recuperação, o comando é o TO BEFORE DROP.