Parâmetro TEMP_UNDO_ENABLED: New feature Oracle
Dentre as novas funcionalidades do banco de dados Oracle 12c, está o parâmetro TEMP_UNDO_ENABLED . Este parâmetro, conforme a Oracle ” … determina se as transações dentro de uma determinada sessão pode ter um undo log temporário” , diferenciando das versões anteriores de banco de dados, que tinha somente um undo log para cada transação . Assim, efetuando mudanças em objetos temporários – através dos undo log temporários, e objetos permanentes – através dos undo log permanentes.
É um parâmetro que pode ser alterado tanto a nível de sessão , quanto a nível de sistema, com os comandos respectivamente “alter session set temp_undo_enabled=TRUE ” e “alter system set temp_undo_enabled=TRUE”.
Quando habilitado, este parâmetro fornece performance ao banco de dados, pois gera paralelismo (fluxo temporário e fluxo permanente) em operações de undo, causando diminuição, por exemplo, do redo log do banco de dados em questão. Outro fator relevante, é que este parâmetro possui o valor padrão de “FALSE”, como se pode ver no exemplo abaixo:
SQL> show parameter TEMP_UNDO_ENABLED
NAME TYPE VALUE
------------------------------------ ----------- -------
temp_undo_enabled boolean FALSE
SQL> alter session set temp_undo_enabled=TRUE;
Session altered.
— Após a modificação
SQL> show parameter TEMP_UNDO_ENABLED
NAME TYPE VALUE
------------------------------------ ----------- -------
temp_undo_enabled boolean TRUE
Reitera-se, que este parâmetro só é aplicado para database prymary e não standby database, pois neste último, estas operações (similiares do parâmetro TEMP_UNDO_ENABLED = true), é ativado por padrão neste tipo de banco de dados.
Recomendo a leitura deste parâmetro na íntegra.
Espero ter ajudado,
abraços