Questão de Banco de Dados — Oracle — FGV 2024
- Código
- fg165210
- Banca
- FGV
- Órgão
- TJ AP
- Ano
- 2024
- Cargo
- AJ ( )
- Aabort;
- Bmount;
- Cnomount;
- Dimmediate;
- Etransactional.
GabaritoD — immediate;
Gabarito: letra D — o modo que permite o encerramento da instância após o rollback das transações não confirmadas, sem aguardar a conclusão de todas as transações, é o SHUTDOWN IMMEDIATE. Esse modo impede novas conexões, encerra as sessões ativas, faz o rollback das transações pendentes e então desmonta e fecha o banco de dados.
O comando SHUTDOWN no Oracle possui quatro modos principais: NORMAL, TRANSACTIONAL, IMMEDIATE e ABORT. Cada um define um comportamento distinto em relação às sessões ativas e às transações pendentes. O SHUTDOWN NORMAL aguarda a desconexão voluntária de todos os usuários, o que pode levar um tempo indeterminado. O SHUTDOWN TRANSACTIONAL impede novas transações, mas aguarda a conclusão das transações em andamento. O SHUTDOWN IMMEDIATE não aguarda a conclusão das transações: ele encerra as sessões ativas e realiza o rollback das transações não confirmadas. Já o SHUTDOWN ABORT encerra a instância imediatamente, sem rollback, exigindo recuperação na próxima inicialização.
A questão descreve exatamente o comportamento do SHUTDOWN IMMEDIATE: o administrador não precisa aguardar a conclusão de todas as transações, mas o rollback das transações não submetidas a commit deve ocorrer. Esse é o modo mais utilizado em situações de manutenção ou quando se deseja um desligamento rápido e seguro, pois garante a consistência dos dados sem depender da cooperação dos usuários.
É importante distinguir os modos de shutdown dos estágios de inicialização da instância. Os modos MOUNT e NOMOUNT não são modos de shutdown, mas sim fases de inicialização do banco de dados. No NOMOUNT, a instância é iniciada apenas com a SGA e os processos em background, sem montar o banco de dados. No MOUNT, a instância lê o arquivo de controle e monta o banco de dados, mas ele ainda não está aberto para acesso dos usuários. Esses estágios são usados em operações como criação de banco de dados, recuperação ou manutenção de arquivos.
A pegadinha da questão está em confundir os modos de shutdown com os estágios de inicialização. As alternativas B (mount) e C (nomount) são estágios de inicialização, não modos de shutdown. A alternativa A (abort) é um modo de shutdown, mas não realiza rollback. A alternativa E (transactional) é um modo de shutdown que aguarda a conclusão das transações, o que contraria a condição do enunciado de não precisar aguardar. A alternativa D (immediate) é a única que atende exatamente ao requisito: rollback das transações pendentes sem aguardar a conclusão de todas.
Modo de Shutdown | Aguarda transações em andamento? | Realiza rollback de transações pendentes? | Uso típico |
|---|---|---|---|
NORMAL | Sim (aguarda desconexão voluntária) | Sim | Desligamento planejado, sem urgência |
TRANSACTIONAL | Sim (aguarda conclusão das transações ativas) | Sim | Permitir conclusão de transações correntes |
IMMEDIATE | Não | Sim | Desligamento rápido e seguro, manutenção |
ABORT | Não | Não (exige recuperação na próxima inicialização) | Emergência, banco sem resposta |
O SHUTDOWN ABORT encerra a instância imediatamente, sem realizar o rollback das transações não confirmadas. Ele é usado em situações de emergência, quando o banco não responde ou quando é necessário um desligamento rápido. As transações pendentes são deixadas em estado de recuperação e serão revertidas na próxima inicialização, durante o processo de recuperação automática. Portanto, não atende ao requisito de realizar o rollback antes do shutdown.
MOUNT não é um modo de shutdown, mas sim um estágio de inicialização da instância. Nessa fase, a instância lê o arquivo de controle e monta o banco de dados, mas ele não está aberto para acesso dos usuários. É usado em operações como recuperação de banco de dados, renomeação de arquivos ou manutenção de arquivos de controle. Não há relação com o encerramento da instância.
NOMOUNT também não é um modo de shutdown, mas sim o primeiro estágio de inicialização da instância. Nessa fase, a instância é iniciada apenas com a SGA e os processos em background, sem montar o banco de dados. É usado na criação de um novo banco de dados ou na recriação do arquivo de controle. Não há relação com o encerramento da instância.
O SHUTDOWN IMMEDIATE é o modo que atende exatamente ao requisito do enunciado. Ele impede novas conexões, encerra as sessões ativas, realiza o rollback das transações não confirmadas e então desmonta e fecha o banco de dados. O administrador não precisa aguardar a conclusão de todas as transações, pois o Oracle reverte automaticamente as transações pendentes. Esse é o modo mais comum para desligamentos planejados, pois é rápido e garante a consistência dos dados.
O SHUTDOWN TRANSACTIONAL impede novas transações, mas aguarda a conclusão das transações em andamento antes de encerrar a instância. Isso contraria a condição do enunciado, que afirma que João não precisa aguardar a conclusão de todas as transações. Esse modo é útil quando se deseja permitir que os usuários concluam suas transações atuais, mas não é o caso descrito na questão.
Gabarito: letra D — o modo SHUTDOWN IMMEDIATE realiza o rollback das transações não confirmadas sem aguardar a conclusão de todas as transações, exatamente como descrito no enunciado.
Link permanente: /questoes/fg165210