segunda-feira, 19 de fevereiro de 2018

Verificando os valores dos parâmetros de outra sessão - parte 2

Olá pessoal,

Conforme prometido, segue a parte 2 do post realizado na semana passada.

Para verificar os parâmetros alterados em outra sessão(mesmo os que não tem relação com o otimizador), podemos utilizar o ORADEBUG.

Para nosso teste, vamos iniciar uma sessão no Oracle e alterar o parâmetro "ddl_lock_timeout":



Feito isso, vamos descobrir qual o ID desse processo no SO:




Agora podemos utilizar o comando "oradebug dump modified_parameters 1":




Verificando o arquivo gerado:



sexta-feira, 16 de fevereiro de 2018

Verificando os valores dos parâmetros de outra sessão - parte 1

Olá pessoal,

Hoje fizeram outra pergunta interessante!

Como eu faço para saber se algum parâmetro do otimizador de outra sessão do Oracle foi alterado?

Existe uma view chamada V$SES_OPTIMIZER_ENVque é uma das formas de obter essa informação.



Vamos abrir uma nova sessão e alterar o parâmetro "optimizer_features_enable":



Para verificar se existe algum parâmetro alterado em outra sessão, podemos utilizar o SELECT abaixo:

SELECT
    ses.sid,
    ses.serial#,
    ses_alter.name,
    ses_alter.value value_ses,
    orig.value value_db
FROM
    v$ses_optimizer_env ses_alter,
    v$sys_optimizer_env orig, 
    v$session ses 
WHERE ses.sid=69
  and ses.sid = ses_alter.sid   
  and ses_alter.id = orig.id
  and ses_alter.value < > orig.value;





Ok, mas e se o parâmetro alterado não tiver relação com o otimizador ?

Esse será o assunto do próximo post :)




quarta-feira, 14 de fevereiro de 2018

Verificando os possíveis valores para um parâmetro do Oracle Database

Olá pessoal,

Hoje me questionaram sobre uma forma de verificar todos os valores possíveis para um parâmetro do Oracle sem precisar consultar a documentação.

Existe uma view chamada V$PARAMETER_VALID_VALUES que fornece essa informação.





A limitação desta view é que ela apenas nos mostra os valores dos parâmetros "suportados".

E se eu quiser saber os valores de um parâmetro oculto?

Para isso existe a X$KSPVLD_VALUES.




P.S. Não altere nenhum parâmetro oculto em produção sem o apoio do suporte da Oracle ou sem saber realmente o que você está fazendo.