Pular para o conteúdo

_FIX_CONTROL: Habilitando e desabilitando correções de bugs no Oracle

_FIX_CONTROL

Na versão 10.2.0.2 do banco de dados Oracle, surgiu um parâmetro oculto chamado _FIX_CONTROL, que pode ser usado para habilitar ou desabilitar certas correções de bugs.

Este parâmetro é mais comumente associado ao otimizador, mas pode também ser usado em problemas de outras áreas.

Lembre-se que por se tratar de um parâmetro oculto, deve ser modificado apenas com apoio do suporte da Oracle.

Mas por que eu desabilitaria a correção de um bug ?

A resposta é simples, as vezes, a correção de um bug específico pode ter efeitos colaterais e  causar outros problemas.

Também devemos levar em consideração, que algumas correções não são ativadas por default.

A lista completa dos números de bugs pode ser encontrada nas seguintes visões:

select * from V$SYSTEM_FIX_CONTROL;
_FIX_CONTROL
select * from V$SESSION_FIX_CONTROL

A coluna VALUE, mostra o estado corrente do bug fix:

0 = desativado

1 = ativado

Lembre-se de verificar se a coluna OPTIMIZER_FEATURE_ENABLE está de acordo com o seu parâmetro de banco OPTIMIZER_FEATURES_ENABLE.

Para desabilitar:

ALTER SESSION SET "_fix_control"='12864791:OFF';

ALTER SESSION SET "_fix_control"='12864791:0';

Para habilitar:

ALTER SESSION SET "_fix_control"='12864791:ON';

ALTER SESSION SET "_fix_control"='12864791:1';

Múltiplos:

ALTER SESSION SET "_fix_control"='12864791:OFF','12605402:OFF';

A nível de sistema:

ALTER SYSTEM SET "_fix_control"='12864791:OFF','12605402:OFF';

Para um SELECT específico, podemos utilizar o hintOPT_PARAM:

SELECT /*+ OPT_PARAM('_fix_control' '12864791:OFF') */ *
FROM   ...

Referências:

  • init.ora Parameter “_FIX_CONTROL” [Hidden] Reference Note (Doc ID 567171.1)

Abraço

Alex Zaballa

Alex Zaballa

Alex Zaballa, formado em Análise de Sistemas, é especialista em Banco de Dados Oracle com sólidos conhecimentos em Servidores de Aplicação e Sistemas Operacionais; trabalha com Oracle há 15 anos, é ORACLE ACE Director, certificado OCM Database 11G / Cloud e conta com mais de 140 outras certificações em produtos da Oracle. Alex também é um dos fundadores do Grupo de Usuários Oracle de Angola (GUOA), participa do Grupo de Usuários de Tecnologia Oracle Brasil (GUOB) e é membro do time OraWorld.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

plugins premium WordPress