Recycle Bin – O Banco de Reservas do Oracle no Jogo de Basquete
Imagine que estamos em um jogo de basquete. O Recycle Bin é como o banco de reservas, onde os jogadores (neste caso, tabelas e objetos) saem de quadra (são excluídos) e vão para o banco, mas podem voltar a qualquer momento. A grande vantagem é que, assim como no basquete, o número de “substituições” é ilimitado. Isso significa que, enquanto o objeto estiver no Recycle Bin, ele ainda ocupa espaço e pode retornar ao “jogo” quando necessário.
Antes de mandar um jogador para o banco, precisamos garantir que o banco de reservas está ativo. Vamos verificar se o Recycle Bin está habilitado no banco de dados para que as exclusões possam ser armazenadas e recuperadas.
SHOW PARAMETER RECYCLEBIN;
O ‘VALUE’ está ‘on’, isto significa que está ativo no meu laboratório.
Assim como o banco de reservas pode ser aberto ou fechado, o Recycle Bin também pode ser habilitado ou desabilitado conforme a necessidade.
Desativando o Banco de Reservas (Recycle Bin):**
ALTER SYSTEM SET RECYCLEBIN = OFF SCOPE=SPFILE;
Ativando o Banco de Reservas (Recycle Bin)
ALTER SYSTEM SET RECYCLEBIN = ON SCOPE=SPFILE;
SHOW PARAMETER RECYCLEBIN;
Após essa configuração, um reinício do banco de dados é necessário para aplicar a mudança.
Agora que confirmamos que o banco de reservas está ativo, vamos “mandar um jogador” para o banco, ou seja, colocar uma tabela no Recycle Bin.
Excluir uma Tabela (Mandar um Jogador para o Banco)
DROP TABLE banco_de_reservas;
Verificar o Banco de Reservas (Visualizar o Recycle Bin)
SELECT * FROM RECYCLEBIN;
Quando a tabela ‘banco_de_reservas’ é excluída, ela é transferida ao banco de reservas com um nome temporário (como ‘BIN$unique_id$version’) para evitar conflitos de nomes.
Nem todos os objetos podem ir para o banco de reservas. Algumas exclusões específicas não são armazenadas no Recycle Bin:
- Objetos de uma tablespace eliminada.
- Objetos de um usuário excluído.
- Tabelas de clusters removidos ou objetos dependentes de um tipo excluído.
Exemplo de Exclusões que Ignoram o Recycle Bin:
DROP TABLESPACE example_tablespace INCLUDING CONTENTS AND DATAFILES;
DROP USER example_user CASCADE;
Assim como no basquete, onde podemos realizar substituições ilimitadas, o Recycle Bin permite que tabelas e objetos excluídos fiquem disponíveis para serem recuperados a qualquer momento. Com essa analogia, fica fácil visualizar o papel do Recycle Bin como uma área de reserva estratégica para objetos importantes. Nos próximos artigos, exploraremos como trazer esses objetos de volta à ativa e como gerenciar o Recycle Bin no Oracle Database de maneira prática.